ORACLE adg是否正常同步排查


1、檢查主備兩邊的序號
select max(sequence#) from v$log;   ---檢查發現一致
2、備庫執行,查看是否有數據未應用
select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;
select SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 1;
3、檢查備庫是否開啟實時應用
select recovery_mode from v$archive_dest_status where dest_id=2;
4、檢查備庫狀態
select switchover_status from v$database; --發現狀態not allowed
3、看看進程MRP是否存在
 ps aux|grep mrp      --發現進程不存在
 
4、如果不存在執行以下:
alter database recover managed standby database using current logfile disconnect;
alter database recover managed standby database disconnect from session;  --后台執行
alter database recover managed standby database --前台執行,執行這個可以看到報錯的情況
如果有報錯,查看alert日志和log.xml日志 
5、驗證是否正常
select process,status from v$managed_standby;
select process,status,sequence# from v$managed_standby;
如果看到mrp0正常
6、以上步驟處理好后,如果數據還不正常,接着處理
關閉備庫,接着處理:
把主庫上 undotbs01.dbf 文件,物理的重拷到備庫機上以前undotbs01.dbf 所在目錄下;
$scp /data/oracle/oradata/voip/undotbs01.dbf   192.168.122.204:/data/oracle/oradata/voip
再在主庫上重新生成一個standby control file ,拷到備庫機上相應目錄下,
alter database create standby controlfile as '/data/oracle/oradata/voip/qyqdg01.ctl'
$ scp /data/oracle/oradata/voip/qyqdg01.ctl   192.168.122.204:/data/oracle/oradata/voip
$ mv qyqdg01.ctl  control01.ctl
$ cp control01.ctl /data/oracle/flash_recovery_area/qyq/
$ cd /data/oracle/flash_recovery_area/qyq/
$ mv control01.ctl  control02.ctl
接着
STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
--------------------------------------
session恢復完成后,重啟打開備庫;
alter database open read only;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM