11g數據庫查看dataguard是否同步

1、環境
     主庫:
      ip地址:192.168.122.203
      oracle根目錄:/data/db/oracle
      SID:qyq
      數據文件路徑/data/db/oracle/oradata/qyq
      歸檔文件路徑:/data/db/oracle/archive'
 
     備庫:
      ip地址:192.168.122.204
      oracle根目錄:/data/app/oracle
      SID:qyq
      數據文件路徑/data/app/oracle/oradata/qyq
      歸檔文件路徑:/data/app/oracle/archive'
 
2、備庫不一樣步的問題檢查方法
 

一、檢查主備兩邊的序號
select max(sequence#) from v$log;   ---檢查發現一致session


二、備庫執行,查看是否有數據未應用
select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;oracle

select SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 1;app

三、檢查備庫是否開啓實時應用
select recovery_mode from v$archive_dest_status where dest_id=2;日誌

四、檢查備庫狀態
select switchover_status from v$database; --發現狀態not allowed xml

三、看看進程MRP是否存在
 ps aux|grep mrp      --發現進程不存在進程

四、若是不存在執行如下:
alter database recover managed standby database using current logfile disconnect;ip

alter database recover managed standby database disconnect from session;  --後臺執行同步

alter database recover managed standby database --前臺執行,執行這個能夠看到報錯的狀況flash

若是有報錯,查看alert日誌和log.xml日誌 it

五、驗證是否正常
select process,status from v$managed_standby;
select process,status,sequence# from v$managed_standby;

若是看到mrp0正常

六、以上步驟處理好後,若是數據還不正常,接着處理

關閉備庫,接着處理:
把主庫上 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;


另外附上檢查dg是否正常的幾種方法:

查看DG是否正常的四個方法:
1、看備庫的告警日誌,正在恢復的日誌號是否對應得上

2、看三個進程是否都已經啓動

SQL>select process from v$managed_standby;
在備庫顯示:
ARCH、MRPO和RFS
都有表示正常

在主庫顯示:
PROCESS
---------
ARCH
ARCH
ARCH
ARCH
LNS
沒有RFS進程和MRP進程

3、先切換一第二天志,再進到歸檔目錄裏,看兩邊的歸檔文件號是否對得上
4、用命令查看兩邊歸檔是否對得上
SQL> selectmax(sequence#) from v$archived_log where applied='YES';
相關文章
相關標籤/搜索