EXP匯出ORA-01578(資料塊損壞)錯誤解決方法

zangqianglei發表於2015-05-06

 錯誤:在 exp 時出現以下錯誤:

    EXP-00056: 遇到 ORACLE 錯誤 1578

    ORA-01578: ORACLE 資料塊損壞(檔案號4,塊號65)

    ORA-01110: 資料檔案 4: ’E:\ORACLE\ORADATA\USERS.DBF’

    措施:

    -- 1. 檢查損壞的物件

    SELECT tablespace_name, segment_type, owner, segment_name

    FROM dba_extents

    WHERE file_id = 4

    and 65 between block_id AND block_id + blocks - 1;

    -- 2. 設定內部事件,使exp跳過損壞的block

    ALTER SYSTEM SET EVENTS=’10231 trace name context forever,level 10’ ;

    -- 3. 匯出表

    exp user1/passwd1 file=t1.dmp tables=t1

    -- 4. 刪除有壞塊的表

    drop table t1 purge;

    -- 5. 匯入表

    imp user1/passwd1 file=t1.dmp tables=t1

    -- 6. 清除跟蹤事件

    ALTER SYSTEM SET EVENTS=’10231 trace name context off’ ;


自己模擬壞塊實驗可以使用ultraedit工具,破壞資料檔案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25954236/viewspace-1626047/,如需轉載,請註明出處,否則將追究法律責任。

相關文章