1.重新建立初始設定檔案,重要的參數包括
control_files,db_name,instance_name,
background_dump_dest,core_dump_dest,user_dump_dest,\
db_block_size=8192,db_cache_size,db_domain,
large_pool_size,pga_aggregate_target,shared_pool_size,
sort_area_size,undo_management,undo_retention,undo_tablespace
你可以通過以下途徑建立一個初始供修改的參數檔案:
@從備份的參數檔案裡得到。
@從其他正常啟動並執行Oracle執行個體裡得到,運行下面的命令:
Create pfile='參數檔案路徑及名稱' from spfile
得到後要修改這個檔案,注意這個檔案對於恢複很重要一定要檢查是否正確。
要檢查background_dump_dest,core_dump_dest,user_dump_dest等參數設定的目錄是否存在
2.修改監聽器設定檔.檢查監聽的資料庫參數。
3.在系統級設定環境變數ORACLE_SID。
4.建立執行個體:
OraDim -NEW -SID sid -startmode m
5.建立Oracle口令檔案:
OraPwd file=Oracle_HOME/database/pwdsid.ora password=*****
口令檔案的位置一定要正確,否則第七步會報錯。
6.啟動執行個體:
@sqlplus “/ as sysdba”如果你的參數檔案放在預設位置且名稱符合標準要求,則運行@startup nomount;否則@startup nomount pfile=‘參數檔案路徑及名稱’。
7.建立控制檔案:
CREATE CONTROLFILE SET DATABASE
"db_name" RESETLOGS NOARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 '記錄檔路徑及名稱' SIZE 100M,
GROUP 2 '記錄檔路徑及名稱' SIZE 100M,
GROUP 3 '記錄檔路徑及名稱' SIZE 100M
DATAFILE
'資料檔案路徑及名稱',
....................
...................
CHARACTER SET ZHS16GBK;
8.開啟資料庫:
Alter Database Open resetlogs;
9. 給暫存資料表空間增加臨時檔案:
因為臨時檔案的建立沒有包含在建立控制檔案的指令碼裡,所以你需要手工添加給暫存資料表空間增加臨時檔案,否則執行某些命令的時候會異常的。
ALTER TABLESPACE "TEMP"
ADD TEMPFILE
'C:\ORACLE9I\ORADATA\SHARK\Temp01.DBF' [reuse] SIZE 200M
到這裡你的恢複工作完成, 你可以運行一些命令檢查一下