设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |   | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 存储频道 >> 数据备份恢复 >> 文章正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
BackupExec 10 SQL Agen…
通过Backup Exec实施Ora…
NetBackup6.0 Beta3 For…
VERITAS NetBackup5.0命…
VERITAS NetBackup 安装…
NetBakup4.5 升级至NetB…
CHS模式值转换成LBA值
全面解析VERITAS NetBac…
  通过Backup Exec实施Oracle灾难恢复         ★★★★★
通过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

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。



频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2006-11-22
信息来源:不详 投稿信箱:itqoo@126.com
文章录入:admin    责任编辑:admin 
  • 上一个文章:

  • 下一个文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持