欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 监听器日志配置与管理

程序员文章站 2024-04-06 15:05:43
...

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

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

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

有关监听器的描述请参考

配置 ORACLE 客户端连接到数据库
配置非默认端口的动态服务注册

相关阅读:

Oracle 双监听器的配置

Oracle监听器出现的6种连接问题及其解决方法

Oracle 11g2的监听器配置

Oracle数据库的监听器挂起情况

监听器注册与ORA-12514 错误分析

一、监听器日志特性
1. 监听器日志是一个纯文本文件,通常位于$ORACLE_HOME/network/log目录下,与sqlnet.log日志文件处于同一路径
2. 其缺省的文件名为listener.log。对于非缺省的监听器,则产生的日志文件通常为listenername.log
3. 该文件缺省由监听器自动创建,当日志文件丢失时或不存在时,会自动重新创建一个同名的文件,,与alert_.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. 查看新路径下产生的日志文件