oracle服務(wù)器異常斷電導(dǎo)致控制文件損壞恢復(fù)方法
【導(dǎo)讀】:由于服務(wù)器異常斷電,在斷電的同時(shí)又有客戶端對(duì)數(shù)據(jù)庫進(jìn)行讀寫操作導(dǎo)致數(shù)據(jù)庫內(nèi)部邏輯混亂甩苛,數(shù)據(jù)庫登陸不了。
錯(cuò)誤編碼: ora-01033: oracleinitialization or shutdown in progress
解決方案:
1、備份恢復(fù):基于在損壞之前有自動(dòng)備份的情況
2涌庭、通過備份的控制文件恢復(fù)审轮,在三個(gè)控制文件沒有損壞或者有備份的情況肥哎。
3、基于PRM-DUL工具對(duì)數(shù)據(jù)文件進(jìn)行恢復(fù)疾渣;
下面主要講述基于PRM-DUL工具進(jìn)行恢復(fù)的步驟:
1)篡诽、首先下載PRM-DUL工具,地址如下:
http://parnassusdata.com/sites/default/files/ParnassusData_PRMForOracle_3206.zip
2)榴捡、安裝JAVA JDK 1.6及以上版本杈女,地址如下:
http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html
3)、安裝完后雙擊打開應(yīng)用程序
4)、正常打開后界面如下:
5)达椰、點(diǎn)擊應(yīng)用左上角的“工具”選項(xiàng)翰蠢,選擇“恢復(fù)向?qū)А薄跋乱徊健保?/p>
6)、選擇“字典模式”——“下一步”——“下一步”:
7)啰劲、將看到如下界面:
8)梁沧、選擇“選擇文件”,找到要恢復(fù)的數(shù)據(jù)目錄蝇裤,選擇所有的以.DBF結(jié)尾的數(shù)據(jù)文件廷支,如下圖:
9)、選中后“打開”猖辫,將所有的數(shù)據(jù)文件加載進(jìn)來酥泞,并單擊“加載”。
10)啃憎、這時(shí)數(shù)據(jù)會(huì)慢慢加載進(jìn)來芝囤,如下圖:
11)、加載完成以后會(huì)顯示對(duì)應(yīng)數(shù)據(jù)的用戶以及該用戶下的所有的表辛萍,如下圖所示:
12)悯姊、這樣,通過DBF數(shù)據(jù)文件就將所有的數(shù)據(jù)導(dǎo)入到應(yīng)用中了贩毕。
13)悯许、搭建本地的數(shù)據(jù)庫環(huán)境,正常的安裝過程辉阶。(具體過程見技術(shù)文檔)先壕。
14)、下面將利用“數(shù)據(jù)搭橋”的方式將應(yīng)用中的數(shù)據(jù)導(dǎo)入到本地庫中谆甜。具體操作如下:【數(shù)據(jù)搭橋:就是在本地建立數(shù)據(jù)庫環(huán)境垃僚,然后通過設(shè)置要導(dǎo)入的目標(biāo)數(shù)據(jù)庫的方式將數(shù)據(jù)導(dǎo)入到本地的數(shù)據(jù)庫】
a、選中要搭橋的表规辱,例如圖中的EXAMCARINFO表谆棺,右擊選擇“數(shù)據(jù)搭橋”。
b罕袋、單擊圖示的”+”號(hào)改淑,顯示如下【圖2】:在里面設(shè)置本地目標(biāo)數(shù)據(jù)庫的連接信息:
連接名:任意輸入
用戶名、口令浴讯、端口號(hào)朵夏、主機(jī)名及服務(wù)名根據(jù)個(gè)人安裝的數(shù)據(jù)庫情況填寫。如果目標(biāo)數(shù)據(jù)庫安裝在本地的榆纽,主機(jī)名可以為localhost侍郭,如果為遠(yuǎn)端的可以是目標(biāo)數(shù)據(jù)庫的ip地址询吴。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【圖1】
c、設(shè)置好后亮元,點(diǎn)擊“測(cè)試”,如果成功連接會(huì)顯示如下圖:
d唠摹、此時(shí)爆捞,再次右擊要導(dǎo)出的表,例如EXAMCARINFO表勾拉,選擇“數(shù)據(jù)搭橋”煮甥,顯示如下圖:
e、勾選“是否重映射表”藕赞,輸入目標(biāo)表名成肘,(注意:如果目標(biāo)庫中已經(jīng)有相同的表名,將此目標(biāo)表名更改名稱斧蜕,例如:原先是EXAMCARINFO,目標(biāo)庫有此表名時(shí)双霍,表名更改為EXAMCARINFO1),數(shù)據(jù)庫連接選擇剛剛設(shè)置的“連接名”批销,表空間為默認(rèn)選中洒闸。
f、單擊“數(shù)據(jù)搭橋”均芽,如果成功會(huì)顯示如下:
g丘逸、此時(shí)通過PLSQLDev登陸數(shù)據(jù)庫即可看到導(dǎo)出的數(shù)據(jù),如下圖:
h掀宋、其他表的操作相同深纲,單表操作可以快速看到效果,如果感覺麻煩劲妙,可以右擊用戶湃鹊,例如圖示的“GHKS2”——“數(shù)據(jù)搭橋”即可。
i是趴、所有的數(shù)據(jù)導(dǎo)入目標(biāo)庫后涛舍,可以利用工具或者DOS命令將目標(biāo)庫中的恢復(fù)數(shù)據(jù)導(dǎo)出即可。
【建議】:數(shù)據(jù)庫安裝正常使用后唆途,將數(shù)據(jù)庫文件下的控制文件備份富雅。