nologging對備庫的影響
要麼主庫上的DML使用了nologging關鍵字,要麼是objects建立時指定了nologging選項;同時如果主庫需要使用包含nologging操作的日誌恢復,同樣會遇到類似錯誤
可以透過在主庫開啟force logging避免類似麻煩
邏輯備庫
sql apply會停止,並報告ora-16211: unsupported record found in the archived redo log
可以透過DBMS_LOGSTDBY.INSTANTIATE_TABLE從主庫手工同步
物理備庫
受影響的資料檔案會被標示為unrecoverable,同時alert log會紀錄類似錯誤資訊
ORA-01578: ORACLE data block corrupted (file # 1, block # 2521)
ORA-01110: data file 1: '/oracle/dbs/stdby/tbs_1.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option
1 確認哪些資料檔案受到影響
SELECT NAME, UNRECOVERABLE_CHANGE# FROM V$DATAFILE;--主庫
NAME UNRECOVERABLE
----------------------------------------------------- -------------
/oracle/dbs/tbs_1.dbf 5216
/oracle/dbs/tbs_2.dbf 0
/oracle/dbs/tbs_3.dbf 0
/oracle/dbs/tbs_4.dbf 0
SELECT NAME, UNRECOVERABLE_CHANGE# FROM V$DATAFILE;--備庫
NAME UNRECOVERABLE
----------------------------------------------------- -------------
/oracle/dbs/stdby/tbs_1.dbf 5186
/oracle/dbs/stdby/tbs_2.dbf 0
/oracle/dbs/stdby/tbs_3.dbf 0
/oracle/dbs/stdby/tbs_4.dbf 0
如果主庫的UNRECOVERABLE_CHANGE#大於備庫同條記錄的值,則可以將其copy到備庫
2 copy資料檔案
可以透過rman的copy命令,或者begin backup進行熱copy
3 開啟備庫應用
有可能會遇到以下錯誤
ORA-00308: cannot open archived log 'standby1'
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/oracle/dbs/stdby/tbs_1.dbf'
一般是因為archive gap導致的
如果主庫執行了unrecoverable的DML操作,則需要確認是否對其執行備份
SELECT UNRECOVERABLE_CHANGE#,TO_CHAR(UNRECOVERABLE_TIME, 'mm-dd-yyyy hh:mi:ss') FROM V$DATAFILE;
如果返回的時間值比最近備份的時間晚,則需要再做一次備份
前段時候碰到過類似的案例,不過是發生在主庫,當時曾經發個帖向maclean求助
Oracle: RAC 10.2.0.5, 生產庫
OS: AIX
症狀:alertlog顯示如下
Mon Mar 05 22:02:32 GMT+08:00 2012GATHER_STATS_JOB encountered errors. Check the trace file.
Mon Mar 05 22:02:32 GMT+08:00 2012Errors in file /u001/app/oracle/admin/justin/bdump/justin1_j000_27525252.trc:
ORA-01578: ORACLE data block corrupted (file # 1024, block # 497129)
ORA-01110: data file 8: '/s102/justin/CMX_INDX1.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option
其中trace檔案大致為
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
*** 2012-03-05 22:00:16.032
WARNING:Could not lower the asynch I/O limit to 256 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 224 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
*** 2012-03-05 22:02:32.085
ORA-01578: ORACLE data block corrupted (file # 1024, block # 497129)
ORA-01110: data file 8: '/s102/justin/C_INDX1.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option
*** 2012-03-05 22:02:32.103
GATHER_STATS_JOB: GATHER_TABLE_STATS('"JUSTIN"','"C_SEJ"','""', ...)
ORA-01578: ORACLE data block corrupted (file # 1024, block # 497129)
ORA-01110: data file 8: '/s102/justin/CMX_INDX1.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option
檢視v$database_block_corruption,返回3000多行且corruption_type為unknown
MOS上有相關文件ID 794505.1
執行
select distinct e.owner,e.segment_type,e.segment_name from dba_extents e, v$database_block_corruption c
where c.file# = e.file_id
and c.block# between e.block_id and e.block_id + e.blocks;
返回2000多行,且全為index
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-718438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 主庫resetlogs對備庫的影響
- Nologging操作對standby的影響 (zt)
- 【DATAGUARD 學習】管理影響備庫的主庫事件事件
- 表的nologging和logging屬性對資料庫redo資料生成的影響資料庫
- OS和資料庫版本不同對RMAN備份還原的影響資料庫
- rman開啟備份優化對備份歸檔的影響優化
- 磁碟排序對Oracle資料庫效能的影響排序Oracle資料庫
- 測試truncate,delete 對rman 備份集大小的影響delete
- 磁碟排序對Oracle資料庫效能的影響PT排序Oracle資料庫
- 容器化對資料庫的效能有影響嗎?資料庫
- 變更OS時間對資料庫的影響資料庫
- 執行緒數目對資料庫的影響執行緒資料庫
- 【Oracle】-【COMMIT對索引的影響】-從trace看COMMIT對索引的影響OracleMIT索引
- shrink 操作對索引的影響索引
- Update操作對索引的影響索引
- Oracle 11g 測試停庫對job的影響Oracle
- 聊聊虛擬化和容器對資料庫的影響資料庫
- Postgresql MVCC架構對從庫長查詢的影響SQLMVC架構
- 修改系統時間對oracle資料庫的影響Oracle資料庫
- RMAN備份恢復之歸檔日誌對BLOCKRECOVER的影響BloC
- Backup And Recovery User's Guide-備份RMAN備份-備份保留期對備份的備份的影響GUIIDE
- unusable index對DML/QUERY的影響Index
- Arraysize 對consistent get的影響
- mysql event對主從的影響MySql
- 新增欄位對SQL的影響SQL
- 語言對思維的影響
- 關於資料庫開啟大頁對效能的影響資料庫
- Oracle-DG最大保護模式下,dg備庫出現問題對主庫有什麼影響?Oracle模式
- nid 對RMAN備份的影響--- 控制檔案中備份記錄全部丟失
- “影響者研究”系列(一):社會網路化時代影響者對營銷創新的影響
- 絕對定位對margin外邊距的影響
- shrink 與rebuild對索引高度的影響對比Rebuild索引
- NVM作為主存上對資料庫管理系統的影響資料庫
- 【Mysql】master_info 與 relay_info對資料庫的影響MySqlAST資料庫
- ORM框架和資料庫對系統效能影響的比較ORM框架資料庫
- 遊戲暗示對於遊戲玩家的影響遊戲
- INDEX建立方式對SQL的影響IndexSQL
- 關於OPcache對Swoole影響的理解opcache