隐含参数_allow_resetlogs_corruption

环境是:win98+orawin95;某天死机后,数据库打不开,现象如下:
Oracle Server Manager Release 3.0.4.0.0 - Production

(c) Copyright 1997, Oracle Corporation. All Rights Reserved.

Oracle8 Personal Edition Release 8.0.4.0.0 - Production
PL/SQL Release 8.0.4.0.0 - Production

SVRMGR> connect internal
已连接
SVRMGR> startup;
已起动 ORACLE 事例
全部系统全局区域 22993044 字节
Fixed Size 47252 字节
Variable Size 6488064 字节
Database Buffers 16384000 字节
Redo Buffers 73728 字节
已装入数据库
ORA-01589: ??????????RESETLOGS?NORESETLOGS??

没有办法,只有recover:

环境是:win98+orawin95;某天死机后,数据库打不开,现象如下:
Oracle Server Manager Release 3.0.4.0.0 - Production

(c) Copyright 1997, Oracle Corporation. All Rights Reserved.

Oracle8 Personal Edition Release 8.0.4.0.0 - Production
PL/SQL Release 8.0.4.0.0 - Production

SVRMGR> connect internal
已连接
SVRMGR> startup;
已起动 ORACLE 事例
全部系统全局区域 22993044 字节
Fixed Size 47252 字节
Variable Size 6488064 字节
Database Buffers 16384000 字节
Redo Buffers 73728 字节
已装入数据库
ORA-01589: ??????????RESETLOGS?NORESETLOGS??

没有办法,只有recover:

SVRMGR> startup mount
已起动 ORACLE 事例
全部系统全局区域 22993044 字节
Fixed Size 47252 字节
Variable Size 6488064 字节
Database Buffers 16384000 字节
Redo Buffers 73728 字节
已装入数据库
SVRMGR> recover;
ORA-00283: ?????,??????
ORA-00322: ?? 1?? 1?????????
ORA-00312: ???? 1 ? 1: 'C:ORAWIN95DATABASELOG2ORCL.ORA'

因为我的数据库只有某个用户的逻辑备份,此外没有任何的该数据库的物理备份!!!!!!而且我的数据库是非归档模式!!!我也不奢望能够完全恢复,如果能够不完全恢复也好呀,可是看来也很难亚:

SVRMGR> recover database until cancel
ORA-00279: ?? 18368583 ??? 10/14/06 20:45:46 ??? 1
ORA-00289: ??: C:ORAWIN95RDBMS80ARC5647.1
ORA-00280: ?? 18368583 ?? 1 ???? #5647
指定记录: {=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ????????
ORA-01152: ?? 1 ?????????
ORA-01110: ???? 1: 'C:ORAWIN95DATABASESYS1ORCL.ORA
SVRMGR> alter database open resetlogs;
alter database open resetlogs
*
ORA-01152: ?? 1 ?????????
ORA-01110: ???? 1: 'C:ORAWIN95DATABASESYS1ORCL.ORA

增加下列参数至Oracle启动文件:

_allow_resetlogs_corruption=TRUE

_corrupted_rollback_segments=(list of all your rollback segments)
注释掉启动文件中的rollback_segments参数或undo_tablespaces参数
startup mount
recover database until cancel
alter database open resetlogs;
如果出现ora-600 [2662]和ora-600 [2256] 再解决。。。

你可能感兴趣的:(oracle,C++,c,SQL Server,C#)