ORA-01245如何解决,网上的方法都试过了(百分求助)

fly2749 2009-09-13 04:30:30
今天在linux中把ctl误删除了,白天在这里发了贴问了一下,说是可以重建。
然后按照重建的方法依次执行,到了以下这一步时:
recover database using backup controlfile until cancel;
ORA-00279: change 743784 generated at 09/07/2009 16:13:24 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2009_09_13/o1_mf_1_16_%u_.ar
c
ORA-00280: change 743784 for thread 1 is in sequence #16
出现了上述错误,在网上google了一下,原因大概是因为scn的序列号大于老版本的号码问题。
由于郁闷了我一整天,于是通过offline drop把system01.dbf文件删除了,不知这样是什么意思,只是在网上看到的。
然后现在通过上述命令执行时,出现一样的错误,于是将redo.log文件指定给他,
然后就出现了ORA-01245: offline file 1 will be lost if RESETLOGS is done这个问题,使用了很多办法都不可以。另外说明一下,我的库之前没有做过任何备份。请问还可以实现找回ctl文件么。期待高手的回复
...全文
772 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly2749 2009-09-16
  • 打赏
  • 举报
回复
而且我的system01.dbf这个文件还是有的,这个错的提示是指的哪个文件不见了?
fly2749 2009-09-16
  • 打赏
  • 举报
回复
我之前就是通过offline drop这个命令把system01文件删除了,这是因为
ORA-00279: change 743784 generated at 09/07/2009 16:13:24 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2009_09_13/o1_mf_1_16_%u_.ar
c
ORA-00280: change 743784 for thread 1 is in sequence #16
这个错的缘故,可是我的处理办法是不妥当的,当时也没有考虑什么原因,就是用了offline drop,那么以上的那个错,如果没有offline drop system01的话,那么是不是把redo01,02,03log文件指定给他就可以了?我的数据库虽然平时都是归档模式的,但是他是在我本机上运行的,我一般设置他为手动启动,如果这样的话,一般我某一天如果不启动oracle服务,那么这个归档的备份是不会自动进行archivelog的记录的,如果这样的话,那么和在非归档模式下的效果不是一样的么
inthirties 2009-09-14
  • 打赏
  • 举报
回复
所以备份对于恢复的重要性,通过这里你应该很有体验了。

先学习基本的备份,和恢复的一些原理性的知识,对于你现在来说是更有意义的,

你可以先看看这个文章,
http://bbs.inthirties.com/thread-83-1-1.html

oracle恢复流程.doc
inthirties 2009-09-14
  • 打赏
  • 举报
回复
一般这样的情况,能够进行恢复的话,

需要以下条件
1. 上次冷备份一份
2. 从上次冷备份以来的所以归档文件,如果是归档文件中间有中断的,只能恢复好中断前的
3. 有完整而正确的redo文件
4. 数据库必须是正常关闭的,如果是abort关闭,必须保证是clear的数据库
5. 故障的数据库故障后,没有进行任何非正确的恢复手段。


只有是以上这样的前提,才能进行正确的恢复,否则就是靠经验来进行排查,用一些方法来诊断和恢复了。
傻儿哥 2009-09-14
  • 打赏
  • 举报
回复
只要是在归档模式下,且没有丢失归档日志,就没有问题.
因为你是新建立的数据库,所以归档日志没有也是可能的.

fly2749 2009-09-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 csucxcc 的回复:]




1.如果你没有rman 备份集的话, offline drop 掉 system 表空间的datafile 后,你是无法恢复的.
  为什么?因为system 表空间是oracle 数据库 所必须的.
  也就是说,如果system 表空间无法online,数据库是不能起的来的.
  offline drop只用在那些非关键的 datafile 丢失而又无法恢复的情况下.
2.LZ做不完全恢复,那么注意了,
  如果你满足着两个条件,系统8成可以恢复 
1.系统需要是在归档模式下,归档文件不能丢失
2.最近的在线联机日志要没有被破坏,
  如果最近的在线联机日志没丢,
 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2009_09_13/o1_mf_1_16_%u_.ar
c
ORA-00280: change 743784 for thread 1 is in sequence #16
出现红字部分的时候,选择在线联机日志尝试恢复.一般是能恢复的.
因为在线联机日志有多个(最少2个最多N个),建议你一个个尝试,
当你遇到系统崩溃时候处于 current 状态的在线日志时,就可以恢复成功了.

举的一个例子已经放在你的老贴你了,可以参照一下

