[Oracle]數(shù)據(jù)庫系統(tǒng)緊急故障處理方法 (1)
發(fā)表時間:2024-05-28 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Oracle物理結(jié)構(gòu)故障是指構(gòu)成數(shù)據(jù)庫的各個物理文件損壞而導(dǎo)致的各種數(shù)據(jù)庫故障。這些故障可能是由于硬件故障造成的,也可能是人為誤操作而引起。所以我們首先要判斷問題的起因,如果是硬件故障則首先要解決硬件問題。在無硬件問題的前提下我們才能按照下面的處理方發(fā)來進(jìn)一步處理。 控制文件損壞: 控制文...
Oracle物理結(jié)構(gòu)故障是指構(gòu)成數(shù)據(jù)庫的各個物理文件損壞而導(dǎo)致的各種數(shù)據(jù)庫故障。這些故障可能是由于硬件故障造成的,也可能是人為誤操作而引起。所以我們首先要判斷問題的起因,如果是硬件故障則首先要解決硬件問題。在無硬件問題的前提下我們才能按照下面的處理方發(fā)來進(jìn)一步處理。
控制文件損壞:
控制文件記錄了關(guān)于oracle的重要配置信息,如數(shù)據(jù)庫名、字符集名字、各個數(shù)據(jù)文件、日志文件的位置等等信息?刂莆募膿p壞,會導(dǎo)致數(shù)據(jù)庫異常關(guān)閉。一旦缺少控制文件,數(shù)據(jù)庫也無法啟動,這是一種比較嚴(yán)重的錯誤。
損壞單個控制文件:
1. 確保數(shù)據(jù)庫已經(jīng)關(guān)閉,如果沒有用下面的命令來關(guān)閉數(shù)據(jù)庫:
svrmgrl>shutdown immediate;
2. 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,確定所有控制文件的路徑。
3. 用操作系統(tǒng)命令將其它正確的控制文件覆蓋錯誤的控制文件。
4. 用下面的命令重新啟動數(shù)據(jù)庫:
svrmgrl>startup;
5. 用適當(dāng)?shù)姆椒ㄟM(jìn)行數(shù)據(jù)庫全備份。
損壞所有的控制文件:
1. 確保數(shù)據(jù)庫已經(jīng)關(guān)閉,如果沒有用下面的命令來關(guān)閉數(shù)據(jù)庫:
svrmgrl>shutdown immediate;
2. 從相應(yīng)的備份結(jié)果集中恢復(fù)最近的控制文件。對于沒有采用帶庫備份的點可以直接從磁帶上將最近的控制文件備份恢復(fù)到相應(yīng)目錄;對于采用帶庫備份的點用相應(yīng)的rman腳本來恢復(fù)最近的控制文件。
3. 用下面的命令來創(chuàng)建產(chǎn)生數(shù)據(jù)庫控制文件的腳本:
svrmgrl>startup mount;
svrmgrl>alter database backup controlfile to trace noresetlogs;
4. 修改第三步產(chǎn)生的trace文件,將其中關(guān)于創(chuàng)建控制文件的一部分語句拷貝出來并做些修改,使得它能夠體現(xiàn)最新的數(shù)據(jù)庫結(jié)構(gòu)。假設(shè)產(chǎn)生的sql文件名字為createcontrol.sql.
注意:
Trace文件的具體路徑可以在執(zhí)行完第3)步操作后查看$ORACLE_BASE/admin/bdump/alert_ORCL.ora文件來確定。
5. 用下面命令重新創(chuàng)建控制文件:
svrmgrl>shutdown abort;
svrmgrl>startup nomount;
svrmgrl>@createcontrol.sql;