如何恢复只有完好数据文件的oracle数据库?

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

到这里你的恢复工作完成, 你可以运行一些命令检查一下

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航