通过Backup Exec实施Oracle灾难恢复

来源:相濡以沫 - CSDNBlog
做Recovery需要什么数据:

1、FULL CLOSED备份

shutdown数据库(不要用shutdown abort强行关闭),实施一个文件级备份,备份全部的oracle相关文件,包括Windows系统文件,系统状态和Oracle程序文件和数据文件等内容。

这个冷备份对于快速恢复Oracle数据库系统非常关键,如果没有它,系统被破坏后只能重新安装再恢复,这要比直接恢复冷备份慢得多,也更复杂。

每当数据库或表单的物理结构或逻辑结构有变化时都应该重新创建这个冷备份。

2. FULL _disibledevent=Suggested | filename | AUTO | FROM logsource | CANCEL}

最简单的方法是选自动恢复:

auto + < enter >

系统会在init.ora文件中定义的位置上查找所有必需的日志并依次应用它们,最后一个要应用的日志是online redo log,实际上它并不包括任何的transaction,只有一个SCN,可以略过,但是自动恢复过程会因为找不到相应的文件而报错:

ORA-00308: cannot open archived log

E:\ORACLE\ORADATA\KIMSTAD\ARCHIVE\KIMSTADT00036949.ARC

ORA-27041: unable to open file

OSD-04002: unable to open file

O/S-Error: (OS 2) The system cannot find the file specified.

为此输入以下命令(until cancel参数使我们可以在需要的时候中止恢复过程): recover database until cancel using backup controlfile +

这样在数据库恢复的最后阶段再次提示前面的错误时,我们就可以中止恢复过程: cancel + < enter >

这时除了最后一个online redo log以外,所有的commit transaction都已经提交到数据库之中了,完成后会显示: Media recovery canceled

实际上恢复过程已经正常完成了。

最后是打开数据库并同步日志序列号: alter database open resetlogs + < enter >

至此,Oracle数据库被成功恢复到最后一次Full Online备份。

说明:oracle 8i可以用internal账号完成DBA操作。9i取消了internal账号,SYS账号代替它了。为了以DBA身份登录,启动SQL Plus时应该加nolog参数,进入之后再登录,connect username/password as sysdba。
Tags: 

延伸阅读

最新评论

发表评论