在Oracle数据库中,至少要包含两个或两个以上的日志组。当建立日志组时,至少要为日志组指定一个日志成员。
为了防止日志成员损坏导致日志组无法使用,Oracle建议每个日志组应该包含两个或两个以上的日志成员。
如果日志组只有一个日志成员,并且该日志成员出现损坏,那么当后台进程LGWR切换到该日志组时,Oracle数据库会停止运行。
1. 确定原有日志成员位置
SQL> select group#, member from v$logfile;
GROUP# MEMBER
---------- -------------------------------------
1 D:\ORACLE\ORADATA\OSS\REDO01.LOG
2 D:\ORACLE\ORADATA\OSS\REDO02.LOG
3 D:\ORACLE\ORADATA\OSS\REDO03.LOG
2.增加日志成员
将同一个日志组的不同日志成员分布到不同的磁盘上。
SQL> alter database add logfile member
2 'D:\ORACLE\ORADATA\OSS\REDO01_2.LOG' to group 1,
3 'D:\ORACLE\ORADATA\OSS\REDO02_2.LOG' to group 2,
4 'D:\ORACLE\ORADATA\OSS\REDO03_2.LOG' to group 3;
3.删除日志组成员
当前正在使用的日志组是无法删除成员
SQL> alter database drop logfile member 'D:\ORACLE\ORADATA\OSS\REDO01_2.LOG';
alter database drop logfile member 'D:\ORACLE\ORADATA\OSS\REDO01_2.LOG'
*
ERROR 位于第 1 行:
ORA-01609: 日志1是线程1的当前日志 - 无法删除成员
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\ORADATA\OSS\REDO01.LOG'
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\ORADATA\OSS\REDO01_2.LOG'
SQL> alter database drop logfile member 'D:\ORACLE\ORADATA\OSS\REDO02_2.LOG';
数据库已更改。
SQL> alter database drop logfile member 'D:\ORACLE\ORADATA\OSS\REDO03_2.LOG';
数据库已更改。
切换日志文件
SQL> alter system switch logfile;
系统已更改。
SQL> alter database drop logfile member 'D:\ORACLE\ORADATA\OSS\REDO01_2.LOG';
数据库已更改。
阅读(1022) | 评论(0) | 转发(0) |