Oracle資料庫系統緊急故障處理方法(轉)
Oracle物理結構故障是指構成資料庫的各個物理檔案損壞而導致的各種資料庫故障。這些故障可能是由於硬體故障造成的,也可能是人為誤操作而引起。所以我們首先要判斷問題的起因,如果是硬體故障則首先要解決硬體問題。在無硬體問題的前提下我們才能按照下面的處理方發來進一步處理。
控制檔案損壞:
控制檔案記錄了關於oracle的重要配置資訊,如資料庫名、字符集名字、各個資料檔案、日誌檔案的位置等等資訊。控制檔案的損壞,會導致資料庫異常關閉。一旦缺少控制檔案,資料庫也無法啟動,這是一種比較嚴重的錯誤。
損壞單個控制檔案:
1. 確保資料庫已經關閉,如果沒有用下面的命令來關閉資料庫:
svrmgrl>shutdown immediate;
2. 檢視初始化檔案$ORACLE_BASE/admin/pfile/initORCL.ora,確定所有控制檔案的路徑。
3. 用作業系統命令將其它正確的控制檔案覆蓋錯誤的控制檔案。
4. 用下面的命令重新啟動資料庫:
svrmgrl>startup;
5. 用適當的方法進行資料庫全備份。
損壞所有的控制檔案:
1. 確保資料庫已經關閉,如果沒有用下面的命令來關閉資料庫:
svrmgrl>shutdown immediate;
2. 從相應的備份結果集中恢復最近的控制檔案。對於沒有采用帶庫備份的點可以直接從磁帶上將最近的控制檔案備份恢復到相應目錄;對於採用帶庫備份的點用相應的rman指令碼來恢復最近的控制檔案。
3. 用下面的命令來建立產生資料庫控制檔案的指令碼:
svrmgrl>startup mount;
svrmgrl>alter database backup controlfile to trace noresetlogs;
4. 修改第三步產生的trace檔案,將其中關於建立控制檔案的一部分語句複製出來並做些修改,使得它能夠體現最新的資料庫結構。假設產生的sql檔名字為createcontrol.sql.
注意:
Trace檔案的具體路徑可以在執行完第3)步操作後檢視$ORACLE_BASE/admin/bdump/alert_ORCL.ora檔案來確定。
5. 用下面命令重新建立控制檔案:
svrmgrl>shutdown abort;
svrmgrl>startup nomount;
svrmgrl>@createcontrol.sql;
6. 用適當的方法進行資料庫全備份。
重做日誌檔案損壞:
資料庫的所有增、刪、改都會記錄入重做日誌。如果當前啟用的重做日誌檔案損壞,會導致資料庫異常關閉。非啟用的重做日誌最終也會因為日誌切換變為啟用的重做日誌,所以損壞的非啟用的重做日誌最終也會導致資料庫的異常終止。在ipas/mSwitch中每組重做日誌只有一個成員,所以在下面的分析中只考慮重做日誌組損壞的情況,而不考慮單個重做日誌成員損壞的情況。
確定損壞的重做日誌的位置及其狀態:
1. 如果資料庫處於可用狀態:
select * from v$logfile;
svrmgrl>select * from v$log;
2. 如果資料庫處於已經異常終止:
svrmlgr>startup mount;
svrmgrl>select * from v$logfile;
svrmgrl>select * from v$log;
其中,logfile的狀態為INVALID表示這組日誌檔案出現已經損壞;log狀態為Inactive:表示重做日誌檔案處於非啟用狀態;Active: 表示重做日誌檔案處於啟用狀態;Current:表示是重做日誌為當前正在使用的日誌檔案。
損壞的日誌檔案處於非啟用狀態:
1. 刪除相應的日誌組:
svrmgrl>alter database drop logfile group group_number;
2. 重新建立相應的日誌組:
svrmgrl>alter database add log file group group_number (’log_file_descritpion’,…) size log_file_size;
損壞的日誌檔案處於啟用狀態且為非當前日誌:
1. 清除相應的日誌組:
svrmgrl>alter database clear unarchived logfile group group_number;
損壞的日誌檔案為當前活動日誌檔案:
用命令清除相應的日誌組:
svrmgrl>alter database clear unarchived logfile group group_number;
如果清除失敗,則只能做基於時間點的不完全恢復。
開啟資料庫並且用適當的方法進行資料庫全備份:
svrmgrl>alter database open;
部分資料檔案損壞:
若損壞的資料檔案屬於非system表空間,則資料庫仍然可以處於開啟狀態可以進行操作,只是損壞的資料檔案不能訪問。這時在資料庫開啟狀態下可以單獨對損壞的資料檔案進行恢復。若是system表空間的資料檔案損壞則資料庫系統會異常終止。這時資料庫只能以Mount方式開啟,然後再對資料檔案進行恢復。可以透過檢視資料庫日誌檔案來判斷當前損壞的資料檔案到底是否屬於system表空間。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-954201/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫無響應問題的緊急處理和分析資料庫
- informix資料庫頁故障的處理方法ORM資料庫
- ORACLE資料庫事務處理和故障恢復Oracle資料庫
- 資料庫負載急劇提高的應急處理資料庫負載
- Oracle資料庫 ORA-600 [13013]故障處理Oracle資料庫
- 電腦出故障你別急 應急寶典來處理(轉)
- AIX系統故障處理AI
- oracle執行系統比較慢,cpu使用率高的檢查和緊急處理Oracle
- 資料庫負載急劇提高的應急處理(二)資料庫負載
- 統信UOS系統常見故障及處理方法
- 關於sequence問題的緊急處理
- 系統故障解析:Windows異常處理流程(轉)Windows
- oracle資料庫系統管理(轉)Oracle資料庫
- Oracle資料庫處理多媒體資訊(轉)Oracle資料庫
- Oracle資料庫故障恢復資料庫系統故障恢復效能優化指南大全Oracle資料庫優化
- [轉載]Oracle資料庫應用系統調優方法Oracle資料庫
- 銀河麒麟系統安裝ORACLE資料庫問題處理Oracle資料庫
- oracle dataguard資料同步故障處理一例Oracle
- ORACLE資料庫壞塊的處理 (處理無物件壞快的方法)Oracle資料庫物件
- 資料庫故障處理優質文章彙總(含Oracle、MySQL、MogDB等)資料庫OracleMySql
- Linux常見緊急情況處理方法(轉)Linux
- [ORACLE] 系統故障資料庫恢復--資料檔案無損壞Oracle資料庫
- 常見資料庫系統之比較 - Oracle資料庫(轉)資料庫Oracle
- 資料中心儲存系統故障的處理方式
- 記一次Oracle資料庫無響應(hang住)故障的處理Oracle資料庫
- Windows系統資源不足的七種處理方法(轉)Windows
- Oracle資料庫聯機日誌檔案丟失處理方法(總結)(轉)Oracle資料庫
- 時間緊急!資料庫遷移怎麼才能更快?資料庫
- Move系統表DEPENDENCY$導致索引失效的資料庫故障的另一種處理方式索引資料庫
- 常見資料庫系統比較之Oracle資料庫(轉)資料庫Oracle
- oracle資料庫改壞spfile引數重啟處理方法Oracle資料庫
- 資料庫映象期間可能出現的故障處理資料庫
- Oracle、MySQL等資料庫故障處理優質文章分享 | 10月文章彙總OracleMySql資料庫
- Oracle更新Opatch故障處理Oracle
- 資料自動處理系統
- 如何處理Oracle資料庫中的壞塊問題(轉)Oracle資料庫
- 歸檔日誌滿導致的資料庫掛起故障處理【轉載】資料庫
- Linux常見的緊急情況的處理方法(轉)Linux