Oralce增加logfile(转贴)

Posted staryea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oralce增加logfile(转贴)相关的知识,希望对你有一定的参考价值。

 

原来有个问题就是日志文件能不能resize的问题,但是10g不能。网上的一般方法就是新建两个临时日志组(oracle至少要求两个日志组),切换到这两个临时日志组后,删掉重建扩大或缩小,再添加日志组成员。在中间过程中用alter system checkpoint 来使 日志状态active转inactive,用alter system switch logfile切换日志组。


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

a.创建新的日志组

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

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

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

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

alter system switch logfile;

3.查看日志状态

select * from v$log;

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

4.删除日志组

alter database drop logfile group 1;

5.操作系统级别删除数据文件

rm -rf redo01.log

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

alter database add logfile member ‘文件路径/redo10.log‘ to group 4;

alter database add logfile member ‘文件路径/redo11.log‘ to group 5;

alter database add logfile member ‘文件路径/redo12.log‘ to group 3;

7.删除日志组成员

alter database drop logfile member ‘文件路径/redo12.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‘;

 

转贴作者:https://www.cnblogs.com/hllnj2008/p/5190292.html


以上是关于Oralce增加logfile(转贴)的主要内容,如果未能解决你的问题,请参考以下文章

删除ib_logfile0和ib_logfile1,对mysql会有影响?

mysql中在哪 删除ib_logfile0

随机化列表

v$log and v$logfile

mysql的innodb中事务日志ib_logfile

Mysql 事务日志(Ib_logfile)