主庫增加表空間導致DG同步失敗
問題現象:
由於主庫表空間不足,同事給表空間增加數據文件,第二天收到反饋說備庫未同步。
1、主、備查看歸檔序列號,發現主、備歸檔正常同步。
SQL>archive log list
2、在主庫端查詢v$archived_log視圖,確認日志是否被應用
set lines 300 pages 300 col name for a20 select name,dest_id,thread#,sequence#,standby_dest,applied,registrar,completion_time from v$archived_log where standby_dest='YES' order by thread#,sequence#;
3、在備庫查看接收到的被應用的redo,發現日志未被應用
SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
4、處理方式:
現在備庫中建立了對應的文件夾並賦權
將備庫中STANDBY_FILE_MANAGEMENT選項設定為MANUAL
查找出對應的UNNAMED 文件
將UNNAMED文件重命名為指定需要新建的數據文件
將備庫STANDBY_FILE_MANAGEMENT 恢復設置為auto
同步數據
show parameter STANDBY_FILE_MANAGEMENT ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL; select name from v$datafile where name like '%UNNAMED%';
查詢結果:
/u01/app/oracle/product/11gR2/dbhome_1/dbs/UNNAMED11 /u01/app/oracle/product/11gR2/dbhome_1/dbs/UNNAMED12
alter database create datafile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED11' as '/oradata/xxxxxxx11.dbf'; recover managed standby database disconnect; select name from v$datafile; alter database create datafile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED12' as '/oradata/xxxxxxx12.dbf'; recover managed standby database disconnect; select name from v$datafile;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=auto;
5、備庫啟用apply,接收來自主庫的redo並apply
alter database recover managed standby database using current logfile disconnect from session;
6、取消同步
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
7、備庫再次啟用apply,接收來自主庫的redo並apply
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
8、根據步驟1、2、3進行驗證。