Oracle官方提供清理侦听器日志的4种方式

您所在的位置:网站首页 侦听app Oracle官方提供清理侦听器日志的4种方式

Oracle官方提供清理侦听器日志的4种方式

2023-12-18 23:39| 来源: 网络整理| 查看: 265

 

Oracle官方提供清理侦听器日志的4种方式

 

侦听器日志,例如:

[root@dev-testdb trace]# ll /u01/app/grid/diag/tnslsnr/dev-testdb/listener/trace/listener.log -rw-r----- 1 grid oinstall 1129 Jan 20 10:35 /u01/app/grid/diag/tnslsnr/dev-testdb/listener/trace/listener.log

 

 

根据实际执行和Why Are My Listener Logs & Traces Not Purged By The ADR (文档 ID 1438242.1)可知,不会被如下命令adrci的交互式命令清除:

purge -age -type alert

该命令只会清理xml格式的文本。

 

以11g为例子,总结了官方提供的4种清除方式。

ARCHIVED How to Rotate or Purge Listener Log Data to Avoid Large listener.log File (文档 ID 1457196.1)停止监听后删除或重命名日志,下次启动侦听器会创建新的日志 ARCHIVED How to Rotate or Purge Listener Log Data to Avoid Large listener.log File (文档 ID 1457196.1)LSNRCTL> set current_listener LSNRCTL> set log_status off在另一个窗口中重命名日志文件。然后返回上一个窗口LSNRCTL> set log_status on这将创建一个新的空 listener.log 文件,该文件将继续记录。   Excessive Listener XML FILES CREATED IN $GRID_HOMElogdiagtnslsnr (文档 ID 1927067.1)Adrci Purge Does Not Clear the Text-formatted Alert.Log located in the Trace Folder (文档 ID 751082.1)How To Purge Listener Log.Xml File (文档 ID 816871.1)这3篇官方文档指出adrci不会清理文本格式的 alert.log 文件,只修改 XML 格式的警报文件,而不是 Text 格式的警报文件。需要手工编辑或者删除文本基础.log的文件,例如:对文件进行拆分,或者使用 Unix 上的“vi”之类的编辑器来清空文件等...

echo "" >| /u01/app/grid/diag/tnslsnr/dev-testdb/listener/trace/listener.log咋一看简单且暴力,一点也不优雅。purgeLogs Cleanup traces, logs in one command (文档 ID 2081655.1)中提供了一个脚本purgeLogs,需要使用root用户执行并且需要有/etc/init.d/init.ohasd脚本,即单机环境无法使用。下边详细说说这第4点。

echo方式清空日志实际上就是purgeLogs这个脚本的处理方式。脚本功能比较强大,可以清理osw,tfa,rdbms等等的信息文件,不仅仅限于日志。

[root@dev-testdb trace]# /soft/purgeLogs -h Usage: purgeLogs [ -days [ -aud ] [ -lsnr ] ] | [ -orcl [ -aud ] [ -lsnr ] ] | [ -tfa ] | [ -osw ] | [ -oda ] | [ -extra '': | [, '':] ] [ -automigrate ] [ -dryrun ] purgeLogs OPTIONS -days Purge orcl,tfa,osw,oda components logs & traces older then # days -orcl Purge only GI/RDBMS logs & traces (Default 30 days) -tfa Purge only TFA repository older then # days (Default 30 days) -osw Purge only OSW archives older then # days (Default 30 days) -oda Purge only ODA logs and trace older then # days (Default 30 days) -extra '': Purge only files in user specified folders (Default 30 days) -aud Purge Audit logs based on '-orcl ' option -lsnr It will force the cleanup of listeners log independently by the age -dryrun It will show the purge commands w/o execute them -automigrate It will run the adrci schema migrate commands in case of DIA-49803 -h Display this help and exit Example: purgeLogs purgeLogs -days 20 purgeLogs -orcl 50 purgeLogs -orcl 50 -aud -lsnr purgeLogs -tfa 50 purgeLogs -osw 20 -oda 10 purgeLogs -orcl 20 -osw 20 -oda 10 purgeLogs -orcl 20 -osw 20 -oda 10 -extra /tmp:10,/var/log:20

 

根据帮助手册,删除GI/RDBMS日志和trace文件,同时删除侦听日志的指令:

/soft/purgeLogs -orcl 10 -lsnr -aud -dryrun

 

输出案例:

