oracle各类日志清理

oracle各类日志清理(一般oracle软件目录约10G左右)


一般先进$ORACLE_BASE目录,查看哪个目录占用较大空间,并层层深入,定位到占用较大的目录,判断文件类型并清理。如下:
    [oracle@test-for-lihb ~]$ cat /etc/redhat-release 
    Red Hat Enterprise Linux Server release 6.4 (Santiago)
    [oracle@test-for-lihb ~]$ cd $ORACLE_BASE
    [oracle@test-for-lihb /opt/app/oracle]$ du -sm *|sort -n
    1 admin
    1 afiedt.buf
    1 checkpoints
    3 cfgtoollogs
    10 flash_recovery_area
    1377 diag
    8501 product


1 归档文件
 路径:
    (SQL> archive log list  由Archive destination获取归档路径)
 方法:
    通过rman删除归档文件
    [oracle@test-for-lihb ~]$ rman target /
    RMAN> delete archivelog all completed before 'sysdate-1'; (“1”对应是一天,若想删除6小时前的归档日志,则改为0.25)
    删除完归档,若有对应的备份策略需要重新启动全备。

2 alert告警日志文件
 路径:
    /alert_.log (由SQL> show parameter background_dump_dest/core_dump_dest/user_dump_dest获取日志文件位置)
 方法:
    1)将alert_.log清空 >alert_.log  (建议:tail -100000 alert_.log > alert_.log_bak20170601,保留10w行数据再删除)
    2)系统会自动生成新的alert_.log
    3)find . -mtime +30 -name "*.trc/trm" | wc -l 查看一个月之前的trc/trm文件数量
    4)find . -mtime +30 -name "*.trc/trm" | xargs rm -rf  删除一个月之前的trc/trm文件

3 监听日志文件
 路径:
    $ORACLE_HOME/network/log/listener.log (由$ lsnrctl status $监听名 中的Listener Log File 获取日志文件位置)
 若是log文件
    方法一:
        1)lsnrctl set log_status off
        2)将listener.log  删除或者移走(建议:tail -100000 listener.log > listener.log_bak20170601,保留10w行数据再删除)
        3)lsnrctl set log_status on此时系统重新生成listener.log 
    方法二:
        1)直接清空log文件:>listener.log (建议:tail -100000 listener.log > listener.log_bak20170601,保留10w行数据再删除)
 若是xml文件
    方法:
        保留log.xml,其他可以删除,比如:find . -mtime +30 -name "log_*.xml" | xargs rm -rf 
        同时,可清理同级trace目录的log文件:
        cd ../trace
        tail -100000 listener.log > listener.log_bak20170601
        >listener.log

4 OEM日志文件
 路径:
    $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole__/log/http-web-access.log或em-application.log
 方法:
    查看OEM状态:$ emctl status dbconsole
    若没有运行,则
    直接把http-web-access.log/em-application.log挪走或删除。
    若正在运行,则
    停止dbconsole(emctl stop dbconsole),
    将http-web-access.log/em-application.log挪走或删除,
    重新启动dbconsole(emctl start dbconsole),
    检查oem状态(emctl start dbconsole)。

5 CRS日志文件
 路径:
    11g:grid用户:$ORACLE_HOME/log/$HOSTNAME/crsd/crsdOUT.log (默认会保留10个历史记录,每个10M,文件名为 crsd.l01/02/03...)
    10g:grid用户:$ORA_CRS_HOME/log/$HOSTNAME/crsd/
 方法:
    清理历史crsd.l0*文件,保留crsdOUT.log和crsd.log
    其他同级目录agent/cssd/gipcd/mdnsd/ctssd/ohasd的清理方法与crsd目录类似

6 审计文件
 路径:
    (SQL> show parameter audit_file_dest查看)
 方法:
    清除7天以前的审计文件:find . -mtime +7 -name "*.aud" | xargs rm -rf
 

猜你喜欢

转载自my.oschina.net/u/2245781/blog/1799416