服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

深入讲解redo log file损坏的处理过程 (1)

redo log file 损坏的处理过程;

一、查看日志

thu mar 29 09:15:21 2007
errors in file d:oracleadmings12366bdumpgs12366_lgwr_2052.trc:
ora-00313: open failed for members of log group 1 of thread 1
ora-00312: online log 1 thread 1: 'd:oracleoradatags12366redo01.log'
ora-27041: unable to open file
osd-04002: unable to open file
o/s-error: (os 2) 系统找不到指定的文件。

thu mar 29 09:15:21 2007
errors in file d:oracleadmings12366bdumpgs12366_lgwr_2052.trc:
ora-00313: open failed for members of log group 1 of thread 1
ora-00312: online log 1 thread 1: 'd:oracleoradatags12366redo01.log'
ora-27041: unable to open file
osd-04002: unable to open file
o/s-error: (os 2) 系统找不到指定的文件。

thu mar 29 09:15:21 2007
ora-313 signalled during: alter database open
...
thu mar 29 09:16:38 2007
alter database open
thu mar 29 09:16:38 2007
errors in file d:oracleadmings12366bdumpgs12366_lgwr_2052.trc:
ora-00341: log 1 of thread 1, wrong log # 2 in header
ora-00312: online log 1 thread 1: 'd:oracleoradatags12366redo01.log'

thu mar 29 09:16:38 2007
errors in file d:oracleadmings12366bdumpgs12366_lgwr_2052.trc:
ora-00341: log 1 of thread 1, wrong log # 2 in header
ora-00312: online log 1 thread 1: 'd:oracleoradatags12366redo01.log'

thu mar 29 09:16:38 2007
ora-341 signalled during: alter database open...

二、查看日志当前状态

c:documents and settingsgs12366>sqlplus /nolog

sql*plus: release 9.2.0.1.0 - production on fri mar 30 09:39:42 2007

copyright (c) 1982, 2002, oracle corporation. all rights reserved.

sql> conn / as sysdba
connected.
sql> archive log list
database log mode no archive mode
automatic archival disabled
archive destination d:oracleora92rdbms
oldest online log sequence 0
current log sequence 531
sql> select * from v$logfile;

group# status type
---------- ------- -------
member
---------------------------------------

1 online
d:oracleoradatags12366redo01.log

2 online
d:oracleoradatags12366redo02.log

3 stale online
d:oracleoradatags12366redo03.log


sql> select * from v$log;

group# thread# sequence# bytes members arc status
---------- ---------- ---------- ---------- 
first_change# first_tim
------------- ---------
1 1 0 104857600 1 no unused
0 27-mar-07

2 1 530 104857600 1 no inactive
47709153 27-mar-07

3 1 531 104857600 1 no invalidated
48070450 28-mar-07


sql>


sql> alter system switch logfile;
alter system switch logfile
*
error at line 1:
ora-01109: database not open

注:确定丢失了d:oracleoradatags12366redo01.log

解决过程如下:

sql> shutdown immediate
ora-01109: database not open
database dismounted.
oracle instance shut down.

sql> startup mount
oracle instance started.

total system global area 1670457484 bytes
fixed size 456844 bytes
variable size 595591168 bytes
database buffers 1073741824 bytes
redo buffers 667648 bytes
database mounted.
sql> select group#,archived,status from v$log;

group# arc status
---------- --- ----------------
1 no unused
2 no inactive
3 no invalidated

sql> alter database drop logfile group 1;

database altered.

sql> select group#,archived,status from v$log;

group# arc status
---------- --- ----------------
2 no inactive
3 no invalidated

sql> alter database open;

database altered.

sql> select group#,archived,status from v$log;

group# arc status
---------- --- ----------------
2 no current
3 no inactive

sql> alter database add logfile group 1 'd:oracleoradatags12366redo01.log' s
ize 104857600 reuse;

database altered.

sql> select group#,archived,status from v$log;

group# arc status
---------- --- ----------------
1 yes unused
2 no current
3 no inactive

sql> alter system switch logfile;

system altered.

sql> alter system switch logfile;

system altered.

sql> select group#,archived,status from v$log;

group# arc status
---------- --- ----------------
1 no inactive
2 no inactive
3 no current

sql> alter system switch logfile;

system altered.

sql> select group#,archived,status from v$log;

group# arc status
---------- --- ----------------
1 no inactive
2 no current
3 no active

sql> alter system switch logfile;

system altered.

sql> select group#,archived,status from v$log;

group# arc status
---------- --- ----------------
1 no current
2 no active
3 no inactive

扫描关注微信公众号