[root@dev-testdb ~]# /soft/purgeLogs -orcl 10 -lsnr -aud -dryrun │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ purgeLogs version: 1.65 Copyright (c) 2015-2020 Oracle and/or its affiliates. ------------------------------------------------------- Author: Ruggero Citton RAC Pack, Cloud Innovation and Solution Engineering Team │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ 2022-01-20 11:01:04: I DRYRUN - Cleaning up Listener logs, ORACLE_BASE is '/u01/app/grid' echo "" >| /u01/app/grid/diag/tnslsnr/dev-testdb/listener/trace/listener.log 2022-01-20 11:01:04: I DRYRUN - Cleaning up SCAN1 Listener logs, ORACLE_BASE is '/u01/app/grid' 2022-01-20 11:01:04: W Path /u01/app/grid/diag/tnslsnr/dev-testdb/listener_scan1/trace does not exist, SCAN1 Listener logs cleanup skipped... 2022-01-20 11:01:04: I DRYRUN - Cleaning up SCAN2 Listener logs, ORACLE_BASE is '/u01/app/grid' 2022-01-20 11:01:04: W Path /u01/app/grid/diag/tnslsnr/dev-testdb/listener_scan2/trace does not exist, SCAN2 Listener logs cleanup skipped... 2022-01-20 11:01:04: I DRYRUN - Cleaning up SCAN3 Listener logs, ORACLE_BASE is '/u01/app/grid' 2022-01-20 11:01:04: W Path /u01/app/grid/diag/tnslsnr/dev-testdb/listener_scan3/trace does not exist, SCAN3 Listener logs cleanup skipped... 2022-01-20 11:01:04: I DRYRUN - Cleaning up Management Listener logs, ORACLE_BASE is '/u01/app/grid' 2022-01-20 11:01:04: W Path /u01/app/grid/diag/tnslsnr/dev-testdb/mgmtlsnr/trace does not exist, Management Listener logs cleanup skipped... 2022-01-20 11:01:04: I DRYRUN - Cleaning up ASM Listener logs, ORACLE_BASE is '/u01/app/grid' 2022-01-20 11:01:04: W Path /u01/app/grid/diag/tnslsnr/dev-testdb/asmnet1lsnr_asm/trace does not exist, ASM Listener logs cleanup skipped... 2022-01-20 11:01:04: I GI Audit logs purge started 2022-01-20 11:01:04: I DRYRUN - Purging GI Audit logs under '/u01/app/11.2.0/grid/rdbms/audit' older then 10 days rm /u01/app/11.2.0/grid/rdbms/audit/null_ora_26047_20210517200222237009143795.aud rm /u01/app/11.2.0/grid/rdbms/audit/+ASM1_ora_26076_20210517200222587121143795.aud rm /u01/app/11.2.0/grid/rdbms/audit/+ASM1_ora_26076_20210517200222588926143795.aud rm /u01/app/11.2.0/grid/rdbms/audit/+ASM1_ora_26089_20210517200222906375143795.aud rm /u01/app/11.2.0/grid/rdbms/audit/+ASM1_ora_26089_20210517200259048887143795.aud rm /u01/app/11.2.0/grid/rdbms/audit/+ASM1_ora_26201_20210517200259071998143795.aud ...省略部分内容... 2022-01-20 11:01:04: I DRYRUN - Purging GI Audit logs under '/u01/app/grid/admin/_mgmtdb/adump' older then 10 days 2022-01-20 11:01:04: W Path /u01/app/grid/admin/_mgmtdb/adump does not exist, GI Audit archive logs cleanup skipped... ~~~~~~~~~~~~~~~~~~~~~~adrci GI purge started~~~~~~~~~~~~~~~~~~~~~~ 2022-01-20 11:01:04: I Checking if this is an Oracle Restart environment 2022-01-20 11:01:04: I DRYRUN - adrci GI purging diagnostic destination diag/asm/+asm/+ASM1 older than 10 days su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type ALERT "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type INCIDENT "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type TRACE "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type CDUMP "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type STAGE "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type SWEEP "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type HM "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/asm/+asm/+ASM1;purge -age 14400 -type UTSCDMP "' 2022-01-20 11:01:04: I DRYRUN - adrci GI purging diagnostic destination diag/tnslsnr/dev-testdb/listener older than 10 days su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/tnslsnr/dev-testdb/listener;purge -age 14400 -type ALERT "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/tnslsnr/dev-testdb/listener;purge -age 14400 -type INCIDENT "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/tnslsnr/dev-testdb/listener;purge -age 14400 -type TRACE "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/tnslsnr/dev-testdb/listener;purge -age 14400 -type CDUMP "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/tnslsnr/dev-testdb/listener;purge -age 14400 -type STAGE "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/tnslsnr/dev-testdb/listener;purge -age 14400 -type SWEEP "' su grid -c 'export ORACLE_HOME=/u01/app/11.2.0/grid;/u01/app/11.2.0/grid/bin/adrci exec="set homepath diag/tnslsnr/dev-testdb/listener;purge -age 14400 -type HM "' ......

可以看到脚本实际就是使用了echo来清理日志的。10[天]这个参数不生效。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3