首页 > 代码库 > ora-01589

ora-01589

今天遇到了ORA-01589这个错误,下面把解决方案记录如下:

SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 4月 17 15:01:26 2008
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
SQL> conn / as sysdba;
已连接。
SQL> shutdown immediate;
ORA-01109: 数据库未打开

已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: ‘E:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF‘

SQL> recover database using backup controlfile;
ORA-00279: 更改 1670743 (在 04/17/2008 14:13:16 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:\ORACLE\ORA92\RDBMS\ARC00030.001
ORA-00280: 更改 1670743 对于线程 1 是按序列 # 30 进行的

指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
E:\oracle\oradata\EYGLE\REDO01.LOG
ORA-00310: 存档日志包含序列 29;要求序列 30
ORA-00334: 归档日志: ‘E:\ORACLE\ORADATA\EYGLE\REDO01.LOG‘

SQL> recover database using backup controlfile;
ORA-00279: 更改 1670743 (在 04/17/2008 14:13:16 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:\ORACLE\ORA92\RDBMS\ARC00030.001
ORA-00280: 更改 1670743 对于线程 1 是按序列 # 30 进行的

指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
E:\oracle\oradata\EYGLE\REDO02.LOG
已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。


OK,搞定了!

ora-01589