oracle服務(wù)器異常斷電導(dǎo)致控制文件損壞恢復(fù)方法
【導(dǎo)讀】:由于服務(wù)器異常斷電颤专,在斷電的同時(shí)又有客戶端對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫操作導(dǎo)致數(shù)據(jù)庫(kù)內(nèi)部邏輯混亂蒋伦,數(shù)據(jù)庫(kù)登陸不了凌埂。
錯(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
JAVA--JDK環(huán)境變量的配置:
? ? ? ? ? ? ? 1.我的電腦-->屬性-->高級(jí)-->環(huán)境變量.
? ? ? ? ? ? ? 2.配置用戶變量:
? ? ? ? ? ? ? ? ? ? ? a.新建 JAVA_HOME
? ? ? ? ? ? ? ? ? ? ? ? ?C:\Program Files\Java\j2sdk1.5.0 (JDK的安裝路徑)
? ? ? ? ? ? ? ? ? ? ? b.新建 PATH
? ? ? ? ? ? ? ? ? ? ? ?%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
? ? ? ? ? ? ? ? ? ? ? ? c.新建 CLASSPATH
? ? ? ? ? ? ? ? ? ? ?.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
? ? ? ? ? ? ? ?3.測(cè)試環(huán)境變量配置是否成功:
? ? ? ? ? ? ? ? ?開始-->運(yùn)行--〉CMD
? ? ? ? ? ? ? ? 鍵盤敲入: JAVAC?? JAVA
出現(xiàn)相應(yīng)的命令谅阿,而不是出錯(cuò)信息半哟,即表示配置成功!
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ù)庫(kù)環(huán)境流强,正常的安裝過程。(具體過程見技術(shù)文檔)呻待。
14)打月、下面將利用“數(shù)據(jù)搭橋”的方式將應(yīng)用中的數(shù)據(jù)導(dǎo)入到本地庫(kù)中。具體操作如下:【數(shù)據(jù)搭橋:就是在本地建立數(shù)據(jù)庫(kù)環(huán)境蚕捉,然后通過設(shè)置要導(dǎo)入的目標(biāo)數(shù)據(jù)庫(kù)的方式將數(shù)據(jù)導(dǎo)入到本地的數(shù)據(jù)庫(kù)】
a僵控、選中要搭橋的表,例如圖中的EXAMCARINFO表鱼冀,右擊選擇“數(shù)據(jù)搭橋”报破。
b、單擊圖示的”+”號(hào)千绪,顯示如下【圖2】:在里面設(shè)置本地目標(biāo)數(shù)據(jù)庫(kù)的連接信息:
連接名:任意輸入
用戶名充易、口令、端口號(hào)荸型、主機(jī)名及服務(wù)名根據(jù)個(gè)人安裝的數(shù)據(jù)庫(kù)情況填寫盹靴。如果目標(biāo)數(shù)據(jù)庫(kù)安裝在本地的,主機(jī)名可以為localhost瑞妇,如果為遠(yuǎn)端的可以是目標(biāo)數(shù)據(jù)庫(kù)的ip地址稿静。
【圖1】
【圖2】
c、設(shè)置好后辕狰,點(diǎn)擊“測(cè)試”改备,如果成功連接會(huì)顯示如下圖:
d、此時(shí)蔓倍,再次右擊要導(dǎo)出的表悬钳,例如EXAMCARINFO表盐捷,選擇“數(shù)據(jù)搭橋”,顯示如下圖:
e默勾、勾選“是否重映射表”碉渡,輸入目標(biāo)表名,(注意:如果目標(biāo)庫(kù)中已經(jīng)有相同的表名母剥,將此目標(biāo)表名更改名稱滞诺,例如:原先是EXAMCARINFO,目標(biāo)庫(kù)有此表名時(shí),表名更改為EXAMCARINFO1)环疼,數(shù)據(jù)庫(kù)連接選擇剛剛設(shè)置的“連接名”铭段,表空間為默認(rèn)選中。
f秦爆、單擊“數(shù)據(jù)搭橋”序愚,如果成功會(huì)顯示如下:
g、此時(shí)通過PLSQLDev登陸數(shù)據(jù)庫(kù)即可看到導(dǎo)出的數(shù)據(jù)等限,如下圖:
h爸吮、其他表的操作相同,單表操作可以快速看到效果望门,如果感覺麻煩形娇,可以右擊用戶,例如圖示的“GHKS2”——“數(shù)據(jù)搭橋”即可筹误。
i桐早、所有的數(shù)據(jù)導(dǎo)入目標(biāo)庫(kù)后,可以利用工具或者DOS命令將目標(biāo)庫(kù)中的恢復(fù)數(shù)據(jù)導(dǎo)出即可厨剪。
【建議】:數(shù)據(jù)庫(kù)安裝正常使用后哄酝,將數(shù)據(jù)庫(kù)文件下的控制文件備份。