Chinaunix首页 | 论坛 | 博客
  • 博客访问: 526729
  • 博文数量: 128
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 1345
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-22 21:43
文章分类

全部博文(128)

文章存档

2009年(30)

2008年(98)

我的朋友

分类: Oracle

2008-10-11 22:14:28

在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';

数据库已更改。
 
阅读(988) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~