溫馨提示×

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

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

oracle ora-01578 ORACLE 數(shù)據(jù)塊損壞 (文件號(hào) 4, 塊號(hào) 840339)

發(fā)布時(shí)間:2020-08-01 01:09:10 來源:網(wǎng)絡(luò) 閱讀:7526 作者:yuezhi 欄目:關(guān)系型數(shù)據(jù)庫(kù)

ORA-01578是 數(shù)據(jù)塊物理壞塊/損壞的一種,不同于邏輯損壞/壞塊,一般 會(huì)伴隨ORA-1110出現(xiàn),一旦ORACLE讀取到存在損壞的塊就會(huì)報(bào)出Caused by: java.sql.SQLException: ORA-01578: ORACLE 數(shù)據(jù)塊損壞 (文件號(hào) 4, 塊號(hào) 840339)
ORA-01110: 數(shù)據(jù)文件 4: 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'

解決方法如下:
1、使用DBV檢查數(shù)據(jù)文件,在cmd目錄下直接輸入dbv file='E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' blocksize=8192;然后等待檢測(cè)結(jié)果
2、檢查損壞相關(guān)的表
SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents  WHERE file_id = 4 and 840339 between block_id AND block_id + blocks - 1;
查到相關(guān)的表名
3、內(nèi)部事件,設(shè)置在全表掃描時(shí)跳過損壞的數(shù)據(jù)塊:ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10';
4、導(dǎo)出上邊相關(guān)的表沒有損壞的數(shù)據(jù)exp test/test file=t.dmp tables=t
5、刪除損壞相關(guān)的表 drop table t;
再將數(shù)據(jù)做導(dǎo)入imp test/test file=t.dmp tables=t


向AI問一下細(xì)節(jié)

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

AI