Oracle
Oracle 11gR2 還原和恢復數據庫後,“ghost” NOLOGGING 損壞塊
我最近恢復(從完整的 0 級冷備份)
ARCHIVELOG
數據庫並將其恢復到備份後大約 24 小時的時間點。我跑了RMAN validate
,許多街區出現V$DATABASE_BLOCK_CORRUPTION
了腐敗的NOLOGGING
. 這是預料之中的,因為數據庫有頻繁的NOLOGGING
載入操作。遊戲計劃是將V$DATABASE_BLOCK_CORRUPTION
塊映射到段(表分區),截斷分區,並從源文件重放這些數據集的負載。在大多數情況下,這非常有效。大多數條目
V$DATABASE_BLOCK_CORRUPTION
直接映射到冷備份後NOLOGGING
會通過載入的表分區。INSERT /*+APPEND*/
Only wrench:
V$DATABASE_BLOCK_CORRUPTION
顯示大約 100 個NOLOGGING
損壞的塊,這些塊與其中的任何條目都不匹配DBA_EXTENTS
(它們可能是未使用的塊)。
- 知道是什麼原因導致這些塊損壞嗎?
2)由於它們沒有映射到使用中的任何範圍,我可以安全地忽略它們嗎?
3)強迫症問題:如果這些塊沒有問題,有沒有辦法清除它們
V$DATABASE_BLOCK_CORRUPTION
?
- 據推測,它們中曾經有數據,此後已被刪除。
- 如果損壞的塊在空閒空間中,則無需採取任何措施。Oracle 將在嘗試使用該空間時重新格式化該塊。因此,您可以忽略警報。
- 如果要清除損壞的塊以防止出現更多警報,請在相關表空間中創建一個 nologging 表。插入很多行直到損壞的塊消失,然後刪除表。