国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

回滾段損壞的修復實例

2024-07-21 02:06:51
字體:
來源:轉載
供稿:網友

前幾天同事打電話過來,說公司的開發庫每天死4,5次
正好今天回公司,順道看了一下

檢查alertlog,發現成百上千的報錯,全部是:
errors in file d:/oracle/admin/croot/bdump/crootsmon.trc:
ora-01578: oracle data block corrupted (file # 22, block # 14715)
ora-01110: data file 22: 'd:/oracle/oradata/croot/trbs1.ora'

file#=22的文件是回滾段表空間中的一個數據文件,很明顯回滾段數據塊損壞了。
但是數據庫還算能用,可以正常打開,但是無法正常關閉,
關閉的時候報:
shutting down instance (immediate)
license high water mark = 90
mon oct 25 12:03:23 2004
oracle instance croot (pid = 6) - error 1578 encountered while recovering transaction (2, 50).
mon oct 25 12:03:23 2004
errors in file d:/oracle/admin/croot/bdump/crootsmon.trc:
ora-01578: oracle data block corrupted (file # 22, block # 14715)
ora-01110: data file 22: 'd:/oracle/oradata/croot/trbs1.ora'

然后整個實例就crash了

檢查壞塊所在的對象,發現是rbs01,再檢查dba_rollback_segs視圖,發現除了rbs01是online狀態,其它的都是partitial available狀態,手工將其余的回滾段online以后,就無法再次offline了,立刻有active的transaction占據回滾段,停掉了所有的其它會話,仍然是這種情況,查看v$trasaction視圖,已經沒有任何記錄顯示還有正在運行的事務了。

這種情況,無法正常地drop掉回滾段,自然也就沒辦法drop掉回滾段表空間。

由于是開發庫,根本就是處于非歸檔模式,也沒有什么定時的備份,所以恢復數據庫也不用想了。

不過也好在是開發庫,那些事務丟了也根本無所謂。
于是,關閉數據庫,修改初始化參數文件,添加隱含參數:
 _corrupted_rollback_segments=(rbs1,rbs2,rbs4,rbs5,rbs6,rbs7,rbs8,rbs9,rbs10)

全部標志為corrupted的,然后啟動數據庫到mount狀態
drop掉file#=22的數據文件
然后recover database;alter database open;

數據庫打開以后,再次檢查v$rollname視圖,發現只有system表空間中的回滾段存在了,ok,再去dba_rollback_segs視圖檢查狀態,發現除了system回滾段其它的都處于need recover狀態,好,沒錯。開始刪除。

直接drop掉所有的回滾段,drop掉回滾段表空間,然后創建新的表空間,創建新的回滾段,將所有回滾段online,中間出了個小插曲,后面提到。

最后,正常關閉數據庫,修改init參數,將_corrupted_rollback_segments這行注釋掉,最后正常啟動數據庫。隨便找幾張表,作幾個insert測試了一下,沒有問題,ok,修復完成。

小插曲:創建新的回滾段時出了一個問題,耽誤了一段時間,因為是8i的庫,system表空間是dmt的,所以回滾段表空間也必須是dmt的,開始按照習慣創建了一個lmt的表空間,然后創建回滾段的時候總是報錯,說非系統回滾段無法使用system表空間,想了好一陣,才想起dmt和lmt的這回事兒,然后drop掉新建的lmt表空間,創建了一個dmt的表空間,再重新創建回滾段,沒有問題了。

  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 简阳市| 西藏| 博客| 汉沽区| 康定县| 蛟河市| 德清县| 澎湖县| 云安县| 灵石县| 哈巴河县| 武胜县| 齐齐哈尔市| 年辖:市辖区| 沅陵县| 九江县| 志丹县| 龙海市| 靖西县| 内黄县| 河源市| 岢岚县| 修水县| 若尔盖县| 兴安盟| 佳木斯市| 包头市| 游戏| 九江市| 呼伦贝尔市| 上饶县| 佳木斯市| 乌苏市| 兴化市| 江源县| 古交市| 苍溪县| 乡宁县| 登封市| 兴安县| 布尔津县|