问题描述:
求救 系统突破崩溃,oracle9起不来,非归档模式
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:Documents and SettingsAdministrator>sqlplus /nolog
SQL*Plus: Release 9.0.1.0.1 - Production on Thu Feb 9 17:16:46 2006
(c) Copyright 2001 Oracle Corporation. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> shutdown
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 114061244 bytes
Fixed Size 282556 bytes
Variable Size 79691776 bytes
Database Buffers 33554432 bytes
Redo Buffers 532480 bytes
Database mounted.
SQL> alter database oracle open
2 ;
alter database oracle open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database oracle open resetlogs;
alter database oracle open resetlogs
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: 'D:ORACLEORADATAORACLESYSTEM01.DBF'
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
解决方法:
对于非档的模式,出现ORA-01110: data file 1: 'D:ORACLEORADATAORACLESYSTEM01.DBF'
即说系统表空间数文件需要恢复就比较难办了。
dul 说起来也不是一句两句可以搞定的,如下简单的说说_allow_resetlogs_corruption参数。
www.ixdba.net
你要仔细确认是online redo log坏了。记住组号,假设是group 1
1、做好现有系统的备份
2、 在init<SID>.ora文件中如入如下的参数
_allow_resetlogs_corruption=true
3、sqlplus '/ as sysdba'
SQL>startup mount;
SQL>alter database clear logfile group 1 ;
SQL>recover database until cancel ;
SQL>alter database open resetlogs ;
SQL>alter database open ;
以上操作中可能有几步会返回错误,不用理会,继续进行,数据库应该会成功启动打开的
4、赶紧把数export出来,然后重建库,再把数据import回去。