Home  >  Article  >  Database  >  Oracle 增大在线重做日志文件大小

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

WBOY
WBOYOriginal
2016-06-07 17:33:071151browse

今天发现Oracle数据库很慢,看到大量进程在等待log file switch (checkpoint incomplete),日志文件的使用情况如下:SYS@TEST15

今天发现Oracle数据库很慢,看到大量进程在等待log file switch (checkpoint incomplete),日志文件的使用情况如下:

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以此类推。

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

推荐阅读:

Oracle 监听日志文件过大,导致监听无法启动

Oracle当前联机日志组损坏的处理

Oracle日志挖掘

Oracle 联机重做日志文件(online redo log file) 详述

Oracle重做日志文件版本不一致问题处理

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn