一。有數據文件、控制文件和日志文件的備份1.服務器重裝了操作系統,oracle也重裝了。如果重裝的oracle和以前損壞的數據庫是一模一樣的結構,那麼此時的恢復是比較簡單的。
1)刪除掉新建數據庫的所有數據文件、控制文件和日志文件。Copy原數據庫的數據文件、控制文件和日志文件到對應目錄下。
2)
Cmd>sqlplus /nolog
Sql>conn as sysdba
用戶名:system
密碼:(此處密碼為新創建數據庫的密碼)
Sql>shutdown immediate
Sql>startup nomount
Sql>alter database mount
此時看數據庫是不是能mount起來,有時會提示沒有口令文件PWDdemo.ora文件找不到。查看對應的目錄(database下)會發現該文件是存在的。此時需要注意,該口令文件是新安裝數據庫後創建實例時生成的口令文件,不是以前所用數據庫的口令文件,而現在,我們是用以前數據庫的控制文件和數據文件來打開以前的數據庫,所以此時需要重新創建一個口令文件。
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
打開數據庫
2.如果新數據庫的安裝目錄和原有數據庫的目錄不一樣,那麼此時可以重建控制文件來打開數據庫。因為原控制文件中記錄的數據文件地址和現有的數據文件位置不一樣。此時和下面第二中情況一樣。當然,此時也可以創建和原數據庫一樣的目錄結構(前提是要記得原數據庫的目錄結構),需要注意的就是參數文件中記錄的控制文件位置和控制文件中記錄的數據文件位置。
說明:我們需要清楚數據庫在打開的三個階段中,需要讀取的文件
Sql>startup nomount (此時讀取參數文件)
Sql>alter database mount (根據參數文件中記錄的控制文件地址,去讀取控制文件)
Sql>alter database open (根據控制文件中記錄的數據文件地址,讀取數據文件,打開數據庫)