共計 1255 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要講解了“怎么解決 Oracle 的 ORA-00600 錯誤”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“怎么解決 Oracle 的 ORA-00600 錯誤”吧!
Oracle 12.2.0.1 最近出現了 ORA–0600 錯誤,其詳細信息如下:
ORA-00600: 內部錯誤代碼, 參數: [qosdExpStatRead: expcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
ORA-06512: 在 SYS.DBMS_STATS , line 1976
ORA-06512: 在 SYS.DBMS_STATS , line 46935
ORA-06512: 在 SYS.DBMS_STATS , line 47168
ORA-00600: 內部錯誤代碼, 參數: [qosdExpStatRead: expcnt mismatch], [], [], [], [], [], [], [], [], [], [], []
ORA-06512: 在 SYS.DBMS_STATS , line 1976
ORA-06512: 在 SYS.DBMS_STATS , line 46935
ORA-06512: 在 SYS.DBMS_STATS , line 47168
根據 Oracle 官方給出的檢查 SQL 語句,其執行結果如下:
引起訪問題的原因是由于 sys.exp_obj$.exp_cnt 與 sys.exp_stat$ 的行數據不匹配所造成的
解決方案
1. 備份數據庫涉及到修改數據字典
2. 修復問題
SQL update sys.exp_obj$ a set exp_cnt=(select count(*) from sys.exp_stat$ b where
a.objn=b.objn and a.snapshot_id=b.snapshot_id ) where a.objn=124789;
SQL commit;
3. 修改后,執行如下 SQL 確認是否還有記錄,如果沒有記錄,說明已經修改成功,提交。
SQL With b as (select count(*) cnt,objn,snapshot_id from sys.exp_stat$ es group by objn,snapshot_id)
select * from sys.exp_obj$ a, b where a.objn=b.objn and a.snapshot_id=b.snapshot_id
and a.EXP_CNT b.CNT;
修復后,通過一天的觀察沒有出現該問題了。
感謝各位的閱讀,以上就是“怎么解決 Oracle 的 ORA-00600 錯誤”的內容了,經過本文的學習后,相信大家對怎么解決 Oracle 的 ORA-00600 錯誤這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!
正文完