win2003server下 oracle 9i 突然无法启动(可能是晚上断电引起的)。用普通用户登陆时提示 ORA-01033: ORACLE initialization or shutdown in progress
dba 可以登陆,但是,无法操作任何资源。后来在查找错误时突然发现 REDO01.LOG 坏了,无法copy 使用命令行操作步骤如下
sqlplus /nolog
conn /as sysdbashutdown immediate 提示信息为:
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。startup 提示信息为:已经卸载数据库。
ORACLE 例程已经关闭。SQL> startup
ORACLE 例程已经启动。Total System Global Area 143727516 bytes
Fixed Size 453532 bytes
Variable Size 109051904 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项alter database open resetlogs; 提示信息为:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\ORASRCCS\SYSTEM01.DBF'
请问,在这种情况下,我的数据是否还能恢复回来?
dba 可以登陆,但是,无法操作任何资源。后来在查找错误时突然发现 REDO01.LOG 坏了,无法copy 使用命令行操作步骤如下
sqlplus /nolog
conn /as sysdbashutdown immediate 提示信息为:
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。startup 提示信息为:已经卸载数据库。
ORACLE 例程已经关闭。SQL> startup
ORACLE 例程已经启动。Total System Global Area 143727516 bytes
Fixed Size 453532 bytes
Variable Size 109051904 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项alter database open resetlogs; 提示信息为:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\ORASRCCS\SYSTEM01.DBF'
请问,在这种情况下,我的数据是否还能恢复回来?
解决方案 »
- 这里的+ 号啥意思?
- oracal执行mysql存储过程
- oracle基础问题
- 分享,Oracle存储过程+.NET(c#)+微软企业库的示例(添加修改删除,缺列表等)
- 注册表中没有找不到nls_lang怎么修改客户端字符集
- 触发器中调用存储过程的问题,请大家帮忙
- sql求助!
- 为什么oracle的sql语句的表名必须加“”???
- 在ORACLE中完成类似SQLSERVER2000中的select * into ABCBAK from ABC 该如何写
- 我是个初学者,请各位高手帮助以下,我进入SQL*Plus时连接数据库怎么一直是连接失败?
- Oracle存储过程问题:能不能把数据集当参数传到存储过程中?
- ORACLE恢复问题
recover database until cancel;
alter database open resetlogs;这样你的数据库应该可以启动出来, 不过数据是否有丢失,就看你运气了 (就是数据库down之前, oracle有没有把数据全部写到硬盘上. 你只有一份online-redolog, 如果损失了最新的数据是还原不了的)
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成这是什么原因呢?
也可以拷贝这两个文件之一,将REDO01.LOG覆盖在启动数据库。下面是方法:
connect as/sysdba
shutdown
将REDO02.LOG或REDO03.LOG移动至REDO01.LOG的位置
startup mount( 启动但不打开数据库)
alter database rename file
'd:\oracle\REDO02.LOG'
to
'C:\ORACLE\REDO01.LOG'
(假设您的REDO02.LOG在D盘中,文件路径根据您的机器改变,这里只是具个例子)
alter database open
alter database open
但你有可能做不到100%的恢复,根据经验可能会丢失一点东西,不过丢失的东西应该不会影响你的系统的完整性!