Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1265183
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-16 19:20:24

eason

 

由于应用程序的一些错误,导致Oracle session快速增长,DB 发生

 

ora00600 错误,Undotbs不够用,DB自己关闭,导致双机切换,切换后又发生类似现象,双机多次切换,导致DB关闭不正常,再次打开时发生如下错误:

 

ORA-01207 file is more recent than controlfile - old controlfile

 

Reference:该错误的解释

 

Cause: The control file change sequence number in the datafile is greater than the number in the control file. This implies that the wrong control file is being used. Note that repeatedly causing this error can make it stop happening without correcting the real problem. Every attempt to open the database will advance the control file change sequence number until it is great enough.

 

Action: Use the current control file or do BACKUP CONTROLFILE RECOVERY to make the control file current. Be sure to follow all restrictions on doing a BACKUP CONTROLFILE RECOVERY.

 

Target: 尽快打开Oracle DB,恢复业务,更改应用软件错误部分。

 

Solution

 

1        Check alert filekill monitor process

2        Startup mount

3        alter database backup control to trace

4        Find the trace file,and open it

5        Startup nomount

6        recreate controlfile using resetlogs

7        recover database using backup controlfile

8        alter database open resetlogs;

9        alter tablespace temp add tempfile '.dbf' reuse;

 

ok!

 

Remark:

 

1.        在执行第6步的时候原本用noresetlogs,但recreate controlfile不成功,可能relogs也遭到破坏,其中对VG进行了释放再激活操作,仍旧create controlfile失败。最终采用resetlogs方式。

 

2.        在执行第7步时需注意,要一个一个的输入redolog以做尝试,输入一个正确的redolog后可能还需下一个redolog继续做恢复,直到出现“完成介质恢复”字样。

 

3.        8步执行时间较长。

阅读(427) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~