环境是: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提供了一个隐含参数`_allow_resetlogs_corruption`,在启用后,允许在重置日志时忽略潜在的数据损坏。然而,这应作为最后手段,因为可能会永久丢失数据。在使用此参数前,应先尝试其他恢复策略,并充分理解其...
在本文中,我们使用了两个隐含参数:*_allow_resetlogs_corruption=TRUE 和 *.undo_management='manual'。第一个参数允许数据库在启库时恢复日志文件,第二个参数设置Undo 表空间的管理方式为手动。 知识点2: Undo...
* 在使用隐含参数进行处理时,需要添加 _allow_resetlogs_corruption=TRUE 参数。 * 在打开数据库时,可能出现 ORA-00603 错误,可以通过多次重起数据库解决。 * 在处理过程中,需要多次重起数据库以解决错误。 ...
因此,我们需要设置隐含参数 `_allow_resetlogs_corruption=TRUE` 来恢复当前联机日志: ``` SQL> alter system set "_allow_resetlogs_corruption"=TRUE; ``` 然后,我们可以执行以下 SQL 命令来恢复当前联机日志...
在面对redo日志异常时,可以设置隐含参数`_allow_resetlogs_corruption`来强制打开数据库,但这样可能丢失redo日志中的数据。另外,`_offline/corrupted_rollback_segments`参数用于处理回滚段异常,可能导致未提交...
1. 设置隐含参数`_allow_resetlogs_corruption`:此参数主要用于在因redo日志异常而导致的数据库无法启动时,屏蔽redo前滚,强制打开数据库。但是这种方法可能会导致redo中的数据丢失,使用时需要非常慎重。 2. ...