S上将current在线日志文件redo02.log删除 [oracle@ora10g ora10g]$ rm -f redo02.log [oracle@ora10g ora10g]$ ls -l redo* -rw-r----- 1 oracle oinstall 52429312 Jun 24 11:16 redo01.log -rw-r----- 1 oracle oinstall 52429312 Jun 24 11:08 redo03.log
--再次启动数据库 SYS@ora10g> startup ORACLE instance started.
Total System Global Area 524288000 bytes Fixed Size 1220384 bytes Variable Size 327155936 bytes Database Buffers 192937984 bytes Redo Buffers 2973696 bytes Database mounted. ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/ora10g/redo02.log' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3
SYS@ora10g> alter database clear logfile group 2; alter database clear logfile group 2 * ERROR at line 1: ORA-01624: log 2 needed for crash recovery of instance ora10g (thread 1) ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/ora10g/redo02.log'
SYS@ora10g> recover database until cancel; ORA-00279: change 1497127 generated at 06/24/2015 11:08:48 needed for thread 1 ORA-00289: suggestion : /u01/app/oracle/flash_recovery_area/ORA10G/archivelog/2015_06_24/o1_mf_1_2_%u_.arc ORA-00280: change 1497127 for thread 1 is in sequence #2
Specify log: {=suggested | filename | AUTO | CANCEL} cancel ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: '/u01/app/oracle/oradata/ora10g/system01.dbf'
ORA-01112: media recovery not started
SYS@ora10g>
之前使用的方法,在此处都不成立,原因是数据库强制要求current的在线日志文件需要crash recover,重新创建自然是不行的,由于是非正常关闭数据库,也没有写入归档文件,当然也无法进行还原,那么此时只有通过别的方法来将数据库OPEN了,当然丢失数据已经是不可避免的了,也就是刚才current在线日志文件中未归档的那部分,即t1表中最后插入的10条记录,权衡利弊,即便是丢数据,也要先将数据库拉起来,那么可以通过设置隐含参数"_allow_resetlogs_corruption=true"来实现
SYS@ora10g> create pfile from spfile;
File created.
SYS@ora10g> show parameter spfile
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /u01/app/oracle/product/10.2.0 /db_1/dbs/spfileora10g.ora SYS@ora10g> host [oracle@ora10g ~]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs/ [oracle@ora10g dbs]$ ls -l total 7412 -rwxr-xr-x 1 oracle oinstall 5494 Aug 26 2014 alert_ora10g.log -rwxr-xr-x 1 oracle oinstall 1544 Aug 25 2014 hc_ora10g.dat -rwxr-xr-x 1 oracle oinstall 12920 May 3 2001 initdw.ora -rwxr-xr-x 1 oracle oinstall 8385 Sep 11 1998 init.ora -rw-r--r-- 1 oracle oinstall 1343 Jun 24 11:24 initora10g.ora -rwxr-xr-x 1 oracle oinstall 24 Aug 25 2014 lkORA10G -rw-r----- 1 oracle oinstall 1536 Nov 26 2014 orapwora10g -rwxr-xr-x 1 oracle oinstall 7520256 Jun 24 11:09 snapcf_ora10g.f -rw-r----- 1 oracle oinstall 3584 Jun 24 11:19 spfileora10g.ora [oracle@ora10g dbs]$ echo "_allow_resetlogs_corruption=true" >> initora10g.ora [oracle@ora10g dbs]$ cat initora10g.ora ora10g.__db_cache_size=192937984 ora10g.__java_pool_size=4194304 ora10g.__large_pool_size=4194304 ora10g.__shared_pool_size=155189248 ora10g.__streams_pool_size=8388608 *._disable_image_check=TRUE *.audit_file_dest='/u01/app/oracle/admin/ora10g/adump' *.background_dump_dest='/u01/app/oracle/admin/ora10g/bdump' *.compatible='10.2.0.1.0' *.control_files='/u01/app/oracle/oradata/ora10g/control01.ctl','/u01/app/oracle/oradata/ora10g/control02.ctl','/u01/app/oracle/oradata/o |