控制文件损坏导致的ora-600 急,在线等

gdd714 2010-09-14 10:13:02
控制文件损坏导致的ora-600 急,在线等

控制文件损坏导致的ora-600晚上快下班的时候接到电话说数据库挂掉了
连接上去报错ora-12528 然后看数据库实例没有启动起来
startup force 报错
ORA-00214: ???? ''I:\ORACLE\PRODUCT\10.2.0\ORADATA\IBM\CONTROL01.CTL'' ?? 18559??? ''I:\ORACLE\PRODUCT\10.2.0\ORADATA\IBM\CONTROL02.CTL'' ?? 18515 ???

ALTER SYSTEM SET CONTROL_FILES='C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL'

startup force

ora-00202 控制文件损坏
ora-00227 这个什么提示忘记了

然后
ALTER SYSTEM SET CONTROL_FILES='C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL'

startup force

ORA-00600: ??????, ??: [kccpb_sanity_check_2], [18558], [18515], [0x0], [], [],[], []


我google搜索了半天看到很多帖子提到重建控制文件但是数据库根本没法mount 呀,执行alter database backup controlfile to trace ;
总是报错,不是专业的dba但是对oracle很感兴趣所以公司的oracle问题一般都找我了,这个很急,在线等。先谢谢了
...全文
289 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdddddd 2012-02-22
  • 打赏
  • 举报
回复
提示 system01.dbf需要介质恢复 设置_corrupted_rollback_segments即可,不过数据有损失
gdd714 2010-09-17
  • 打赏
  • 举报
回复
手动写了一个重建控制文件的脚本重建了控制文件,但是alter database open resetlogs的时候提示 system01.dbf需要介质恢复 ,没办法了只能用前一天的DMP文件还原了。
Phoenix_99 2010-09-15
  • 打赏
  • 举报
回复
1.修改控制文件
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'E:\ORACLE\UBACKUP\REDO01.LOG' SIZE 50M,
GROUP 2 'E:\ORACLE\UBACKUP\REDO02.LOG' SIZE 50M,
GROUP 3 'E:\ORACLE\UBACKUP\REDO03.LOG' SIZE 50M
DATAFILE
'E:\ORACLE\UBACKUP\SYSTEM01.DBF',
'E:\ORACLE\UBACKUP\UNDOTBS01.DBF',
'E:\ORACLE\UBACKUP\SYSAUX01.DBF',
'E:\ORACLE\UBACKUP\USERS01.DBF',
'E:\ORACLE\UBACKUP\EXAMPLE01.DBF',
'E:\ORACLE\UBACKUP\TABS.DBF'
CHARACTER SET ZHS16GBK
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEVICE TYPE','DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET');
-- Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK FORMAT ''f:/''');

2.存成.sql文件并执行
3.恢复数据库
recover database using backup controlfile until cancel;
4.重置归档号
alter database open resetlogs;

以上可以试一试
gdd714 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tianlesoftware 的回复:]
1. 避免问题扩大话,在问题没有确定之前不要做其他操作。

2. alert log 在数据库宕机时候有什么其他信息。

3. 在宕机的时候有什么操作没有? Oracle 一般很少只会报一个ORA-600的错误。 这个是Oracle的内部错误。 应该还有其他的错误提示。 所以楼主最好把宕机最后几分钟的alert log贴出来。

楼主贴的都是你的操作, 这个不能确定问题。 最好……
[/Quote]

所有文件已经备份过了,我去看看日志。
gdd714 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 phoenix_99 的回复:]

1.修改控制文件
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LO……
[/Quote]

数据文件重建也尝试过了。
alter database open resetlogs 这一步的时候提示需要介质恢复system01.dbf
Dave 2010-09-15
  • 打赏
  • 举报
回复

startup force
-- 这个命令也不建议使用
startup force = shutdown abort + startup


Dave 2010-09-15
  • 打赏
  • 举报
回复


1. 避免问题扩大话,在问题没有确定之前不要做其他操作。

2. alert log 在数据库宕机时候有什么其他信息。

3. 在宕机的时候有什么操作没有? Oracle 一般很少只会报一个ORA-600的错误。 这个是Oracle的内部错误。 应该还有其他的错误提示。 所以楼主最好把宕机最后几分钟的alert log贴出来。

楼主贴的都是你的操作, 这个不能确定问题。 最好还是看alert log.

gdd714 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 phoenix_99 的回复:]

用第二个控制文件能否启动到mount状态呢
[/Quote]
都是不能的。
Phoenix_99 2010-09-14
  • 打赏
  • 举报
回复
用第二个控制文件能否启动到mount状态呢
gdd714 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq646748739 的回复:]

数据库有备份吗?
冷备份、热备份、rman备份都行。
[/Quote]

有备份我也不用着急了。一次备份都没有,逻辑备份都没有

对了,内容补充下

控制文件损坏导致的ora-600晚上快下班的时候接到电话说数据库挂掉了
连接上去报错ora-12528 然后看数据库实例没有启动起来
startup force 报错
ORA-00214: ???? ''I:\ORACLE\PRODUCT\10.2.0\ORADATA\IBM\CONTROL01.CTL'' ?? 18559??? ''I:\ORACLE\PRODUCT\10.2.0\ORADATA\IBM\CONTROL02.CTL'' ?? 18515 ???

ALTER SYSTEM SET CONTROL_FILES='I:\ORACLE\PRODUCT\10.2.0\ORADATA\IBM\CONTROL01.CTL'

startup force

ora-00202 控制文件损坏
ora-00227 这个什么提示忘记了

然后
ALTER SYSTEM SET CONTROL_FILES='I:\ORACLE\PRODUCT\10.2.0\ORADATA\IBM\CONTROL02.CTL'

startup force

ORA-00600: ??????, ??: [kccpb_sanity_check_2], [18558], [18515], [0x0], [], [],[], []


我google搜索了半天看到很多帖子提到重建控制文件但是数据库根本没法mount 呀,执行alter database backup controlfile to trace ;
总是报错,不是专业的dba但是对oracle很感兴趣所以公司的oracle问题一般都找我了,这个很急,在线等。先谢谢了

补充下

情况是这样的,有3个控制文件
名称 SCN号
CONTROL01.CTL 18559
CONTROL02.CTL 18515
CONTROL03.CTL 18515
第一个的SCN号码是对的但是有坏快
第二个,第三个是好的但是SCN号码不对
这样既不能通过第一个启动,也不能通过第二第三个启动
碧水幽幽泉 2010-09-14
  • 打赏
  • 举报
回复
数据库有备份吗?
冷备份、热备份、rman备份都行。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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