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

首頁 > 數據庫 > Oracle > 正文

用ORACLE8i修復數據庫壞塊的三種方法

2024-08-29 13:32:53
字體:
來源:轉載
供稿:網友

  在進行SUN CLUSTER雙機切換、意外斷電或其它情況下,有時會發生共享盤MOUNT不上的情況,需要使用FSCK對共享盤進行修復。修復完成后,在數據庫啟動過程中,卻又出現"數據塊損壞,無法啟動數據庫"的現象,此時,可以根據不同的數據塊損壞類型,檢測并修復錯誤。在此介紹三種使用Oracle8i修復損壞數據塊的方法。

  一、數據塊損壞,錯誤代碼為ORA-01578

  ORA-1115 I/O ERROR READING BLOCK

  通常后跟ORA-737X錯誤與操作系統錯誤(如UNIX中的錯誤號5)

  產生原因:

  1. 硬件問題(磁盤控制器問題或磁盤問題)

  2. 物理級的數據塊損壞(通常由前一原因造成)

  3. 處理巨型文件時,后跟錯誤代碼ORA-7371

  確定故障原因與恢復的方法:

  1. 查看alert.log文件中其它ORA-1115錯誤的發生情況:

  1) 如果指向不同磁盤的文件,則是磁盤控制器的問題,查看V$DATAFILE,有哪些文件位于該控制器下,轉到第二步。

  2) 如果指向相同磁盤的不同文件,則是磁盤的問題,轉到第二步。

  3) 如果指向同一個文件,執行以下語句查找文件名:

  SELECT SEGMENT_NAME,SEGMENT_TYPE FROM DBA_EXTENTS WHERE FILE_ID=<文件號> AND <塊號> BETWEEN BLOCK_ID

  AND BLOCK_ID+BLOCKS-1;

  其中,文件號與塊號是ORA-1115中指出的,如果該查詢持續指向某表或索引,則重建它們即可。

  2. 如果文件是SYSTEM表空間,或處于NOARCHIVELOG模式,關閉數據庫,轉到第四步。

  3. 如果數據庫處于ARCHIVELOG模式,仍應關閉數據庫,如果不能關閉數據庫,則將相應的數據文件脫機:ALTER DATABASE DATAFILE '文件名' OFFLINE;

  4. 試著將數據文件拷貝到別的磁盤。

  5. 如果拷貝失敗,則文件將丟失。

  6. STARTUP MOUNT;

  7. 將數據文件重命名為成功拷貝到別的磁盤的文件名:

  ALTER DATABASE RENAME FILE '老路徑文件名' TO '新路徑文件名';

  8. ALTER DATABASE OPEN;

  9. RECOVER DATAFILE 文件名;

  ALTER DATABASE DATAFILE '文件名' ONLINE;

  二、回滾段需要恢復

  如果回滾段處于NEED RECOVERY狀態,需要執行以下步驟進行恢復:

  1. 查看所有聯機的表空間與數據文件

  2. 在init.ora文件中加入event = "10015 trace name context forever,level 10",這將生成一個追蹤文件,其中含有事務與回滾的信息。

  3. 關閉并重新打開數據庫。

  4. 查看TRACE文件,應有error recovery tx(#,#) object #.TX(#,#),指出事務信息,其中object #與sys.dba_objects中的object_id相同。

  5. 使用以下查詢找出正在進行恢復的對象:

  SELECT owner,object_name,object_type,status FROM dba_objects WHERE object_id=


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平昌县| 香格里拉县| 汕尾市| 辉县市| 海阳市| 外汇| 鸡泽县| 金沙县| 新余市| 边坝县| 开封县| 贵德县| 清河县| 沾化县| 三门峡市| 徐水县| 康马县| 丽江市| 阳西县| 长岭县| 友谊县| 体育| 舒兰市| 鄯善县| 万全县| 万盛区| 惠东县| 天津市| 伊通| 新绛县| 南安市| 太白县| 鹤岗市| 阿鲁科尔沁旗| 彭水| 台江县| 青岛市| 沁水县| 岳池县| 大城县| 化州市|