Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2796721
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2013-10-01 12:05:33

                                           停电导致数据库undo表空间损坏一例

              某日服务器反复停电两次,导致数据库无法启动


SMON: enabling cache recovery
Errors in file /usr/oracle/diag/rdbms/test/test/trace/test_ora_15058.trc  (incident=1180152):
ORA-00600: 鍐呴儴閿欒?浠g爜, 鍙傛暟: [2662], [0], [21691999], [0], [21705090], [12582921], [], []
Incident details in: /usr/oracle/diag/rdbms/test/test/incident/incdir_1180152/test_ora_15058_i1180152.trc
Errors in file /usr/oracle/diag/rdbms/test/test/trace/test_ora_15058.trc:
ORA-00600: 鍐呴儴閿欒?浠g爜, 鍙傛暟: [2662], [0], [21691999], [0], [21705090], [12582921], [], []
Error 600 happened during db open, shutting down database
USER (ospid: 15058): terminating the instance due to error 600
Instance terminated by USER, pid = 15058
ORA-1092 signalled during: alter database open resetlogs...
Errors in file /usr/oracle/diag/rdbms/test/test/trace/test_ora_15058.trc  (incident=1180153):
ORA-00600: 鍐呴儴閿欒?浠g爜, 鍙傛暟: [], [], [], [], [], [], [], []
ORA-01092: ORACLE 瀹炰緥缁堟?銆傚己鍒舵柇寮?杩炴[1m|%
ORA-00600: 鍐呴儴閿欒?浠g爜, 鍙傛暟: [2662], [0], [21691999], [0], [21705090], [12582921], [], []
Incident details in: /usr/oracle/diag/rdbms/test/test/incident/incdir_1180153/test_ora_15058_i1180153.trc
Errors in file /usr/oracle/diag/rdbms/test/test/trace/test_ora_15058.trc  (incident=1180154):
ORA-00600: 鍐呴儴閿欒?浠g爜, 鍙傛暟: [], [], [], [], [], [], [], []
ORA-00600: 鍐呴儴閿欒?浠g爜, 鍙傛暟: [], [], [], [], [], [], [], []
ORA-01092: ORACLE 瀹炰緥缁堟?銆傚己鍒舵柇寮?杩炴[1m|%

数据库在启动时做实例恢复的时候,无法恢复了.这下比较麻烦了.设置参数跳过事务恢复.
报undo需要介质恢复.由于是这个测试库,没有备份.

SQL> recover database until cancel;
ORA-00279: 更改 21813125 (在 10/01/2013 03:07:33 生成) 对于线程 1 是必需的
ORA-00289: 建议: /u01/app/oracle/oradata/test/arch/1_1_827636849.dbf
ORA-00280: 更改 21813125 (用于线程 1) 在序列 #1 中


指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 无法打开归档日志
'/u01/app/oracle/oradata/test/arch/1_1_827636849.dbf'
ORA-27037: 无法获得文件状态
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3


ORA-00308: 无法打开归档日志
'/u01/app/oracle/oradata/test/arch/1_1_827636849.dbf'
ORA-27037: 无法获得文件状态
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3


ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194: 文件 1 需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: '/u01/app/oracle/oradata/test/test/system01.dbf'


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-00603: ORACLE 服务器会话因致命错误而终止
进程 ID: 15905
会话 ID: 4955 序列号: 5


非常麻烦,还是打不开,试图使用until cancel来恢复,然后resetlogs来骗过数据库强制打开,
alert.log中狂报4194错误,看来是和undo中的seq和redo seq不一样导致.
改undo_management=manual和undo_tablespace=system,和100513事件.数据库成功打开.

阅读(3099) | 评论(0) | 转发(0) |
0

上一篇:1z053-02

下一篇:ORACLE TSPITR的基本过程剖析

给主人留下些什么吧!~~