12
返回列表 发新帖
楼主: 6month

控制文件的恢复

[复制链接]
论坛徽章:
6
2008新春纪念徽章
日期:2008-02-13 12:43:03奥运会纪念徽章:击剑
日期:2008-06-22 18:55:25奥运会纪念徽章:击剑
日期:2008-07-26 19:36:52奥运会纪念徽章:蹦床
日期:2008-10-24 13:19:51生肖徽章2007版:羊
日期:2008-11-26 08:28:14CTO参与奖
日期:2009-02-12 11:45:48
11#
 楼主| 发表于 2008-3-18 12:01 | 只看该作者
重建成功了,但是下面的步骤没法走下了

SQL> recover database using backup controlfile until cancel;
ORA-00279: change 5902516 generated at 02/28/2008 10:56:26 needed for thread 1
ORA-00289: suggestion : E:\ARCHIVELOG\ARC00116_0644597489.001
ORA-00280: change 5902516 for thread 1 is in sequence #116


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
D:\oradata\orcl\redo01.log
ORA-00310: archived log contains sequence 132; sequence 116 required
ORA-00334: archived log: 'D:\ORADATA\ORCL\REDO01.LOG'


ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'D:\ORADATA\ORCL\SYSTEM01.DBF'


SQL> recover database using backup controlfile until cancel;
ORA-00279: change 5902516 generated at 02/28/2008 10:56:26 needed for thread 1
ORA-00289: suggestion : E:\ARCHIVELOG\ARC00116_0644597489.001
ORA-00280: change 5902516 for thread 1 is in sequence #116


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
D:\oradata\orcl\redo02.log
ORA-00310: archived log contains sequence 131; sequence 116 required
ORA-00334: archived log: 'D:\ORADATA\ORCL\REDO02.LOG'


ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'D:\ORADATA\ORCL\SYSTEM01.DBF'


SQL> recover database using backup controlfile until cancel;
ORA-00279: change 5902516 generated at 02/28/2008 10:56:26 needed for thread 1
ORA-00289: suggestion : E:\ARCHIVELOG\ARC00116_0644597489.001
ORA-00280: change 5902516 for thread 1 is in sequence #116

使用道具 举报

回复
论坛徽章:
6
2008新春纪念徽章
日期:2008-02-13 12:43:03奥运会纪念徽章:击剑
日期:2008-06-22 18:55:25奥运会纪念徽章:击剑
日期:2008-07-26 19:36:52奥运会纪念徽章:蹦床
日期:2008-10-24 13:19:51生肖徽章2007版:羊
日期:2008-11-26 08:28:14CTO参与奖
日期:2009-02-12 11:45:48
12#
 楼主| 发表于 2008-3-18 12:07 | 只看该作者
查看E:\ARCHIVELOG\ARC00116_0644597489.001是比较早点的archive 备份了,文件有,但是输入这个文件名还是不行的e

使用道具 举报

回复
论坛徽章:
6
2008新春纪念徽章
日期:2008-02-13 12:43:03奥运会纪念徽章:击剑
日期:2008-06-22 18:55:25奥运会纪念徽章:击剑
日期:2008-07-26 19:36:52奥运会纪念徽章:蹦床
日期:2008-10-24 13:19:51生肖徽章2007版:羊
日期:2008-11-26 08:28:14CTO参与奖
日期:2009-02-12 11:45:48
13#
 楼主| 发表于 2008-3-18 12:15 | 只看该作者
我依次输入需要的archive文件直到
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
E:\ARCHIVELOG\ARC00131_0644597489.001
ORA-00279: change 6346423 generated at 03/07/2008 01:00:13 needed for thread 1
ORA-00289: suggestion : E:\ARCHIVELOG\ARC00132_0644597489.001
ORA-00280: change 6346423 for thread 1 is in sequence #132
ORA-00278: log file 'E:\ARCHIVELOG\ARC00131_0644597489.001' no longer needed
for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
E:\ARCHIVELOG\ARC00132_0644597489.001
ORA-00308: cannot open archived log 'E:\ARCHIVELOG\ARC00132_0644597489.001'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
到'E:\ARCHIVELOG\ARC00132_0644597489.001'这个文件时提示找不到了,我看了archive备份的,确实到这就没有往后的文件了,后来想到那个时候把数据库的服务都停掉了,今天用了才开起来的,所以到这段时间的备份可能没有,但是有点疑惑,既然我把数据库服务都关掉了,那么archive备份难道还在继续运行么,导致现在的问题,到现在已经没有archive文件给继续恢复了,应该怎么办呢,需要把数据库恢复到以前的时间点上才行么

使用道具 举报

回复
招聘 : Java研发
论坛徽章:
5
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44奥运会纪念徽章:蹦床
日期:2008-07-11 22:24:29生肖徽章2007版:蛇
日期:2009-08-03 15:03:21SQL大赛参与纪念
日期:2011-04-13 12:08:17紫蛋头
日期:2011-07-25 13:06:36
14#
发表于 2008-3-18 13:11 | 只看该作者
重建成功了的时候,要用日志文件对控制文件进行修复的.会把一些数据库的相关信息写进去.

你在修复的时候出错,是不是你的日志文件也坏了.

你把所有的日志文件都试过吗?  输入日志文件时加一下单引号.


忘记说一下,我的方法是针对没有备份的情况下重建的.你重建成功会丢失以前的备份等信息.

最好是用有

1.有控制文件备份的情况下
                        复制备份的控制文件,替换丢失的控制文件(用控制文件名命名)
SQL>startup;
SQL>recover database using backup controlfile;

看到这个提示时输入相应的日志文件路径如:
        'D:\ORACLE\ORADATA\TEST9\REDO01.LOG'
如果输入的文件有误会出现下面图片

如果出现上面错误就再重复一次
SQL> recover database using backup controlfile until cancel;
输入正确的日志后会出现


SQL>alter database open resetlogs;

[ 本帖最后由 notmain 于 2008-3-18 13:14 编辑 ]

使用道具 举报

回复
论坛徽章:
6
2008新春纪念徽章
日期:2008-02-13 12:43:03奥运会纪念徽章:击剑
日期:2008-06-22 18:55:25奥运会纪念徽章:击剑
日期:2008-07-26 19:36:52奥运会纪念徽章:蹦床
日期:2008-10-24 13:19:51生肖徽章2007版:羊
日期:2008-11-26 08:28:14CTO参与奖
日期:2009-02-12 11:45:48
15#
 楼主| 发表于 2008-3-18 14:01 | 只看该作者
谢谢notmain兄,是我一时疏忽,忘了加双引号,现在ok
不过看到另一现象,这种恢复如果不用resetlog, 直接
recover database using backup controlfile until cancel;
按提示输入有保存的archive文件(假设都不缺失)是否也能恢复到当前状态,我的archive不全,无法继续验证下去了
我的想法不知道是否可行。。还请再指教下,非常感谢耐心解答!!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表