Maison  >  Article  >  base de données  >  Oracle 增大在线重做日志文件大小

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

WBOY
WBOYoriginal
2016-06-07 17:33:071151parcourir

今天发现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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PostgreSQL完全刷缓存补丁Article suivant:MySQL使用与优化总结