Oracle 监听器日志配置与管理

--========================
-- Oracle 监听器日志配置与管理
--========================

Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数据库服务。因此对监听器的管理与维护相当重要。
本文主要描述对Oracle监听器日志文件的配置与管理。

有关监听器的描述请参考

相关阅读:

一、监听器日志特性
1.  监听器日志是一个纯文本文件,通常位于$ORACLE_HOME/network/log目录下,与sqlnet.log日志文件处于同一路径
2.  其缺省的文件名为listener.log。对于非缺省的监听器,则产生的日志文件通常为listenername.log
3.  该文件缺省由监听器自动创建,当日志文件丢失时或不存在时,会自动重新创建一个同名的文件,与alert_<SID>.log文件类似
4.  该文件的尺寸会不断自动增长,当尺寸过大时或不便于阅读时,考虑将其备份
5.  Oracle监听器在运行时不允许对日志文件做删除,重命名操作
6.  可以设置日志状态为ON或OFF来实现启用或关闭日志

二、设置日志文件目录及路径

1.  设置日志文件目录的两种方法

lsnrctl SET LOG_DIRECTORY directory
LSNRCTL> SET LOG_DIRECTORY /usr/oracle/admin/log

2.  设置日志文件的两种方法   

lsnrctl SET LOG_FILE file_name
LSNRCTL> SET LOG_FILE file_name

3.  设置日志的状态

 lsnrctl SET LOG_STATUS {on | off}
LSNRCTL> SET LOG_STATUS {on | off}

4.  演示设置
a.  切换到日志目录查看日志文件       

 [oracle@test ~]$ cd $ORACLE_HOME/network/log   
 [oracle@test log]$ ls -hltr
 total 348K
 -rw-r--r--  1 oracle oinstall 305K Apr  6 05:30 listener.log
 -rw-r--r--  1 oracle oinstall  26K Jun 27 01:52 listener_demo92.log

 b.  查看当前监听器的状态

 [oracle@test log]$ lsnrctl status listener_demo92
           
 LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 01:54:31
           
 Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.
           
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
 STATUS of the LISTENER
 ------------------------
 Alias                    listener_demo92
 Version                  TNSLSNR for Linux: Version 9.2.0.8.0 - Production
 Start Date                27-JUN-2011 01:52:18
 Uptime                    0 days 0 hr. 2 min. 13 sec
 Trace Level              off
 Security                  ON
 SNMP                      OFF
 Listener Parameter File  /oracle/92/network/admin/listener.ora
 Listener Log File        /oracle/92/network/log/listener_demo92.log
 Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
 Services Summary...
 Service "demo92" has 1 instance(s).
              Instance "demo92", status READY, has 1 handler(s) for this service...
            The command completed successfully

c.  设置监听器目录及日志文件

LSNRCTL> set current_listener listener_demo92                                 
Current Listener is listener_demo92                                           
LSNRCTL> set password                                                         
Password:                                                                     
The command completed successfully                                           
LSNRCTL> set log_directory /home/oracle/log                                   
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
listener_demo92 parameter "log_directory" set to /home/oracle/log             
The command completed successfully                                           
LSNRCTL> set log_file listener_test.log                                       
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
listener_demo92 parameter "log_file" set to listener_test.log                 
The command completed successfully                                           
LSNRCTL> set log_status on                                                   
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
listener_demo92 parameter "log_status" set to ON                             
The command completed successfully                                           
LSNRCTL> save_config                                                         
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
Saved listener_demo92 configuration parameters.                               
Listener Parameter File  /oracle/92/network/admin/listener.ora               
Old Parameter File  /oracle/92/network/admin/listener.bak                   
The command completed successfully                                           
LSNRCTL> exit

d.  查看新路径下产生的日志文件

[oracle@test admin]$ cd /home/oracle/log                                                             
[oracle@test log]$ ls -hltr                                                                         
total 16K                                                                                           
-rw-r--r--  1 oracle oinstall  41 Jun 27 02:11 listener_demo92.log  -->设置目录之后生成的           
-rw-r--r--  1 oracle oinstall 113 Jun 27 02:12 listener_test.log    -->设置日志文件名之后的新日志文件
                                                                                                     
[oracle@test log]$ ls -hltr    -->隔段时间查看,原来的日志文件不再增长,使用设定的日志文件名记录日志 
total 16K                                                                                           
-rw-r--r--  1 oracle oinstall  41 Jun 27 02:11 listener_demo92.log                                 
-rw-r--r--  1 oracle oinstall 1.3K Jun 27 02:17 listener_test.log                                   

e.  查看listener.ora配置文件的变化

[oracle@test admin]$ more listener.ora           
#----ADDED BY TNSLSNR 27-JUN-2011 02:12:37---     
LOG_DIRECTORY_listener_demo92 = /home/oracle/log 
LOG_FILE_listener_demo92 = listener_test.log     
LOGGING_listener_demo92 = ON                     
#--------------------------------------------     

相关推荐