Oracle需要清理的日志

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

一般先进$ORACLE_BASE目录,查看哪个目录占用较大空间,并层层深入,定位到占用较大的目录,判断文件类型并清理。如下:
[[email protected] ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)
[[email protected] ~]$ cd $ORACLE_BASE
[[email protected] /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删除归档文件
[[email protected] ~]$ 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

转载于:https://my.oschina.net/u/2245781/blog/1799416

原文地址:https://www.cnblogs.com/ggykx/p/12195612.html

时间: 2024-10-13 09:49:04

Oracle需要清理的日志的相关文章

oracle清理归档日志

我们都都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的 controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法: 1. 进入rman 2. con

oracle定时清理日志操作

下面介绍下oracle下定时清理归档日志文件操作. 假设:归档日志满,清空归档日志办法如下. 第一步:在c盘下面建立一个RMAN_DEL.txt文件 第二步:做一个批处理文件,名为:RAMN_DEL.bat 放在c盘的根目录.文件内容如下所示: 第三步:添加一个任务计划: 执行步骤如下图所示,任务计划出来后点击下一步设置参数即可. 以上为window下执行计划任务定时删除归档日志方法.如果是linux请操作本人写的linux定时任务操作.版权所有.转载请说明出处.

[转]Oracle DB 查看预警日志

"Database(数据库)"主页>"Related Links相关链接)"区域> "Alert Log Content (预警日志内容)" 查看预警日志 每个数据库都有一个alert_<sid >.log文件.此文件位于数据库所在的服务器中,如果设置了$ORACLE_BASE,则此文件默认存储在$ORACLE_BASE/diag/rdbms/<db_name>/<SID>/trace中. 数据库预

Oracle在线调整redo日志组数及组成员

Oracle在线调整redo日志组数及组成员 一.调整redo日志组大小 操作原因: redo日志一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能.通常情况下每小时不要超过6次!如果AWR(Automated Workload Repository 自动负载信息库) report中log file switch checkpoint incomplete) 比较大,说明redo log之间的切换过于频繁.可以通过增加redo log size来降低切换的频率.但如果redo log

使用作业自动清理数据库日志文件

原文:使用作业自动清理数据库日志文件 在上一篇文章中介绍了如何删除数据库日志文件,但是想想还是不是不方便需要手工操作,于是想结合作业实现自动清理日志文件,在清理日志文件时我加上了条件,当磁盘控空间不足多少M才会清理,下面介绍如何实现该功能.没有阅读上一篇文章的,可以通过传送门阅读(删除数据库日志文件的方法)! 阅读目录 SQL查询磁盘空间大小 存储过程添加作业 示例下载 回到顶部 SQL查询磁盘空间大小  采用内置的存储过程,即可查看各个磁盘可用空间 exec master..xp_fixedd

清理apache日志

在不关闭apache服务的情况下清理日志. # cat /dev/null>access_log # cat /dev/null>error_log # cat /dev/null>mod_jk.log 还未测试效果,仅供参考. 清理apache日志

Oracle DB 查看预警日志

"Database(数据库)"主页>"Related Links相关链接)"区域> "Alert Log Content (预警日志内容)" 查看预警日志每个数据库都有一个alert_<sid>.log文件.此文件位于数据库所在的服务器中,如果设置了$ORACLE_BASE,则此文件默认存储在$ORACLE_BASE/diag/rdbms/<db_name>/<SID>/trace中.数据库预警文件

oracle使用存储过程实现日志记录.sql

--这段sql语句是用来实现oracle后台记录操作日志的,代替或者补充应用系统的操作日志. --1.对应的日志记录表-------------------------------------------------------------------create table TEST(  T_ID   NUMBER(4),  T_NAME VARCHAR2(20),  T_AGE  NUMBER(2),  T_SEX  CHAR(1));----------------------对应的日志记

Oracle 控制文件和日志文件

管理控制文件 在Oracle数据库中,控制文件是一个很小(大小一般在10MB范围内)的二进制文件,含有数据库的结构信息,包括数据文件和日志文件的信息.可以将控制文件理解为物理数据库的一个元数据存储库.控制文件在数据库创建时被自动创建,并在数据库发生物理变化时更新.控制文件被不断更新,并且在任何时候都要保证控制文件是可用的.只有Oracle进程才能够安全地更新控制文件的内容,所以,任何时候都不要试图手动编辑控制文件. 由于控制文件在数据库中的重要地位,所以保护控制文件的安全非常重要,为此Oracl