DataGuard需要使用強制日誌的理由
如果在Primary資料庫執行了無日誌操作,則DataGuard會發生如下錯誤:
當產生此錯誤時,可按如下方式解決:
在Standby資料庫上,
1. 停止應用重做
點選(此處)摺疊或開啟
2. 對受影響的資料檔案,使其離線
3. 重新開始應用重做資料
在Primary資料庫上:
4. 用RMAN備份受影響的資料檔案,並複製到Standby資料庫,替換受影響的檔案。
5. 停止應用重做資料,指令碼同(1)
6. 使之前離線的資料檔案重新線上:
7. 重新應用重做資料,指令碼同(3)
無日誌操作能加快寫入速度,如果確有實際需求,考慮下列幾種不同的強制級別:
1)資料庫級別:
2) 表空間級別:
注意:這會給切換和故障轉移帶來麻煩。
3)表級別:不推薦!
檢查是否有無日誌操作
在Primary資料庫上主動檢查:
NAME
--------------------------------------------------------------------------------
UNRECOVERABLE_CHANGE# TO_CHAR(UNRECOVERABLE_TIME,'DD-MON-YYYYHH:MI:SS')
--------------------- ----------------------------------------------------------
/oradata/shanghai/users01.dbf
0
/oradata/shanghai/soe01.dbf
1170680 22-DEC-2014 01:39:28
上例中,soe01.dbf資料檔案有無日誌操作。
在Standby資料庫,可用dbv工具檢查資料檔案
如果有無日誌操作,則顯示如下報錯:
點選(此處)摺疊或開啟
-
ORA-01578: ORACLE data block corrupted (file # 10, block # 514)
-
ORA-01110: data file 3: '+data/Matrix_DR0/datafile/users.278.56783987'
- ORA-26040: Data block was loaded using the NOLOGGING option
在Standby資料庫上,
1. 停止應用重做
點選(此處)摺疊或開啟
- ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
點選(此處)摺疊或開啟
- ALTER DATABASE DATAFILE <name> OFFLINE DROP;
點選(此處)摺疊或開啟
- ALTER DATABASE RECOVER MANAGED STANDBY DATABASE [using current logfile] DISCONNECT;
4. 用RMAN備份受影響的資料檔案,並複製到Standby資料庫,替換受影響的檔案。
5. 停止應用重做資料,指令碼同(1)
6. 使之前離線的資料檔案重新線上:
點選(此處)摺疊或開啟
- ALTER DATABASE DATAFILE <NAME> ONLINE;
無日誌操作能加快寫入速度,如果確有實際需求,考慮下列幾種不同的強制級別:
1)資料庫級別:
點選(此處)摺疊或開啟
- ALTER DATABASE FORCE LOGGING;
點選(此處)摺疊或開啟
- ALTER TABLESPACE <NAME> FORCE LOGGING;
3)表級別:不推薦!
檢查是否有無日誌操作
在Primary資料庫上主動檢查:
點選(此處)摺疊或開啟
-
SELECT NAME, UNRECOVERABLE_CHANGE#,
-
TO_CHAR(UNRECOVERABLE_TIME,'DD-MON-YYYY HH:MI:SS')
- FROM V$DATAFILE;
NAME
--------------------------------------------------------------------------------
UNRECOVERABLE_CHANGE# TO_CHAR(UNRECOVERABLE_TIME,'DD-MON-YYYYHH:MI:SS')
--------------------- ----------------------------------------------------------
/oradata/shanghai/users01.dbf
0
/oradata/shanghai/soe01.dbf
1170680 22-DEC-2014 01:39:28
在Standby資料庫,可用dbv工具檢查資料檔案
點選(此處)摺疊或開啟
- dbv file=soe01.dbf
點選(此處)摺疊或開啟
-
DBV-00201: Block, DBA 223776, marked corrupt for invalid redo application
-
-
DBV-00201: Block, DBA 223777, marked corrupt for invalid redo application
-
-
DBV-00201: Block, DBA 223778, marked corrupt for invalid redo application
-
- DBV-00201: Block, DBA 223779, marked corrupt for invalid redo application
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-1376007/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DataGuard日誌傳輸模式模式
- 強制日誌切換和歸檔當前的重做日誌的命令的區別
- 【DataGuard】Oracle DataGuard 日誌傳輸狀態監控Oracle
- Dataguard從庫日誌不同步的原因
- DATAGUARD中手工處理日誌GAP
- dataguard之物理standby 日誌切換
- 使用canal偷取MySQL的二進位制日誌MySql
- svn 提交程式碼時強制錄入日誌設定
- [zt] 設定ARCHIVE_LAG_TARGET 強制日誌切換Hive
- mysql 日誌之二進位制日誌MySql
- oracle10g DataGuard的日誌傳輸方式Oracle
- 在DATAGUARD中手工處理日誌GAP的方法
- 【聽海日誌】之DATAGUARD新增redo log
- Java日誌:您需要了解的4種日誌型別Java型別
- ASH記憶體強制Flush日誌解決一例記憶體
- 大家推薦哪個 golang 的日誌框架,說說理由?Golang框架
- 10G DATAGUARD增加REDO日誌組、刪除日誌組、刪除日誌成員實驗
- mysql的二進位制日誌MySql
- mysql之 日誌體系(錯誤日誌、查詢日誌、二進位制日誌、事務日誌、中繼日誌)MySql中繼
- 關於11G DataGuard 日誌傳輸的案例
- DATAGUARD_standby刪除歸檔日誌的指令碼指令碼
- DataGuard備庫刪除已經應用的日誌
- DATAGUARD手工註冊歸檔日誌(轉載)
- 【DATAGUARD】手工恢復備庫日誌中斷
- oracle dataguard 自動刪除歸檔日誌Oracle
- mixed模式下的binlog二進位制日誌解析,需要加-v引數模式
- 由於域名解析引起的dataguard傳輸日誌故障
- AIX強制關機需要謹慎AI
- dataguard的啟動和應用歸檔日誌的語句
- 如何在DATAGUARD中新增刪除聯機日誌
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- MySQL二進位制日誌MySql
- mysql 二進位制日誌MySql
- 五個不需要使用大資料的理由!大資料
- oracle rman備份歸檔日誌需要先切換日誌嗎Oracle
- 監聽狀態對dataguard及其日誌傳輸的影響
- ORACLE DATAGUARD中手工處理日誌v$archive_GAP的方法OracleHive
- 小知識:設定archive_lag_target引數強制日誌切換Hive