Archive Listener Log

Time and time again, you may need to archive the listener log in the ORACLE_HOME mount point. If you simply rename or remove the log file, you may see the log file disappears in the directory, and the space is released. Although the file descriptor help by listener is mark as “deleted”, the listener will not generate a new file, the log is still flushed to the removed file.

[oracle@appsever fd]$ lsnrctl

LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 05-JAN-2012 15:28:00

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> show log_directory
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter "log_directory" set to /home/oracle/RAC/10.2.0/network/log/
The command completed successfully
LSNRCTL> sho log_file
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter "log_file" set to listener_appsever.log
The command completed successfully
LSNRCTL> exit

[oracle@appsever fd]$ cd /home/oracle/RAC/10.2.0/network/log/
[oracle@appsever log]$ ls -l listener_appsever.log
-rw-r--r--  1 oracle oinstall 537774814 Jan  5 15:29 listener_appsever.log
[oracle@appsever log]$ du -sh
521M    .
[oracle@appsever log]$ rm listener_appsever.log
[oracle@appsever log]$ ls -l listener_appsever.log
ls: listener_appsever.log: No such file or directory
[oracle@appsever log]$ du -h
7.2M    .
[oracle@appsever log]$ ps -ef | grep lsnr
oracle   13126  9110  0 15:30 pts/0    00:00:00 grep lsnr
oracle   30017     1  0  2011 ?        00:00:10 /home/oracle/RAC/10.2.0/bin/tnslsnr LISTENER_appsever -inherit
[oracle@appsever log]$ cd /proc/30017/fd
[oracle@appsever fd]$ ls -l
total 23
lrwx------  1 oracle oinstall 64 Jan  5 15:19 0 -> /dev/null
lrwx------  1 oracle oinstall 64 Jan  5 15:19 1 -> /dev/null
lrwx------  1 oracle oinstall 64 Jan  5 15:19 10 -> socket:[62869]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 11 -> socket:[62870]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 12 -> socket:[62872]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 13 -> socket:[63158]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 14 -> socket:[7596135]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 15 -> socket:[7596175]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 16 -> socket:[63235]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 17 -> socket:[67502]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 18 -> socket:[68706]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 19 -> socket:[68708]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 2 -> /dev/null
lrwx------  1 oracle oinstall 64 Jan  5 15:19 20 -> socket:[69906]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 21 -> socket:[69909]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 22 -> socket:[70880]
l-wx------  1 oracle oinstall 64 Jan  5 15:19 3 -> /home/oracle/RAC/10.2.0/network/log/listener_appsever.log (deleted)
lr-x------  1 oracle oinstall 64 Jan  5 15:19 4 -> pipe:[62841]
lr-x------  1 oracle oinstall 64 Jan  5 15:19 5 -> /home/oracle/RAC/10.2.0/network/mesg/nlus.msb
lr-x------  1 oracle oinstall 64 Jan  5 15:19 6 -> /home/oracle/RAC/10.2.0/network/mesg/tnsus.msb
l-wx------  1 oracle oinstall 64 Jan  5 15:19 7 -> pipe:[62842]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 8 -> socket:[62866]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 9 -> socket:[62867]

If you copy back the file descriptor to the log directory, you can see there are updated entries in the log file. The file size has increase from 537774814 to 537775803.

[oracle@appsever fd]$ cp 3 /home/oracle/RAC/10.2.0/network/log/listener_appsever.log
[oracle@appsever fd]$ cd -
/home/oracle/RAC/10.2.0/network/log
[oracle@appsever log]$ ls -l listener_appsever.log
-rw-r--r--  1 oracle oinstall 537775803 Jan  5 15:44 listener_appsever.log

There is a set log_file command in lsnrctl tool, to let the listener new a log file and release the previous one, so you can safely archive the old log file. Here comes a little demo.

[oracle@appsever log]$ lsnrctl

LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 05-JAN-2012 15:47:08

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> set log_file listener_appsever_2012_JAN_05.log
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter "log_file" set to listener_appsever_2012_jan_05.log
The command completed successfully
LSNRCTL> exit
[oracle@appsever log]$ ls -ltr
total 532968
-rw-r--r--  1 oracle oinstall         0 Jan  4  2010 listener.log
-rw-r-----  1 oracle oinstall         8 Mar 10  2010 listener_appsever.log.size
-rw-r--r--  1 oracle oinstall   7426228 Jan  5 15:33 sqlnet.log
-rw-r--r--  1 oracle oinstall 537775803 Jan  5 15:44 listener_appsever.log
-rw-r--r--  1 oracle oinstall        36 Jan  5 15:47 listener_appsever_2012_jan_05.log
[oracle@appsever log]$ cd -
/proc/30017/fd
[oracle@appsever fd]$ ls -l
total 23
lrwx------  1 oracle oinstall 64 Jan  5 15:19 0 -> /dev/null
lrwx------  1 oracle oinstall 64 Jan  5 15:19 1 -> /dev/null
lrwx------  1 oracle oinstall 64 Jan  5 15:19 10 -> socket:[62869]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 11 -> socket:[62870]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 12 -> socket:[62872]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 13 -> socket:[63158]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 14 -> socket:[7596135]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 15 -> socket:[7596175]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 16 -> socket:[63235]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 17 -> socket:[67502]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 18 -> socket:[68706]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 19 -> socket:[68708]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 2 -> /dev/null
lrwx------  1 oracle oinstall 64 Jan  5 15:19 20 -> socket:[69906]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 21 -> socket:[69909]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 22 -> socket:[70880]
l-wx------  1 oracle oinstall 64 Jan  5 15:19 3 -> /home/oracle/RAC/10.2.0/network/log/listener_appsever_2012_jan_05.log
lr-x------  1 oracle oinstall 64 Jan  5 15:19 4 -> pipe:[62841]
lr-x------  1 oracle oinstall 64 Jan  5 15:19 5 -> /home/oracle/RAC/10.2.0/network/mesg/nlus.msb
lr-x------  1 oracle oinstall 64 Jan  5 15:19 6 -> /home/oracle/RAC/10.2.0/network/mesg/tnsus.msb
l-wx------  1 oracle oinstall 64 Jan  5 15:19 7 -> pipe:[62842]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 8 -> socket:[62866]
lrwx------  1 oracle oinstall 64 Jan  5 15:19 9 -> socket:[62867]

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>