萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> 如何恢復只有完好數據文件的oracle數據庫

如何恢復只有完好數據文件的oracle數據庫

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

到這裡你的恢復工作完成, 你可以運行一些命令檢查一下

copyright © 萬盛學電腦網 all rights reserved