操作系统:RHEL5.3
数据库10g在sqlplus中运行命令:
startupORACLE instance started.Total System Global Area 2147483648 bytes
Fixed Size 1220432 bytes
Variable Size 486539440 bytes
Database Buffers 1644167168 bytes
Redo Buffers 15556608 bytes
Database mounted.
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/oracle/redo03.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3这个redo03.log的日志文件被误删除了,请问如何解决数据库启动正常的问题。注:
数据丢失没有关系,有数据备份的。
大家解决的方法甚至包括重建数据库或者实例。
数据库10g在sqlplus中运行命令:
startupORACLE instance started.Total System Global Area 2147483648 bytes
Fixed Size 1220432 bytes
Variable Size 486539440 bytes
Database Buffers 1644167168 bytes
Redo Buffers 15556608 bytes
Database mounted.
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/oracle/redo03.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3这个redo03.log的日志文件被误删除了,请问如何解决数据库启动正常的问题。注:
数据丢失没有关系,有数据备份的。
大家解决的方法甚至包括重建数据库或者实例。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。Total System Global Area 192937984 bytes
Fixed Size 1248044 bytes
Variable Size 138413268 bytes
Database Buffers 50331648 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员
ORA-00312: 联机日志 3 线程 1:
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO03.LOG'------这里我日志组只有一个日志文件,不能删除日志组的最后一个成员,只能删除组的形式删除最后一个日志
SQL> alter database drop logfile member 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO03.LOG';
alter database drop logfile member 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO03.LOG'
*
第 1 行出现错误:
ORA-00361: 无法删除最后一个日志成员
E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO03.LOG (组 3)-------直接添加不成功,因为这个组有一个错误的日志文件,必须删除
SQL> alter database add logfile member 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO04.LOG' to group
alter database add logfile member 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO04.LOG' to group 3
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员
ORA-00312: 联机日志 3 线程 1:
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO03.LOG'
ORA-27041: 无法打开文件
OSD-04002: ???????
O/S-Error: (OS 2) ????????????????----删除日志组
SQL> alter database drop logfile group 3;数据库已更改。----添加新的日志组,放入日志文件。
SQL> alter database add logfile group 3('E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYORCL\REDO03.LOG') size 1数据库已更改。SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭
--重启,没问题了。。
SQL> startup;
ORACLE 例程已经启动。Total System Global Area 192937984 bytes
Fixed Size 1248044 bytes
Variable Size 138413268 bytes
Database Buffers 50331648 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
数据库已经打开。
SQL>
重建一下就可以了。
需要recover一下数据库。之后使用alter database open resetlogs打开数据库
需要recover一下数据库。之后使用alter database open resetlogs打开数据库
1、启动实例,安装数据库 STARTUP MOUNT
2、重新创建日志文件组 ALTER DATABASE CLEAR [UNARCHIVED] LOGFILE GROUP 3;
(如果该日志没有被归档,则使用 UNARCHIVED 选项)
3、打开数据库 ALTER DATABASE OPEN;如果数据库之前是不一致性关闭的,GROUP 3 日志为实例恢复过程所需要,则需要还原数据库备份