网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  通过Backup Exec实施Oracle来灾难恢复     
  文章作者:未知  文章来源:未知  
  查看:170次  录入:管理员--2007-05-27  
 

shutdown数据库(不要用shutdown abort强行关闭),实施一个文件级备份,备份全部的Oracle相关文件,包括Windows系统文件,系统状态和Oracle程序文件和数据文件等内容。 这个冷备份对于快速恢复Oracle数据库系统非常关键,如果没有它,系统被破坏后只能重新安装再恢复,这要比直接恢复冷备份慢得多,也更复杂。 每当数据库或表单的物理结构或逻辑结构有变化时都应该重新创建这个冷备份。

1、FULL CLOSED备份:

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

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

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

2. FULL ONLINE备份:

这个备份要通过Backup Exec Agent for Oracle Server来完成,要备份全部表空间,归档日志和控制文件,通过这种方式备份,Oracle会将所有缓存内容写入文件,将online redo log做归档,所以数据库备份中包含的是备份时数据库的即时点信息,完整而且有效。以后做恢复时,可以恢复到最后一次FULL ONLINE备份的状态。

恢复过程:

1. 重新安装Windows系统和Remote Agent for Windows Server,为恢复Oracle服务器准备环境。

2. 恢复最后一次FULL CLOSED备份,重新启动计算机。此时Windows系统,Oracle数据库系统都是完整的,只是Oracle数据库中可能不是最新的数据。Backup Exec Agent for Oracle Server也不用重新安装了。

3. 用SQLPlus用SYS以sysdba身份连接到数据库系统,关闭数据库。 shutdown immediate + < enter >

4. 通过介质服务器恢复最新的FULL ONLINE备份,恢复作业属性的高级选项中,确保选中了“Restore over Existing files(覆盖现存文件)” 选项。

要想成功的恢复数据库,在最后一次FULL CLOSED备份之后的所有redo log必须都已经成功归档并备份。少了哪一个,数据库就无法恢复到最后的FULL ONLI NE备份时的状态。

通过Oracle的alert log可以看到数据库的恢复需要哪些归档日志,以及你应该把它们恢复到什么位置。

5. 恢复完成后,用SYS用户以sysdba身份连接到数据库,将数据库加载到mount阶段:startup mount + < enter >。

6. 数据库mount完成后,执行recover过程:recover database using backup controlfile + < enter>。

数据库会提示你需要哪些日志:

ORA-00279: Change 36579 generated at needed for thread 1
ORA-00289: Suggestion : \Oracle_Home\Oradata\\%SID%T00036579.ARC
ORA-00280: {=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。

 
 
上一篇: 详细讲述Oracle中的to_date参数含义    下一篇: 详细讲解Oracle中DECODE()函数的使用法
  相关文档
轻松接触oracle9i中的一个特殊等待事件 11-22
深入讲解如何保证和加强数据库的安全性 (1) 02-20
讲解oracle数据库的sysdba权限登录问题 (1) 06-05
实例讲解oracle中一些关于权限的数据字典 03-17
快速掌握删除oracle 10g垃圾表的好方法 11-22
Oracle 9i数据库中动态重配置深入分析 04-11
讲解oracle failsafe与rac的联系与区别 06-11
从Oracle的FORM中调用REPORT的实用技巧 08-05
细化解析:怎样恢复一个丢失的 数据文件 11-15
使用t-sql强制所有用户退出当前数据库 07-17
详细讲解oracle数据库sys密码的找回方法 08-01
带你深入了解oracle数据库的进制转换 03-11
oracle tnslistener服务启动后自动停止问题 07-21
将Oracle的数据倒入EXCEL中的方法 04-23
Oracle 10g中用FORALL处理非连续数组 04-23
快速解决"oracle"数据库中的常见问题 (1) 03-17
用一个实例讲解如何生成autotrace权限 04-03
oracle数据库共享连接和专用连接方式比较 (1) 04-28
在oracle 10g中如何解决ora-19815错误 04-03
用Oracle 10g新的行时间戳捕捉变化 04-11
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息