如何恢复只有完好数据文件的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实例里得到,运行下面的命令:
Createpfile='参数文件路径及名称'fromspfile
得到后要修改这个文件,注意这个文件对于恢复很重要一定要检查是否正确。
要检查background_dump_dest,core_dump_dest,user_dump_dest等参数设置的目录是否存在
2.修改监听器配置文件.检查监听的数据库参数。
3.在系统级设置环境变量ORACLE_SID。
4.创建实例:
OraDim-NEW-SIDsid-startmodem
5.创建Oracle口令文件:
OraPwdfile=Oracle_HOME/database/pwdsid.orapassword=*****
口令文件的位置一定要正确,否则第七步会报错。
6.启动实例:
@sqlplus“/assysdba”如果你的参数文件放在缺省位置且名称符合标准要求,则运行@startupnomount;否则@startupnomountpfile=‘参数文件路径及名称’。
7.创建控制文件:
CREATECONTROLFILESETDATABASE"db_name"RESETLOGSNOARCHIVELOGMAXLOGFILES50MAXLOGMEMBERS5MAXDATAFILES100MAXINSTANCES1MAXLOGHISTORY453LOGFILEGROUP1'日志文件路径及名称'SIZE100M,GROUP2'日志文件路径及名称'SIZE100M,GROUP3'日志文件路径及名称'SIZE100MDATAFILE'数据文件路径及名称',.......................................CHARACTERSETZHS16GBK;
8.打开数据库:
AlterDatabaseOpenresetlogs;
9.给临时表空间增加临时文件:
因为临时文件的创建没有包含在创建控制文件的脚本里,所以你需要手工添加给临时表空间增加临时文件,否则执行某些命令的时候会异常的。
ALTERTABLESPACE"TEMP"ADDTEMPFILE'C:\ORACLE9I\ORADATA\SHARK\Temp01.DBF'[reuse]SIZE200M
到这里你的恢复工作完成,你可以运行一些命令检查一下。(责任编辑:王瑞)