1.查看当前日志组及日志组成员
SYS@PROD1>select group#,members,status from v$log;
GROUP# MEMBERS STATUS
---------- ---------- ----------------
1 1 CURRENT
2 1 UNUSED
3 1 UNUSED
SYS@PROD1>col member for a50;
SYS@PROD1>select group#,member from v$logfile order by 1,2;
GROUP# MEMBER
---------- --------------------------------------------------
1 /u01/app/oracle/oradata/PROD1/redo01.log
2 /u01/app/oracle/oradata/PROD1/redo02.log
3 /u01/app/oracle/oradata/PROD1/redo03.log
增加日志组成员
SYS@PROD1>alter database add logfile member '/u01/app/oracle/oradata/PROD1/redo01_a.log' to group 1;
Database altered.
SYS@PROD1>alter database add logfile member '/u01/app/oracle/oradata/PROD1/redo02_a.log' to group 2;
Database altered.
SYS@PROD1>alter database add logfile member '/u01/app/oracle/oradata/PROD1/redo03_a.log' to group 3;
Database altered.
再次查看
SYS@PROD1>select group#,members,status from v$log;
GROUP# MEMBERS STATUS
---------- ---------- ----------------
1 2 CURRENT
2 2 UNUSED
3 2 UNUSED
SYS@PROD1>select group#,member from v$logfile order by 1,2;
GROUP# MEMBER
---------- --------------------------------------------------
1 /u01/app/oracle/oradata/PROD1/redo01.log
1 /u01/app/oracle/oradata/PROD1/redo01_a.log
2 /u01/app/oracle/oradata/PROD1/redo02.log
2 /u01/app/oracle/oradata/PROD1/redo02_a.log
3 /u01/app/oracle/oradata/PROD1/redo03.log
3 /u01/app/oracle/oradata/PROD1/redo03_a.log
6 rows selected.
2.删除当前正在使用的第一组redo其中的一个成员
[oracle@host01 ~]$ cd /u01/app/oracle/oradata/PROD1/
[oracle@host01 PROD1]$ ls redo*
redo01_a.log redo01.log redo02_a.log redo02.log redo03_a.log redo03.log
[oracle@host01 PROD1]$ rm redo01_a.log
此时数据库在使用上是没有问题的,我们一致性关闭数据库,并重启,看看有没有异常
SYS@PROD1>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@PROD1>startup;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 520096848 bytes
Database Buffers 310378496 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
数据库重启没有报错(也就是说,丢失一个redo成员并未影响使用),只是在 alert 日志中有如下错误
查看日志
Errors in file /u01/app/oracle/diag/rdbms/prod1/PROD1/trace/PROD1_m000_20806.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/PROD1/redo01_a.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
redo日志成员互为镜像,修复较为容易,先一直关闭数据库
SYS@PROD1>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@host01 PROD1]$ cp redo01.log redo01_a.log
启动数据库,完成恢复
SYS@PROD1>startup;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 520096848 bytes
Database Buffers 310378496 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
查看告警日志,无报错信息。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31400681/viewspace-2130805/
,如需转载,请注明出处,否则将追究法律责任。