Oracle 增大在线重做日志文件大小

2014-11-24 17:41:32 · 作者: · 浏览: 0

SYS@TEST15>select group#,sequence#,bytes/1024/1024 "BYTES(M)",members,archived,status from v$log;


GROUP# SEQUENCE# BYTES(M) MEMBERS ARC STATUS
---------- ---------- ---------- ---------- --- ----------------
1 205 100 2 YES ACTIVE
2 206 100 2 NO CURRENT
3 204 100 2 YES ACTIVE
SYS@TEST15>select group#,status,type,member from v$logfile where type='ONLINE' order by type,group#;



GROUP# STATUS TYPE MEMBER
---------- ------- ------- ------------------------------------------------------------
1 ONLINE /data/oradata/orcl/data/redo01a.log
1 ONLINE /home/oracle/data/orcl/redo01b.log
2 ONLINE /data/oradata/orcl/data/redo02a.log
2 ONLINE /home/oracle/data/orcl/redo02b.log
3 ONLINE /data/oradata/orcl/data/redo03a.log
3 ONLINE /home/oracle/data/orcl/redo03b.log


从上面可以看出,所有的日志文件都是ACTIVE或CURRENT状态,这说明日志文件太小,需增加其大小。


但在线重做日志不可以直接RESIZE,需要通过如下方式:


1)添加新的日志文件组,定义它的大小


SYS@TEST15>alter database add logfile group 4 ('/data/oradata/orcl/data/redo04a.log','/home/oracle/data/orcl/redo04b.log') size 500M reuse;


Database altered.


2)持续切换日志,一直到Group 1的status=inactive,且archived=yes(如果为归档的话),如下所示:


SYS@TEST15>alter system switch logfile;
SYS@TEST15>alter system checkpoint;
SYS@TEST15>select group#,sequence#,bytes/1024/1024 "BYTES(M)",members,archived,status from v$log where group#=1;


GROUP# SEQUENCE# BYTES(M) MEMBERS ARC STATUS
---------- ---------- ---------- ---------- --- ----------------
1 214 100 2 YES INACTIVE


3)删除Group 1


SYS@TEST15>alter database drop logfile group 1;


Database altered.


这样,我们就完成了用更大的Group 4取代原有的Group 1,至于Group 2, Group 3以此类推。


最后,还要记得到操作系统上把日志文件删除。


推荐阅读