oracle+清楚日志信息,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

查看system表空间占用情况

SQL> col segment_name for a15;

SQL> SELECT * FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'SYSTEM' GROUP BY SEGMENT_NAME ORDER BY 2 DESC) WHERE ROWNUM < 10;

SEGMENT_NAME MB

--------------- ----------

IDL_UB1$ 248

SOURCE$ 64

AUD$ 58

IDL_UB2$ 30

C_TOID_VERSION# 23

C_OBJ#_INTCOL# 15

I_SOURCE1 12

ARGUMENT$ 11

C_OBJ# 11

查询当前数据库中的所有表空间和对应的操作系统数据文件

SQL> col FILE_NAME for a50;

SQL> select file_name,tablespace_name,bytes from dba_data_files;

FILE_NAME TABLESPACE_NAME BYTES

-------------------------------------------------- ------------------------------------------------------------------------------------------ ----------

C:\APP\WANGXW\ORADATA\ORCL\USERS01.DBF USERS 5242880

C:\APP\WANGXW\ORADATA\ORCL\SYSAUX01.DBF SYSAUX 796917760

C:\APP\WANGXW\ORADATA\ORCL\SYSTEM01.DBF SYSTEM 734003200

D:\ORADATA\ORCL\EXAMPLE01.DBF EXAMPLE 104857600

D:\ORADATA\ORCL\MYMOTIF_TS.DBF MYMOTIF_TS 104857600

D:\ORADATA\ORCL\SYSTEM_01.DBF SYSTEM 134217728

D:\ORADATA\ORCL\UNDOTBS02.DBF UNDOTBS2 157286400

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值