12.26.06
log file丢失处理
今天比较背,下午上班不久,有开发的说一个开发库异常,无法连接数据库,报实例终止,连接拒绝;
环境为windows 2000+oracle 8174,非归档模式.
偶连上去看了下,还真的是连接拒绝.
由于该服务器上的oracle是8i的,所以只能用svrmgrl了
俺svrmgrl后,用connect internal;连接成功,但是shutdown immediate就报未连接到oracle;
没有办法了,只能shutdown abort,结果很久很久都无法关闭数据库;
查看数据库的log,发现有如下内容的报错:
Tue Dec 26 10:08:37 2006
ORA-3297 signalled during: alter database datafile ‘C:ORACLEORADATAORCGWU…
Tue Dec 26 12:34:51 2006
Errors in file c:oracleadminorcgwbdumporcgwLGWR.TRC:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: ‘C:ORACLEORADATAORCGWREDO02.LOG’
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.
Tue Dec 26 12:34:51 2006
LGWR: terminating instance due to error 313
Instance terminated by LGWR, pid = 1488
到数据库中去看,我ft,居然三组log file group只剩下一组的物理文件了.
在这种情况下,只能从windows的服务中关闭oracle的服务了;然后再打开oracle的服务;
再次连接到oracle中,数据库并未打开,先shutdown immediate,然后启动数据库到nomout,正常,再mount,正常,alter database open,这个时候就报错了,无法打开redo log file.当然无法打开了,文件都没有了,怎么打开.
不过幸好可以mount开,先给数据库增加1个log file group,成功,然后将log file物理文件丢失的两组log给drop掉,打开数据库.成功了.
检查后发现,俺在这个机器上打开的三个数据库中,全部丢失非处于current的log file,通过检查,发现可能是杀毒软件将物理文件直接给delete了,啥杀毒软件俺就不说了,总之是国产的,以后该如何预防?得好好想想了.唉.