oracle 修改日志大小及增加日志成员

今天在看《剑破冰山》这本书,有一个logfile switch 等待的问题,书上提到有两种解决问题方法,1.增加dbw进程数2.增大日志文件大小,对于第一种方法只需要更改一下参数这里不进行介绍,我主要介绍日志的一些操作及原则,当然了这些信息主要对参照网上的信息和自己的一些实际操作。

1.增大日志文件大小,我是通过新创建大的日志组然后进行切换实现的

a.创建新的日志组

alter database add logfile group 4 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo41.log') size 100m;

alter database add logfile group 5 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo51.log') size 100m;

alter database add logfile group 6 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo61.log') size 100m;

2.切换日志到新建的日志组

alter system switch logfile;

3.查看日志状态

select * from v$log;

注意:只有status为inactive并且archived 为YES时方可删除日志组(这个的意思为该重做日志己经归档,否则会报ora-01624)

4.删除日志组

alter database drop logfile group 1;

5.操作系统级别删除数据文件(我的系统是redhat5)

rm -rf redo01.log

6.增加日志成员(最好把成员放到不同的磁盘上做到多功,避免一个组的日志文件全部损坏数据库宕机)

alter database add logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log' to group 4;

alter database add logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo52.log' to group 5;

alter database add logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log' to group 3;

7.删除日志组成员

alter database drop logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log';

下面介绍关于日志一些原则:

原则:删除前必须遵守如下原则,每个实例必须至少有两个日志组;当一个组处于ACTIVE或者CURRENT的状态时不可删除;删除日志组的操作只对数据库进行更改,操作系统的文件尚未删除;当删除时适用DROP LOGFILE GROUP N语句时,此时GROUP N内的所有成员都将被删除。

ALTER DATABASE DROP LOGFILE GROUP N;

删除日志成员的原则:当你删除一个是该组中最后一个成员的时候,你不能删除此成员;当组的转台处于current的状态时,不能删除组成员;在归档模式下,必须得归档之后才能删除;删除日志组成员的操作只对数据库进行更改,操作系统的文件尚未删除

ALTER DATABASE DROP LOGFILE MEMBER '/LOCATION_DUST/REDO0N_N.LOG';

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值