私人笔记:通过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 needed for thread 1
ORA-00289: Suggestion : Oracle_HomeOradata\%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:ORACLEORADATAKIMSTADARCHIVEKIMSTADT00036949.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。
作者:DoSTOR网友/climbmoun
御罗天 发表于: 2009-11-28
我要回答相关推荐
-
数据中心灾难恢复规划模板与指南
阅读本篇有关数据中心灾难恢复规划指南,然后免费下载我们提供的模板,评估数据中心设施及其基础架构在灾难期间的表现。
-
揭开灾备真相——行业现状及趋势
笔者在上一篇文章《揭开灾备真相——那些年我们见过的灾备术语》里介绍了灾备领域常见的一些专业术语,本文将站在行业角度,介绍灾备市场的现状及未来趋势。
-
揭开灾备真相——那些年我们见过的灾备术语
作为数据保护的最后一道屏障,灾备系统的重要性不言而喻。IT圈好像一夜之间都在说灾备,那么到底什么是灾备?为什么灾备如此重要?未来发展趋势如何?本系列文章带你认清灾备真相。
-
存储经理人2017年11月刊:如何选择正确的DRaaS供应商
《存储经理人》2017年11月刊重点介绍如何选择正确的DRaaS提供商:DRaaS供应商应当具备四项关键技能,以能够全方位应对所有潜在灾害。本期杂志还介绍了下一代线性磁带开放标准LTO-8,云中数据存储的注意事项以及驱动企业采用云存储的主要因素,同时阐述了冷存储需求不断高涨以及二级存储的现代化转型等现状,提醒大家在文件同步和共享时应确保数据安全,以及如何为未来的闪存做好准备。
-
年营收平均环比增长200%+ 英方是如何做到的?
英方自2014年全面开拓灾备市场以来,至2017年每年的营业收入平均环比持续增长超过200%。那么,是什么造就了如此高的业务发展速度?