ITPub博客

首页 > 数据库 > 数据库开发技术 > 9i,联机日志坏,数据库突破崩溃,非归档

9i,联机日志坏,数据库突破崩溃,非归档

原创 数据库开发技术 作者:qiuyb 时间:2005-10-20 12:22:09 0 删除 编辑
给出非归档模式下当前联机日志文件坏的一处理方法。[@more@]

问题描述:
求救 系统突破崩溃,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参数。

你要仔细确认是online redo log坏了。记住组号,假设是group 1

1、做好现有系统的备份

2、 在init.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回去。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/717880/viewspace-822018/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    75
  • 访问量
    650231