standby缺失primary歸檔,手工同步恢復
由於誤刪physical standby上來自primary db的歸檔日誌,physical standby缺少還未應用到的archive log。
此時,primary db也沒有歸檔。考慮除了重建 standby外的其他方法。因為備份中保留壓縮備份後的歸檔備份,所以,嘗試從備份中恢復了archive log,然後實驗了一下手工recover。期間發現standby的control file中沒有backup set的資訊(有archive log的),以前沒注意過這個,在此記錄一下。此外,切換成自動模式後,報 Failed to request gap sequence,其實gap的都已經存在在standby上了。這裡需要手工註冊。
恢復archive log到預設位置
RMAN>RESTORE ARCHIVELOG FROM SEQUENCE 13042 UNTIL SEQUENCE 13119;
(或 RMAN>RESTORE ARCHIVELOG FROM SEQUENCE 13042;)
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> RECOVER AUTOMATIC STANDBY DATABASE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
standby上註冊
ALTER DATABASE REGISTER LOGFILE '/data/archive/test/1_12844_690562326.dbf';
---附上一個批次生成
select 'ALTER DATABASE REGISTER LOGFILE ''/data/archive/test/1_'||(rownum+12844 )||'_690562326.dbf'';'
from all_objects
where rownum <= 98;
另,來自http://zhaolinjnu.blog.sohu.com/55088738.html
除了上面的automatic方式,也可以執行recover cancel的恢復方式:
SQL> RECOVER STANDBY DATABASE UNTIL CANCEL;
這種方式有一個好處是,可以應用聯機日誌資訊,有時主庫因為儲存損壞,可以複製本地硬碟的聯機日誌到備用庫,而複製的這些聯機日誌存放的地方也不是資料庫預設的地方,如果讓oracle自動恢復,它會找不到這些聯機日誌,這時就需要手動指定聯機日誌的路徑,讓其恢復。待恢復完成,可以強制啟用備用庫。
以上兩種手動恢復模式automatic和 CANCEL都不需要對歸檔日誌進行註冊,自動管理恢復模式 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION 是需要的
檢視相關資訊,來自http://space.itpub.net/308563/viewspace-198067
SQL> SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY;
PROCESS STATUS
--------- ------------
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_GAP
SQL> select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 5330 5331
ON PRIMARY:
SQL> SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY;
PROCESS STATUS
--------- ------------
ARCH CLOSING
ARCH CLOSING
LGWR CLOSING
SQL> SHOW PARAMETER ARCHIVE
log_archive_dest_2 string SERVICE=STANDBY affirm lgwr ma
x_failure=1 noreopen net_timeout=60
SQL> select message from v$dataguard_status;
MESSAGE
--------------------------------------------------------------------------------
ORA-16198: LGWR received timedout error from KSR
LGWR: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (16198)
LGWR: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
LGWR: Network asynch I/O wait error 16198 log 2 service 'STANDBY'
ARC1: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (3135)
ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
PING[ARC1]: Error 3135 when pinging standby STANDBY.
LGWR: Failed to archive log 2 thread 1 sequence 5330 (16198)
LGWR: Closing remote archive destination LOG_ARCHIVE_DEST_2: 'STANDBY' (error 16
198)
SQL> SELECT PROCESS,STATUS FROM V$MANAGED_STANDBY;
PROCESS STATUS
--------- ------------
ARCH CLOSING
ARCH OPENING
LGWR WRITING
SQL> create or replace directory ARCHDIR as '+dgarch/wms/archivelog/2008_02_29';
Directory created.
SQL> create or replace directory TEMPDIR as '/exp/tmparch';
Directory created.
SQL> exec DBMS_FILE_TRANSFER.COPY_FILE('ARCHDIR','thread_1_seq_5331.291.647960215','TEMPDIR','1_5331_620945476.arc');
PL/SQL procedure successfully completed.
SQL> exec DBMS_FILE_TRANSFER.COPY_FILE('ARCHDIR','thread_1_seq_5330.304.647958993','TEMPDIR','1_5330_620945476.arc');
PL/SQL procedure successfully completed.
其它,primary/standby環境:
x86_64
linux
oracle 10.2.0.4.0
記於2010年11月16日
最後更新 2010年12月27日
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23650854/viewspace-682649/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DG歸檔日誌缺失恢復
- 手工ftp拷貝歸檔及指令碼自動恢復Standby方式FTP指令碼
- Oracle RAC Standby 恢復歸檔numuber錯亂Oracle
- 手工恢復控制檔案
- Oracle 9i Logical Standby與Physical standby歸檔恢復區別Oracle
- Production DB expdp 導致standby歸檔恢復時混亂
- Oracle控制檔案在缺失歸檔日誌的情況下的恢復Oracle
- 判斷standby日誌是否同步primary
- standby庫,在sqlplus下用recover standby database進行手工恢復SQLDatabase
- [zt] 手工處理Standby 歸檔間隔(gap)的問題
- 恢復之非歸檔模式下的恢復模式
- rman datafile恢復(歸檔模式)模式
- Standby OS i/o問題導致Primary 庫不能正常歸檔問題
- Oracle 11g 手工不完全恢復 場景1:被動的不完全恢復(日誌缺失)Oracle
- DG中用STANDBY的資料檔案恢復PRIMARY對應資料檔案的方法中要注意的問題
- 無備份恢復(歸檔模式)模式
- ORACLE非歸檔下的恢復Oracle
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- 恢復案例:無歸檔,掉電,控制檔案全部丟失恢復
- Oracle手工完全恢復案例Oracle
- 恢復案例:歸檔模式下丟失全部資料檔案的恢復模式
- 恢復案例:無歸檔,丟失全部控制檔案、日誌檔案恢復案例
- data guard 歸檔日誌管理 (primary)
- 非歸檔模式恢復資料庫模式資料庫
- Data Guard跳歸檔恢復的案例
- 只有冷備和歸檔,能否恢復?
- 恢復歸檔日誌檔案的常用方法
- 手工清除歸檔處理歸檔空間滿
- standby database to primary database.Database
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式
- rman恢復--歸檔模式無備份,丟失資料檔案的恢復模式
- 【備份恢復】非歸檔模式下丟失任意資料檔案 恢復操作模式
- oracle dg 歸檔日誌恢復情況Oracle
- 基於歸檔的冷備份恢復
- 無歸檔日誌恢復rman資料
- 備庫跳歸檔恢復的有趣案例
- 冷備份+歸檔日誌的恢復
- 缺少歸檔導致不完整恢復