1. 程式人生 > >DG不同步,MRP0進程打不開

DG不同步,MRP0進程打不開

selected 空間滿了 我想 media 昨天 重做 忘記 ora com

    問題描述:主庫備庫之前正常連接,但是昨天磁盤空間滿了之後,由於不知什麽原因將備庫重做日誌刪了,今天早上發現DG不同步的報警。

  當時思路如下:1、通過select thread#,low_sequence#,high_sequence# from v$archive_gap; 查看是否有歸檔沒有傳到備庫上去,當時查詢結果為 no rows selected。表示主備庫歸檔日誌都是同步的。

         2、然後select sequence#,creator,archived,applied from v$archived_log ;查看備庫的日誌是不是都有應用到主庫上面去。結果如下:

技術分享圖片

          原因就是備庫的歸檔日誌沒有應用到備庫上面。然後我使用alter database recover managed standby database disconnect from session.來啟動應用日誌。但結果就是沒有MRP0進程。

          也不能通過alter database recover managed standby database cancel;來取消應用日誌,他會報沒有恢復備庫的錯誤。

          然後通過查看警告日誌。

技術分享圖片

          發現是因為重做日誌不知道什麽時候被刪除了。

          然後首先通過alter system set standby_file_management=‘manual‘;將該參數設為手動的。

          通過 ALTER DATABASE RENAME FILE ‘/u1/oradata/FTNFUSE1/redo01a.log‘ to ‘/u1/oradata/FTNFUSE1/redo1a.log‘;

          現將日誌重命名,這樣可以在指定的路徑生成日誌文件,再通過alter database clear logfile group 1,

          將日誌組1的狀態改為clearing。

          通過select GROUP#,members,BYTES/1024/1024 size_M,STATUS,ARCHIVED from v$log; 查詢日誌組的狀態及大小。

          3、這是重做日誌建好了,執行alter system set standby_file_management=‘auto‘將參數改為自動的。

          然後執行alter database recover managed standby database disconnect from session.打開應用日誌,

          通過執行 select process,sequence#,status from v$managed_standby;發現MRP0進程還是沒有開啟。

          只有又去看警告日誌。

技術分享圖片 

          發現其中一行報的是恢復 Media Recovery Log /u2/arch/1_3775_947332915.dbf 出現錯誤。

          我想著主庫的這個歸檔文件應該是沒問題的,將主庫的歸檔文件拷貝到備庫,然後在通過

          alter database recover managed standby database disconnect from session.打開應用日誌。

          通過執行 select process,sequence#,status from v$managed_standby查看各個進程是不是正常的。結果正常。

           技術分享圖片

          圖中是將歸檔日誌復制過來之後,註冊日誌的。因為已經註冊過了,所以會報這個錯誤。但是如果這個日誌文件是壞的,那麽他就會報其他錯誤,當時忘記截圖了。

          select message from v$dataguard_status;也可以查看信息

                    

          

DG不同步,MRP0進程打不開