[/Quote]
/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2009_09_13中没有任何文件
傻儿哥 2009-09-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 smh821025 的回复:]
今天在linux中把ctl误删除了,白天在这里发了贴问了一下,说是可以重建。
然后按照重建的方法依次执行,到了以下这一步时:
recover database using backup controlfile until cancel;
ORA-00279: change 743784 generated at 09/07/2009 16:13:24 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2009_09_13/o1_mf_1_16_%u_.ar
c
ORA-00280: change 743784 for thread 1 is in sequence #16
出现了上述错误,在网上google了一下,原因大概是因为scn的序列号大于老版本的号码问题。
由于郁闷了我一整天,于是通过offline drop把system01.dbf文件删除了,不知这样是什么意思,只是在网上看到的。
然后现在通过上述命令执行时,出现一样的错误,于是将redo.log文件指定给他,
然后就出现了ORA-01245: offline file 1 will be lost if RESETLOGS is done这个问题,使用了很多办法都不可以。另外说明一下,我的库之前没有做过任何备份。请问还可以实现找回ctl文件么。期待高手的回复

[/Quote]

1.如果你没有rman 备份集的话, offline drop 掉 system 表空间的datafile 后,你是无法恢复的.
为什么?因为system 表空间是oracle 数据库 所必须的.
也就是说,如果system 表空间无法online,数据库是不能起的来的.
offline drop只用在那些非关键的 datafile 丢失而又无法恢复的情况下.
2.LZ做不完全恢复,那么注意了,
如果你满足着两个条件,系统8成可以恢复
1.系统需要是在归档模式下,归档文件不能丢失
2.最近的在线联机日志要没有被破坏,
如果最近的在线联机日志没丢,
/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2009_09_13/o1_mf_1_16_%u_.ar
c
ORA-00280: change 743784 for thread 1 is in sequence #16

出现红字部分的时候,选择在线联机日志尝试恢复.一般是能恢复的.
因为在线联机日志有多个(最少2个最多N个),建议你一个个尝试,
当你遇到系统崩溃时候处于 current 状态的在线日志时,就可以恢复成功了.

举的一个例子已经放在你的老贴你了,可以参照一下
Dave 2009-09-13
  • 打赏
  • 举报
回复
楼主看看alert log里是怎么写的,

慢慢来,积累的多了就清楚了. 要理解为什么要这么做..不能一步一步照着做,即使这次解决了,下次遇到了还是不懂..网上很多的方法都是有问题的,这要自己去实践,去摸索..

你看到的这些错误也有可能是其他的操作和错误造成的,所以要从头找起. 要推断出可能是哪一步出了问题,



ORA-00279: change string generated at string needed for thread string
Cause: The requested log is required to proceed with recovery.

Action: Please supply the requested log with "ALTER DATABASE RECOVER LOGFILE <file_name>" or cancel recovery with "ALTER DATABASE RECOVER CANCEL".

ORA-00289: suggestion : string
Cause: This message reports the next redo log filename that is needed, according to the initialization parameters LOG_ARCHIVE_DEST and LOG_ARCHIVE_FORMAT. This message assumes that LOG_ARCHIVE_DEST and LOG_ARCHIVE_FORMAT are the same now as when the required redo log file was archived.

Action: Consider using this filename for the next log needed for recovery.


ORA-00280: change string for thread string is in sequence #string
Cause: This message helps to locate the redo log file with the specified change number requested by other messages.

Action: Use the information provided in this message to specify the required archived redo log files for other errors.


fly2749 2009-09-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tianlesoftware 的回复:]
ORA-01245: offline file string will be lost if RESETLOGS is done

Cause: Attempting to do an OPEN RESETLOGS with a file that will be lost because it is offline. The file was not taken offline with the FOR DROP option.

Action: Either bring the file online and recover it, or take it offline with the FOR DROP option.

楼主做任何影响数据库的操作之前记得备份. 这是DBA的常识..

system表空间是系统表空间,你把它drop了,系统如何运行? 

ORA-01245的解决方法写比较清楚: 1. onlie表空间并恢复它 2. offline 是加上for drop.

至于ORA-00279,ORA-00289,ORA-00280,没遇到过,研究下...
[/Quote]
请问可以修复么,在我的oradata下还是有这个文件的。这个提示是说和这个文件的相关文件丢失了什么的?
Dave 2009-09-13
  • 打赏
  • 举报
回复

ORA-01245: offline file string will be lost if RESETLOGS is done

Cause: Attempting to do an OPEN RESETLOGS with a file that will be lost because it is offline. The file was not taken offline with the FOR DROP option.

Action: Either bring the file online and recover it, or take it offline with the FOR DROP option.

楼主做任何影响数据库的操作之前记得备份. 这是DBA的常识..

system表空间是系统表空间,你把它drop了,系统如何运行?

ORA-01245的解决方法写比较清楚: 1. onlie表空间并恢复它 2. offline 是加上for drop.

至于ORA-00279,ORA-00289,ORA-00280,没遇到过,研究下...

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