89、Standby數據庫常見錯誤處理

 

1、執行:alter database recover managed standby database disconnect from session;
後臺alert文件報錯如下:
Errors in file /u01/oracle/admin/primary/bdump/primary_mrp0_2967.trc:
ORA-19527: physical standby redo log must be renamed
ORA-00312: online log 1 thread 1: '/u01/oracle/oradata/primary/redo01.log'

出現這個錯誤是因爲oracle爲了降低不小心清空主庫聯機日誌的風險而引起的。
oracle不知道你的主備庫分別是分別在一臺機器上還是不同的機器上,如果是在相同的機器上,則有可能不小心把主庫的聯機清空了。

如果是先在主庫switch logfile後,再alter database recover managed standby database disconnect from session;還會有如下報錯:
Errors in file /u01/oracle/admin/primary/bdump/primary_mrp0_2967.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/oracle/oradata/primary/redo01.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3

這個錯誤會在10g出現,9i是不會出現的。因爲做switch over的時候需要清空聯機日誌,在10g中,oracle爲了加快swich over的速度,在恢復過程中清空備庫的聯機日誌。

在最初創建備庫時並沒有redologs , 要指定參數 log_file_name_convert 後,重新alter database recover managed standby database disconnect from session; 後就進程會自動創建redo文件。

以上兩個問題可以看作是一個問題,解決方法是在備庫設置log_file_name_convert即可,如:
log_file_name_convert='/u01/primary/','/u01/primary/'

注意:即使是在目錄結構完全一樣的主備庫中這個錯誤也會出現。

2、
執行:alter database recover managed standby database cancel;
後臺alert文件有如下錯誤:
Errors in file /u01/oracle/admin/primary/bdump/primary_mrp0_2967.trc:
ORA-16037: user requested cancel of managed recovery operation
Recovery interrupted!
這個錯誤是正常的,不用在意。

3、Errors in file /opt/u01/app/oracle/admin/ora8/bdump/ora8_arc1_27096.trc:
ORA-16401: archivelog rejected by RFS

ORA-16401: archivelog rejected by RFS
Cause: An attempt was made to re-archive an existing archivelog. This usually happens because either a multiple primary database or standby database(s) or both are trying to archive to this standby database.
Action: See alert log and trace file for more details. No action is necessary; this is an informational statement provided to record the event for diagnostic purposes.

屬於正常信息,通過觀察備機的日誌發現,redo還是被應用了。
如:
Thu Oct 16 15:18:44 2008
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[6]: Assigned to RFS process 14001
RFS[6]: Identified database type as 'physical standby'
RFS[6]: Archivelog thread 1 sequence 7616 cannot be reused
Thu Oct 16 15:18:44 2008
Errors in file /u01/app/oracle/admin/ora8/udump/ora8_rfs_14001.trc:
ORA-16401: archivelog rejected by RFS
Thu Oct 16 15:19:14 2008
Media Recovery Log /opt/archive/1_7616_652298303.arc
Media Recovery Waiting for thread 1 sequence 7617 (in transit)



4、
Errors in file /u01/oracle/admin/primary/udump/primary_rfs_3380.trc:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/primary/standbyredo04.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Sun Jun 24 15:36:05 2007
Errors in file /u01/oracle/admin/primary/udump/primary_rfs_3380.trc:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 4 thread 1: '/u01/oracle/oradata/primary/standbyredo04.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
.......
......
Sun Jun 24 15:36:05 2007
Errors in file /u01/oracle/admin/primary/udump/primary_rfs_3380.trc:
ORA-00313: open failed for members of log group 7 of thread 1
ORA-00312: online log 7 thread 1: '/u01/oracle/oradata/primary/standbyredo7.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Sun Jun 24 15:36:05 2007
Errors in file /u01/oracle/admin/primary/udump/primary_rfs_3380.trc:
ORA-00313: open failed for members of log group 7 of thread 1
ORA-00312: online log 7 thread 1: '/u01/oracle/oradata/primary/standbyredo7.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
RFS[1]: Unable to open standby log 7: 313
RFS[1]: No standby redo logfiles created
RFS[1]: Archived Log: '/u01/archivelog/1_12_626106231.dbf'
Sun Jun 24 15:36:07 2007
Redo Shipping Client Connected as PUBLIC

出現這個錯誤主要是因爲在備份前主庫創建了standby redo log,備庫是根據主庫的信息創建的,一開始它是包含了主庫的standby redo log信息,如果主庫設置的日誌傳送方式是LGWR,當主庫發生日誌切換時,備庫的RFS會嘗試使用standby redo log來存儲主庫傳送過來的日誌,因爲此時備庫實際上是不存在standby redo log的,所以備庫會報錯。當備庫嘗試打開字典信息的所有standby redo log失敗以後,備庫會自動把日誌傳送方式轉爲ARCN,並同時清除數據字典中的standby redo log信息。

下面是清除standby redo log信息前的數據字典信息:
SQL> select * from v$logfile;

GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- ------------------------------------------------------------ ---
1 ONLINE /u01/oracle/oradata/primary/redo01.log NO
2 ONLINE /u01/oracle/oradata/primary/redo02.log NO
3 ONLINE /u01/oracle/oradata/primary/redo03.log NO
4 STANDBY /u01/oracle/oradata/primary/standbyredo04.log NO
5 STANDBY /u01/oracle/oradata/primary/standbyredo5.log NO
6 STANDBY /u01/oracle/oradata/primary/standbyredo6.log NO
7 STANDBY /u01/oracle/oradata/primary/standbyredo7.log NO

7 rows selected.

下面的信息是在備庫嘗試打開standby redo log後的數據字典信息:

SQL> select * from v$logfile;

GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- ------------------------------------------------------------ ---
1 ONLINE /u01/oracle/oradata/primary/redo01.log NO
2 ONLINE /u01/oracle/oradata/primary/redo02.log NO
3 ONLINE /u01/oracle/oradata/primary/redo03.log NO

注意的是:當你在備庫添加了standby redo log後,oracle在下一次日誌切換時會重新用LGWR傳送日誌。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章