您好,登錄后才能下訂單哦!
ORA-01578是 數據塊物理壞塊/損壞的一種,不同于邏輯損壞/壞塊,一般 會伴隨ORA-1110出現,一旦ORACLE讀取到存在損壞的塊就會報出Caused by: java.sql.SQLException: ORA-01578: ORACLE 數據塊損壞 (文件號 4, 塊號 840339)
ORA-01110: 數據文件 4: 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'
解決方法如下:
1、使用DBV檢查數據文件,在cmd目錄下直接輸入dbv file='E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' blocksize=8192;然后等待檢測結果
2、檢查損壞相關的表
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;
查到相關的表名
3、內部事件,設置在全表掃描時跳過損壞的數據塊:ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10';
4、導出上邊相關的表沒有損壞的數據exp test/test file=t.dmp tables=t
5、刪除損壞相關的表 drop table t;
再將數據做導入imp test/test file=t.dmp tables=t
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。