oracle dg備庫重建redolog:ora-00313,ora-00312

trace文件:app

Errors in file /crbank/dbs/app/product/diag/rdbms/rdbs/dbs/trace/dbs_mrp0_24445130.trc:日誌

ORA-00313: open failed for members of log group 8 of thread 1code

ORA-00312: online log 8 thread 1: '/crbank/dbs/data/oradata/dbs/redo08.log'flash

ORA-27037: unable to obtain file statusthread

IBM AIX RISC System/6000 Error: 2: No such file or directoryfile

從trace文件能夠看到備庫跟主庫路徑不同,備庫設置了convert參數,這個參數對之後的文件傳輸路徑有效,可是對於已存在的文件就須要手動修改了,包括數據文件,日誌文件,臨時文件等。select

下面介紹 備庫redolog重建步驟:ember

SQL> alter system set standby_file_management=manual;



System altered.



SQL> alter database recover managed standby database cancel;



Database altered.

SQL> alter database drop logfile group 8;

alter database drop logfile group 8

*

ERROR at line 1:

ORA-01156: recovery or flashback in progress may need access to files



SQL> select group#,status,bytes/1024/1024 from v$log;



    GROUP# STATUS           BYTES/1024/1024

---------- ---------------- ---------------

         1 UNUSED                       256

         2 UNUSED                       256

         3 UNUSED                       256

         8 CURRENT                      256

         5 UNUSED                       256

         6 UNUSED                       256

         4 UNUSED                       256


SQL> alter database clear unarchived logfile  '/crbank/dbs/data/oradata/dbs/redolog07.log';

alter database clear unarchived logfile  '/crbank/dbs/data/oradata/dbs/redolog07.log'

*

ERROR at line 1:

ORA-01156: recovery or flashback in progress may need access to files

redolog 8 是當前正在使用的日誌 因此不能直接刪除,因爲是備庫 也不能切換日誌,因此能夠修改日誌路徑:數據

SQL> alter database rename file '/crbank/dbs/oradata/dbs/redo12.log' to '/crbank/dbs/data/oradata/dbs/redolog12.log';  --跟換路徑

SQL> alter database add logfile group 1 '/crbank/dbs/data/oradata/dbs/redolog01.log' size 256m;  --新增另一組日誌

Database altered.

alter system set standby_file_management=auto;  

alter database recover managed standby database using current logfile disconnect;

select process,status,thread#,sequence#,block#,blocks from v$managed_standby where process!='ARCH';
相關文章
相關標籤/搜索