今天不小心误删除了数据库的数据文件和日志文件,在启动数据库时报如下错误:
ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
ORA-01110: data file 15: 'C:\OMF\O1_MF_DEMO_4OKGZ000_.DBF'
解决数据文件丢失无法启动数据库的办法:
1、将该数据文件离线删除:
alter database datafile C:\OMF\O1_MF_DEMO_4OKGZ000_.DBF offline drop;
2、启动数据库:
alter database open;
日志文件丢失报错如下:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORCL\REDO01.LOG'
解决日志文件丢失无法启动数据库的办法:
首先,执行下面的语句看看group1是不是current日志组
select group#,sequence#,archived,status from v$log;
如果被删除的日志不是当前日志组的成员,比较简单
alter database clear logfile group 1;
如果你的库是非归档的,或许要用下面的语句
alter database clear unarchived logfile group 1;
ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
ORA-01110: data file 15: 'C:\OMF\O1_MF_DEMO_4OKGZ000_.DBF'
解决数据文件丢失无法启动数据库的办法:
1、将该数据文件离线删除:
alter database datafile C:\OMF\O1_MF_DEMO_4OKGZ000_.DBF offline drop;
2、启动数据库:
alter database open;
日志文件丢失报错如下:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORCL\REDO01.LOG'
解决日志文件丢失无法启动数据库的办法:
首先,执行下面的语句看看group1是不是current日志组
select group#,sequence#,archived,status from v$log;
如果被删除的日志不是当前日志组的成员,比较简单
alter database clear logfile group 1;
如果你的库是非归档的,或许要用下面的语句
alter database clear unarchived logfile group 1;