溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle中ORA-01578和ORA-01110數(shù)據(jù)文件出現(xiàn)壞塊時跳過損壞的塊怎么辦

發(fā)布時間:2021-11-10 11:43:32 來源:億速云 閱讀:1122 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

小編給大家分享一下oracle中ORA-01578和ORA-01110數(shù)據(jù)文件出現(xiàn)壞塊時跳過損壞的塊怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

ORA-01578: ORACLE 數(shù)據(jù)塊損壞 (文件號 4, 塊號 293465)

ORA-01110: 數(shù)據(jù)文件 4: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'

使用命令檢查損壞的是否為普通數(shù)據(jù)。

SELECT tablespace_name, segment_type, owner, segment_name
FROM dba_extents
WHERE file_id = 4
and 293465 between block_id AND block_id + blocks - 1

方法2:
然后用10231該命令設(shè)置全表掃描時跳過壞塊。

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

 也可以alter session在session級中使用,然后通過

create table as select的方式來拯救數(shù)據(jù)(當(dāng)然會有數(shù)據(jù)損失)。
比對問題表和新表數(shù)據(jù)條數(shù),查看丟失數(shù)據(jù)條數(shù)

exp 導(dǎo)出新表數(shù)據(jù)
drop table t1 purge; 徹底刪除問題表
imp導(dǎo)入新表數(shù)據(jù),然后將其改名為問題表同名即可。
也可不創(chuàng)建新表,直接10231跳過壞塊后exp導(dǎo)出問題表數(shù)據(jù)。

方法3:

另外一種方法是使用SKIP_CORRUPT_BLOCKS標(biāo)記,方法為使用命令

SQL> alter session set db_file_multiblock_read_count=1;

SQL> execute DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('NEWDOCHNZZ','T_PATIENT_DOC_COLB');
SQL> create table abak as select * from T_PATIENT_DOC_COLB ; 收集剩下的信息。
最后清除這個標(biāo)記。
SQL> execute DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('NEWDOCHNZZ','T_PATIENT_DOC_COLB',flags=>dbms_repair.noskip_flag);

關(guān)于壞塊的metalink文檔如下:

RELATED DOCUMENTS
-----------------
- TECH: Database Block Checking Features                         Note 32969.1
- Handling Oracle Block Corruptions in Oracle7/8/8i/9i           Note 28814.1
- Handling Rollback Segment Corruptions in Oracle7.3 to 8.1.7   Note 106638.1
- Extracting Data from a Corrupt Table using 
  SKIP_CORRUPT_BLOCKS or Event 10231                             Note 33405.1
- ORA-1578 ORACLE data block corrupted (file # %s, block # %s)   Note 18976.1
- Parameter DIRECT: Conventional Path Export Versus Direct 
  Path Export                                             Note 155477.1

以上是“oracle中ORA-01578和ORA-01110數(shù)據(jù)文件出現(xiàn)壞塊時跳過損壞的塊怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI