ORACLE中修復資料塊損壞
1、alert日誌報錯資訊:
Corrupt block relative dba: 0x08f3ff01 (file 35, block 3407617)
Bad check value found during buffer read
Data in bad block:
type: 6 format: 2 rdba: 0x08f3ff01
last change scn: 0x0000.9ec80357 seq: 0x1 flg: 0x06
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x03570601
check value in block header: 0xbda9
computed block checksum: 0x66e2
Reread of rdba: 0x08f3ff01 (file 35, block 3407617) found same corrupted data
Mon Apr 15 11:39:05 2013
Corrupt Block Found
TSN = 37, TSNAME = 0000050346
RFN = 35, BLK = 3407617, RDBA = 150208257
OBJN = 142282, OBJD = 142282, OBJECT = R_AGS_E, SUBOBJECT =
SEGMENT OWNER = 0000050346, SEGMENT TYPE = Table Segment
說明0000050346使用者下表R_AGS_E存在壞塊。
2、處理方法:
建立一張與R_AGS_E表結構完全一致的表R_AGS_E_N;
重新命名R_AGS_E表為R_AGS_E_OLD;
ALTER TABLE R_AGS_E RENAME TO R_AGS_E_OLD;
重新命名R_AGS_E_N為R_AGS_E;
ALTER TABLE R_AGS_E_N RENAME TO R_AGS_E;
3、怎樣挽救R_AGS_E_OLD中的資料:主要參考蓋國強的《Oracle中模擬及修復資料塊損壞》
採用exp匯出,後imp匯入的辦法恢復
[oracle@SHLT-PA4-ORACLE ~]$ exp 0000050346/0000050346 file=r_ags_e_old.dmp tables=r_ags_e_old
Export: Release 10.2.0.1.0 - Production on Tue Apr 16 09:12:11 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table R_AGS_E_OLD
EXP-00056: ORACLE error 1578 encountered
ORA-01578: ORACLE data block corrupted (file # 35, block # 3407617)
ORA-01110: data file 35: '/home/oracle/oracle10g/oradata/0000050346.dbf'
Export terminated successfully with warnings.
直接exp匯出報錯;
我們可以設定內部事件,使exp跳過這些損壞的block
SQL> ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10';
系統已更改。
更改完成後,執行exp匯出操作
[oracle@SHLT-PA4-ORACLE ~]$ exp 0000050346/0000050346 file=r_ags_e_old.dmp tables=r_ags_e_old
Export: Release 10.2.0.1.0 - Production on Tue Apr 16 09:30:01 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table R_AGS_E_OLD 2757906 rows exported
Export terminated successfully without warnings.
運氣不錯,已挽救這麼多資料;
下一步在資料庫中刪除R_AGS_E_OLD,重啟imp匯入即可。
Corrupt block relative dba: 0x08f3ff01 (file 35, block 3407617)
Bad check value found during buffer read
Data in bad block:
type: 6 format: 2 rdba: 0x08f3ff01
last change scn: 0x0000.9ec80357 seq: 0x1 flg: 0x06
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x03570601
check value in block header: 0xbda9
computed block checksum: 0x66e2
Reread of rdba: 0x08f3ff01 (file 35, block 3407617) found same corrupted data
Mon Apr 15 11:39:05 2013
Corrupt Block Found
TSN = 37, TSNAME = 0000050346
RFN = 35, BLK = 3407617, RDBA = 150208257
OBJN = 142282, OBJD = 142282, OBJECT = R_AGS_E, SUBOBJECT =
SEGMENT OWNER = 0000050346, SEGMENT TYPE = Table Segment
說明0000050346使用者下表R_AGS_E存在壞塊。
2、處理方法:
建立一張與R_AGS_E表結構完全一致的表R_AGS_E_N;
重新命名R_AGS_E表為R_AGS_E_OLD;
ALTER TABLE R_AGS_E RENAME TO R_AGS_E_OLD;
重新命名R_AGS_E_N為R_AGS_E;
ALTER TABLE R_AGS_E_N RENAME TO R_AGS_E;
3、怎樣挽救R_AGS_E_OLD中的資料:主要參考蓋國強的《Oracle中模擬及修復資料塊損壞》
採用exp匯出,後imp匯入的辦法恢復
[oracle@SHLT-PA4-ORACLE ~]$ exp 0000050346/0000050346 file=r_ags_e_old.dmp tables=r_ags_e_old
Export: Release 10.2.0.1.0 - Production on Tue Apr 16 09:12:11 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table R_AGS_E_OLD
EXP-00056: ORACLE error 1578 encountered
ORA-01578: ORACLE data block corrupted (file # 35, block # 3407617)
ORA-01110: data file 35: '/home/oracle/oracle10g/oradata/0000050346.dbf'
Export terminated successfully with warnings.
直接exp匯出報錯;
我們可以設定內部事件,使exp跳過這些損壞的block
SQL> ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10';
系統已更改。
更改完成後,執行exp匯出操作
[oracle@SHLT-PA4-ORACLE ~]$ exp 0000050346/0000050346 file=r_ags_e_old.dmp tables=r_ags_e_old
Export: Release 10.2.0.1.0 - Production on Tue Apr 16 09:30:01 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table R_AGS_E_OLD 2757906 rows exported
Export terminated successfully without warnings.
運氣不錯,已挽救這麼多資料;
下一步在資料庫中刪除R_AGS_E_OLD,重啟imp匯入即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20553601/viewspace-1065202/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle中匯出修復資料塊損壞Oracle
- Oracle中模擬修復資料塊損壞Oracle
- 修復損壞的資料塊
- Oracle資料庫壞塊修復Oracle資料庫
- 伺服器Oracle資料庫損壞修復伺服器Oracle資料庫
- 轉載:Oracle資料塊損壞恢復總結Oracle
- SQL Server 資料頁損壞修復SQLServer
- 使用dbms_repair修復塊損壞AI
- system資料檔案頭損壞修復
- SQLite資料庫損壞及其修復探究SQLite資料庫
- pg 檔案塊損壞的修復措施。
- oracle壞塊修復例項Oracle
- 【LINUX】Oracle資料庫 linux磁碟頭資料損壞修復LinuxOracle資料庫
- 利用RMAN修復資料檔案中的壞塊
- Oracle資料庫塊的物理損壞與邏輯損壞Oracle資料庫
- 修復資料庫壞塊之五資料庫
- 修復資料庫壞塊之四資料庫
- 修復資料庫壞塊之三資料庫
- 修復資料庫壞塊之二資料庫
- 修復資料庫壞塊之一資料庫
- ORACLE 10g中使用BBED修復損壞資料檔案Oracle 10g
- Oracle日常問題-壞塊修復Oracle
- 資料塊損壞ORA-1578(發現損壞塊)
- redo損壞修復啟動資料庫辦法資料庫
- 伺服器資料庫損壞能修復嘛伺服器資料庫
- MySQL資料庫表損壞後的修復方法MySql資料庫
- InterBase資料庫檔案損壞的修復方法資料庫
- SQL Anywhere db檔案損壞修復 DB檔案修復 DB資料庫修復SQL資料庫
- RMAN修復壞塊
- Oracle塊損壞恢復(有rman備份)Oracle
- oracle壞塊的rowid方式修復Oracle
- Oracle壞塊修復處理實驗Oracle
- 資料恢復工具Recoverit使用教程:如何修復損壞的影片資料恢復
- 伺服器資料損壞有辦法修復嗎?伺服器
- MYSQL資料表損壞的原因分析和修復方法MySql
- Oracle資料庫UNDO損壞後的恢復Oracle資料庫
- 用ORACLE8i修復資料庫壞塊的三種方法Oracle資料庫
- 資料恢復記錄:硬碟分割槽損壞修復SqlServer資料庫過程資料恢復硬碟SQLServer資料庫