如何從完好的數(shù)據(jù)文件恢復(fù)oracle數(shù)據(jù)庫
如何從完好的數(shù)據(jù)文件恢復(fù)oracle數(shù)據(jù)庫或許是困擾著很多的一個(gè)問題,如果真是這樣,那么下面的內(nèi)容就千萬不要錯(cuò)過哦。接下來就是詳細(xì)的將從完好的數(shù)據(jù)文件恢復(fù)oracle數(shù)據(jù)庫的方法總結(jié),希望能夠幫助到大家。
一、有數(shù)據(jù)文件、控制文件和日志文件的備份1.服務(wù)器重裝了操作系統(tǒng),oracle也重裝了。
如果重裝的oracle和以前損壞的數(shù)據(jù)庫是一模一樣的結(jié)構(gòu),那么此時(shí)的恢復(fù)是比較簡單的。
1)刪除掉新建數(shù)據(jù)庫的所有數(shù)據(jù)文件、控制文件和日志文件。Copy原數(shù)據(jù)庫的數(shù)據(jù)文件、控制文件和日志文件到對(duì)應(yīng)目錄下。
2)
Cmd>sqlplus /nolog
Sql>conn as sysdba
用戶名:system
密碼:(此處密碼為新創(chuàng)建數(shù)據(jù)庫的密碼)
Sql>shutdown immediate
Sql>startup nomount
Sql>alter database mount
此時(shí)看數(shù)據(jù)庫是不是能mount起來,有時(shí)會(huì)提示沒有口令文件PWDdemo.ora文件找不到。查看對(duì)應(yīng)的目錄(database下)會(huì)發(fā)現(xiàn)該文件是存在的。此時(shí)需要注意,該口令文件是新安裝數(shù)據(jù)庫后創(chuàng)建實(shí)例時(shí)生成的口令文件,不是以前所用數(shù)據(jù)庫的口令文件,而現(xiàn)在,我們是用以前數(shù)據(jù)庫的控制文件和數(shù)據(jù)文件來打開以前的數(shù)據(jù)庫,所以此時(shí)需要重新創(chuàng)建一個(gè)口令文件。
Sql>shutdown immediate
Sql>host orapwd file=c:\oracle9i\database\PWDdemo.ora password=oracle
Entries=10 (放在database 目錄下)
Sql>startup nomount
Sql>alter database mount
Sql>alter database open
打開數(shù)據(jù)庫
2.如果新數(shù)據(jù)庫的安裝目錄和原有數(shù)據(jù)庫的目錄不一樣,那么此時(shí)可以重建控制文件來打開數(shù)據(jù)庫。
因?yàn)樵刂莆募杏涗浀臄?shù)據(jù)文件地址和現(xiàn)有的數(shù)據(jù)文件位置不一樣。此時(shí)和下面第二中情況一樣。當(dāng)然,此時(shí)也可以創(chuàng)建和原數(shù)據(jù)庫一樣的目錄結(jié)構(gòu)(前提是要記得原數(shù)據(jù)庫的目錄結(jié)構(gòu)),需要注意的就是參數(shù)文件中記錄的控制文件位置和控制文件中記錄的數(shù)據(jù)文件位置。
說明:我們需要清楚數(shù)據(jù)庫在打開的三個(gè)階段中,需要讀取的文件
Sql>startup nomount (此時(shí)讀取參數(shù)文件)
Sql>alter database mount (根據(jù)參數(shù)文件中記錄的控制文件地址,去讀取控制文件)
Sql>alter database open (根據(jù)控制文件中記錄的數(shù)據(jù)文件地址,讀取數(shù)據(jù)文件,打開數(shù)據(jù)庫)