先說一下來龍去脈
環境:windows server 2008 + oracle 11..2.0.1
沒有備份(不是我的鍋,這個不是我安裝管理的)
1、首先發現資料庫SYSAUX資料塊損壞
2、查找后發現一個索引以及WRH$_SQL_BIND_METADATA表的資料塊損壞;
3、索引重建了,沒問題。。
4、表WRH$_SQL_BIND_METADATA用dbms_repair修復
先用DBMS_REPAIR.CHECK_OBJECT
再用DBMS_REPAIR.FIX_CORRUPT_BLOCKS
因為這個表是查詢陳述句引數表,對系統來說不重要,即使丟失資料也沒問題
所以直接 DBMS_REPAIR.SKIP_CORRUPT_BLOCKS
5、dbv檢查表空間任然發現有壞快,
于是把WRH$_SQL_BIND_METADATA重命名為WRH$_SQL_BIND_METADATA_BAK
并新建表WRH$_SQL_BIND_METADATA,并且把歷史資料插入
嘗試洗掉表DROP TABLE SYS.WRH$_SQL_BIND_METADATA_BAK PURGE
報錯
ORA-00600: 內部錯誤代碼, 引數: [13011], [420], [4283125], [1], [4283125], [3], [], [], [], [], [], []
6、無奈之下truncate table WRH$_SQL_BIND_METADATA_BAK,并且限制表空間自動增長
隨意創建表填滿資料把壞的資料塊沖掉
7、再次嘗試洗掉表
DROP TABLE SYS.WRH$_SQL_BIND_METADATA_BAK PURGE
任然報錯
ORA-00600: 內部錯誤代碼, 引數: [13011], [420], [4283125], [1], [4283125], [3], [], [], [], [], [], []
于是不知道該怎么整了,
資料庫運行沒問題,但是會一直報錯,沒幾天錯誤日志就能把磁盤占滿了
uj5u.com熱心網友回復:
這個很可能不是這個表壞了,而是基表有問題,你嘗試著創建一個表試試看如果是基表壞了,可以找我們
uj5u.com熱心網友回復:
建表沒問題的,不過在分析這個表的時候出現過基表索引資料不一致的情況
uj5u.com熱心網友回復:
遇到過一次這樣的錯誤,沒啥好法,趁著資料庫能用,備份,重裝,恢復。rman備份失敗,exp匯出報錯,最后是用toad匯出再匯入的
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/102144.html
標籤:高級技術
