通过Backup Exec实施Oracle灾难恢复
做Recovery需要什么数据:
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
最简单的方法是选自动恢复:
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。
- · Informix动态服务器onstat选项
- · Informix SQL 的使用技巧
- · 在UNIX下的Informix-online中合理地组织表
- · 开发优质高效的Informix数据库应用程序(1)
- · Informix数据备份技巧
- · Informix 4GL写的转换成大写金额字串的函数
- · 一个批量删除临时表的sh用于informix
- · 影响CPU使用率的配置参数和环境变量
- · Ontape -r 恢复总结(1)
- · 用shell实现Informix的性能监控
- · Windows xp下的Informix connect配置方法
- · OnLine非正常结束后处理办法
- · OnLine进程被挂起后处理办法
- · Informix动态服务器表分片策略的计划和调整
- · 备份Informix-Online数据库三法
- · datetime类型简介
- · 配置Informix动态服务器中CPU虚处理器
- · online的备份详解
- · 配置和实现Informix ON-Bar的备份解决方案
- · Informix sysmaster表详解
- · JDBC连接Informix IDS
- · Sybase数据库死锁对策
- · SYBASE ASA数据库恢复方法
- · Sybase数据库简介(1)
- · SYBASE零售行业解决方案
- · SYBASE数据库日志详解
- · SQL Server 的通用分页显示存储过程
- · Oracle数据库中索引的维护(1)
- · Oracle9i的索引监视及注意事项
- · Oracle 的位图索引简述
- · 在ORACLE里按用户名重建索引的方法
- · Oracle数据库强制索引
- · 改善Oracle的索引
- · Oracle管理查询管用的sql语句
- · Oracle中的模糊查询
- · Oracle 中使用层次查询方便处理财务报表
- · 使用Oracle的Instr()与decode()函数进行多条件组合查询
- · MS SQL Server查询优化方法
- · Access使用查询
- · Access的跨库查询
- · Access 创建索引
- · 为数据库建立索引
- · 优化Microsoft Access提高速度
- · Sybase数据库的性能优化
- · 查询优化
- · 提高ORACLE数据库的查询统计速度
- · ORACLE SQL性能优化 (上)(1)
- · ORACLE SQL性能优化 (下)(1)
- · SQL Server性能分析参数
- · SQL Server 性能优化工具(1)
- · 使用索引调节向导调整应用程序的性能
- · 优化SQL Server服务器内存配置的策略
- · 影响SQL server性能的关键三个方面
- · MySQL性能优化的参数简介
- · MYSQL数据库的查询优化技术
- · 确定Oracle数据库表中重复的记录
- · Access数据库与SQLserver2000的数据互导
- · SQLServer和Access、Excel数据传输简单总结
- · SQL Server到Oracle连接服务器的实现
- · 使用SQL Server数据转换服务升迁Access数据库(1)
- · 将Access移植到SQL Server
- · 联系使用Excel和SQL(1)
- · 避免Access和SQL Server的空值冲突
- · 保护SQL Server:为安全性而安装
- · SQL Server 2000 客户端实用程序
- · 执行一个安全的SQL Server安装
- · SQL Server安全-加密术和SQL注入攻击
- · 指定文件位置优化性能
- · SQL Server备份的三个恢复模型
- · SQL Server的空值处理策略
- · 两个SQL Server维护技巧
- · 用SQL Server保持会话状态
- · 使用SQL服务器内置的错误寻找器寻找和剖析错误
- · 安装SQL Server 2000
- · SQL Server 2000 与 SQL Server 7.0 版兼容性问题
- · MS SQL Server 7.0 性能优化指南
- · MS SQL Server 7.0 的 SAP R/3 性能优化指南
- · 基于WEB的数据库查询
- · Sql Server全文搜索中文出错的问题
- · SQL Server7移动数据的6种方法

