Oracle壞塊處理相關
今天下午,遷移資料完成後,再給使用者做rman備份,備份到一半後,報
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on t2 channel at 06/14/2009 15:49:09
ORA-19566: exceeded limit of 0 corrupt blocks for file /ora9idata02/oradata/stjj/ntiis_01.dbf
檢查日誌中發現以下表空間檔案號和塊號
Corrupt block relative dba: 0x1a43d4e3 (file 24, block 359808)
Fractured block found during backing up datafile
Data in bad block -
type: 0 format: 0 rdba: 0x00000000
last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00
consistency value in tail: 0x00000000
check value in block header: 0x0, block checksum disabled
spare1: 0x0, spare2: 0x0, spare3: 0x0
***
然後用dbv檢查發現至少有四,五個壞塊
dbv file=/ora9idata02/oradata/stjj/ntiis_01.dbf blocksize=8192
然後用以下sql檢查,看是什麼物件損壞
SELECT segment_name,segment_type,extent_id,block_id, blocks
from dba_extents t
where
file_id =
AND
一旦找到壞段名稱,若段是一個表,則最好建立一個臨時表,存放好的資料。若段是索引,則刪除它,再重建。
create table good_table
as
select from bad_table where rowid not in
(select rowid
from bad_table where substr(rowid,10,6) =
在這裡要注意8以前的受限ROWID與現在ROWID的差別。
還可以使用診斷事件10231
SQL> ALTER SYSTEM SET EVENTS '10231 trace name context forever,level 10';
建立一個臨時表good_table的表中除壞塊的資料都檢索出來
SQL>CREATE TABLE good_table as select * from bad_table;
最後關閉診斷事件
SQL> ALTER SYSTEM SET EVENTS '10231 trace name context off ';
關於ROWID的結構,還可以參考dbms_rowid.rowid_create函式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-720601/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle壞塊處理Oracle
- ORACLE 壞塊處理Oracle
- Oracle壞塊問題處理Oracle
- oracle corrupt block壞塊處理OracleBloC
- 【BLOCK】Oracle壞塊處理命令參考BloCOracle
- oracle壞塊模擬處理(筆記)Oracle筆記
- Oracle 壞塊處理三板斧Oracle
- Oracle壞塊修復處理實驗Oracle
- rootvg壞塊處理
- 處理塊損壞
- ORACLE資料庫壞塊的處理 (處理無物件壞快的方法)Oracle資料庫物件
- ORACLE資料庫壞塊的處理 (一次壞快處理過程)Oracle資料庫
- 對oracle中出現的壞塊的處理方法Oracle
- ORACLE壞塊(ORA-01578)處理方法Oracle
- DBA實踐---壞塊處理
- 資料庫壞塊處理資料庫
- 一次ORACLE資料庫undo壞塊處理Oracle資料庫
- ORACLE壞塊(ORA-01578)處理方法(zt)Oracle
- 教你如何處理Oracle資料庫中的壞塊Oracle資料庫
- 第7章 處理塊損壞
- BAD Block 壞塊的處理BloC
- 處理 Oracle 塊損壞 (文件 ID 1526911.1)Oracle
- Oracle RMAN備份中對壞塊(corrupt block)的處理OracleBloC
- 一次使用BBED處理壞塊
- 如何處理Oracle資料庫中的壞塊問題(轉)Oracle資料庫
- [zt] 如何處理Oracle資料庫中的壞塊[final]Oracle資料庫
- 壞塊的處理思維(用程式製作壞塊不如用系統)
- Oracle 11.2.0.4.4 ADG 備庫資料檔案壞塊處理Oracle
- bad block表上壞塊的處理BloC
- ORA-01578(資料塊損壞)跳過壞塊處理辦法
- Oracle如何進行塊介質的恢復?(有邏輯壞塊是如何處理)Oracle
- 關於aud$物件相關處理物件
- ORACLE資料庫壞塊的處理 (通過re-create table方法)Oracle資料庫
- solaris10_相關命令_處理器_相關
- 一次壞塊的處理過程(一)
- 一次壞塊的處理過程(二)
- 資料庫壞塊Corrupt block的處理方法資料庫BloC
- 一次壞塊的處理過程 [轉]