dataguard資料庫壞塊自動修復

2021-08-09 09:56:06 字數 1341 閱讀 4758

在dg環境中資料庫的壞塊是可以自動修復的。

主庫建立測試表

select distinct dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from scott.test;

dbms_rowid.rowid_relative_fno(rowid) dbms_rowid.rowid_block_number(rowid)

6                      131
dd if=/dev/zero of=/data/dbadb/ts.dbf bs=8192 count=1 seek=131 conv=notrunc

執行後,再次檢視測試表

sql> alter system flush buffer_cache;

system altered.

sql> select count(*) from scott.test;

count(*)

----------

32

檢視alert日誌

corrupt block relative dba: 0x01800083 (file 6, block 131)

completely zero block found during buffer read

reading datafile 『/data/dbadb/ts.dbf』 for corruption at rdba: 0x01800083 (file 6, block 131)

reread (file 6, block 131) found same corrupt data (no logical check)

starting background process abmr

mon oct 16 17:34:41 2017

abmr started with pid=31, os id=12409

automatic block media recovery service is active.

automatic block media recovery requested for (file# 6, block# 131)

mon oct 16 17:34:41 2017

automatic block media recovery successful for (file# 6, block# 131)

automatic block media recovery successful for (file# 6, block# 131)

在單例項上是不會自動修復的

資料庫壞塊的處理

當 oracle 資料庫出現壞塊時,oracle 會在警告日誌檔案 alert sid.log 中記錄壞塊的資訊 ora 01578 oracle data block corrupted file 7,block ora 01110 data file oracle1 oradata v920 o...

資料庫oracle中的dataguard

dataguard提供了三種模式 1.最大保護模式 1 這種模式提供了最高端別的資料保護能力 2 要求至少乙個物理備庫收到重做日誌後,主庫的事務才能夠提交 3 主庫找不到合適的備庫寫入時,主庫會自動關閉,防止未受保護的資料出現 4 優點 該模式可以保證備庫沒有資料丟失 5 缺點 主庫的自動關閉會影響...

處理Oracle資料庫中的壞塊

一 什麼是資料庫的壞塊 首先我們來大概看一下資料庫塊的格式和結構 資料庫的資料塊有固定的格式和結構,分三層 cache layer,transaction layer,data layer。在我們對資料塊進行讀取寫入操作的時候,資料庫會對要讀寫的資料塊做一致性的檢查,其中包括 資料塊的型別 資料塊的...