十一假期间,某客户因为监听日志问题导致系统登录挂起,当时在返京的路上,因客户业务不允许中断,无奈之下,借了个本子帮客户做了紧急处理,今天恰好有空,在网上搜了下有关监听日志的内容,发现一个不错的帖子,内容比较全,且比较准确,记录一下,以便同学和自己今后研究学习。该贴转自:https://blog.csdn.net/leshami/article/details/6629043

--========================
-- 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.  设置日志文件目录的两种方法

  1. lsnrctl SET LOG_DIRECTORY directory

  2. LSNRCTL> SET LOG_DIRECTORY /usr/oracle/admin/log

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

  1. lsnrctl SET LOG_FILE file_name

  2. LSNRCTL> SET LOG_FILE file_name

3.   设置日志的状态

  1. lsnrctl ET LOG_STATUS {on | off}

  2. LSNRCTL> SET LOG_STATUS {on | off}

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

  1. [oracle@test ~]$ cd $ORACLE_HOME/network/log

  2. [oracle@test log]$ ls -hltr

  3. total 348K

  4. -rw-r--r-- 1 oracle oinstall 305K Apr 6 05:30 listener.log

  5. -rw-r--r-- 1 oracle oinstall 26K Jun 27 01:52 listener_demo92.log

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

  1. [oracle@test log]$ lsnrctl status listener_demo92

  2. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 01:54:31

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

  4. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))

  5. STATUS of the LISTENER

  6. ------------------------

  7. Alias listener_demo92

  8. Version TNSLSNR for Linux: Version 9.2.0.8.0 - Production

  9. Start Date 27-JUN-2011 01:52:18

  10. Uptime 0 days 0 hr. 2 min. 13 sec

  11. Trace Level off

  12. Security ON

  13. SNMP OFF

  14. Listener Parameter File /oracle/92/network/admin/listener.ora

  15. Listener Log File /oracle/92/network/log/listener_demo92.log

  16. Listening Endpoints Summary...

  17. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))

  18. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

  19. Services Summary...

  20. Service "demo92" has 1 instance(s).

  21. Instance "demo92", status READY, has 1 handler(s) for this service...

  22. The command completed successfully

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

  1. LSNRCTL> set current_listener listener_demo92

  2. Current Listener is listener_demo92

  3. LSNRCTL> set password

  4. Password:

  5. The command completed successfully

  6. LSNRCTL> set log_directory /home/oracle/log

  7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))

  8. listener_demo92 parameter "log_directory" set to /home/oracle/log

  9. The command completed successfully

  10. LSNRCTL> set log_file listener_test.log

  11. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))

  12. listener_demo92 parameter "log_file" set to listener_test.log

  13. The command completed successfully

  14. LSNRCTL> set log_status on

  15. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))

  16. listener_demo92 parameter "log_status" set to ON

  17. The command completed successfully

  18. LSNRCTL> save_config

  19. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))

  20. Saved listener_demo92 configuration parameters.

  21. Listener Parameter File /oracle/92/network/admin/listener.ora

  22. Old Parameter File /oracle/92/network/admin/listener.bak

  23. The command completed successfully

  24. LSNRCTL> exit

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

  1. [oracle@test admin]$ cd /home/oracle/log

  2. [oracle@test log]$ ls -hltr

  3. total 16K

  4. -rw-r--r-- 1 oracle oinstall 41 Jun 27 02:11 listener_demo92.log -->设置目录之后生成的

  5. -rw-r--r-- 1 oracle oinstall 113 Jun 27 02:12 listener_test.log -->设置日志文件名之后的新日志文件

  6. [oracle@test log]$ ls -hltr -->隔段时间查看,原来的日志文件不再增长,使用设定的日志文件名记录日志

  7. total 16K

  8. -rw-r--r-- 1 oracle oinstall 41 Jun 27 02:11 listener_demo92.log

  9. -rw-r--r-- 1 oracle oinstall 1.3K Jun 27 02:17 listener_test.log

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

  1. [oracle@test admin]$ more listener.ora

  2. #----ADDED BY TNSLSNR 27-JUN-2011 02:12:37---

  3. LOG_DIRECTORY_listener_demo92 = /home/oracle/log

  4. LOG_FILE_listener_demo92 = listener_test.log

  5. LOGGING_listener_demo92 = ON

  6. #--------------------------------------------

三、日志文件的备份与重命名

通常情况下,需要停止监听器来对日志文件进行备份,下面使用不停止监听的情况下对日志文件重命名以实现备份
        1. Windows平台的处理

  1. C:\>cd \oracle\ora92\network\log -->切换到监听器日志文件所在目录

  2. C:\oracle\ora92\network\log> lsnrctl set log_status off -->暂停或脱机记录日志文件

  3. C:\oracle\ora92\network\log> rename listener.log listener.old -->重命名日志文件,一般加上日期

  4. C:\oracle\ora92\network\log> lsnrctl set log_status on -->联机监听器日志文件,会自动重新创建一个新的日志文件

2. Unix/Linux平台的处理

  1. $ lsnrctl set log_status off

  2. $ mv listener.log listener.old -->另一种方法,cp listener.log /log/bak/. 然后 cp /dev/null >listener.log

  3. $ lsnrctl set log_status on

3. 演示Linux平台下重命名日志文件

    1. [oracle@test ~]$ cd /home/oracle/log

    2. [oracle@test log]$ lsnrctl set log_status off -->如果存在密码,应使用LSNRCTL界面来完成

    3. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:09

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

    5. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))

    6. LISTENER parameter "log_status" set to OFF

    7. The command completed successfully

    8. [oracle@test log]$ mv listener_test.log listener_test.old

    9. [oracle@test log]$ lsnrctl set log_status on

    10. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:31

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

    12. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))

    13. LISTENER parameter "log_status" set to ON

Oracle 监听器日志配置与管理的更多相关文章

  1. Oracle 监听器日志文件过大导致监听异常

    Oracle 监听器日志文件过大导致监听异常 db版本:11.2.0.1 os版本:windows2008 现象: 应用异常,无法连接数据库.登陆数据库服务器,查看监听已经断掉.尝试重启监听,重启失败 ...

  2. Oracle 监听器日志解析

    Oracle监听器是驻留在Oracle实例所在服务器上的独立进程.作为客户端进程连接实例的重要沟通组件,Oracle监听器扮演着重要的地位.本篇将从监听器日志入手,分析阅读监听器日志和日常监听器常见行 ...

  3. Nginx https加密以及nginx日志配置与管理

    Nginx https加密以及nginx日志配置与管理 使用Nginx的优点Nginx作为WEB服务器,Nginx处理静态文件.索引文件.自动索引的效率非常高.Nginx作为代理服务器,Nginx可以 ...

  4. oracle监听器初识-配置多SERVICE_NAMES

    现象: 为数据库设置多个服务名(通过SCOPE=both设置,同时修改参数文件) SQL> show parameter service_names; NAME TYPE VALUE ----- ...

  5. oracle归档日志配置查询

    归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档 ...

  6. 对于oracle监听器的配置

    oracle 的 net configuration  assist中配置完第一项的监听程序配置(对应文件listener.ora)之后,还要重新配置下第三项本地网络服务名配置(对应文件tnsname ...

  7. Oracle 网络配置与管理

    [学习目标] Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数 据库服务.因此对监听器的管理与维护相当重要.         本章主要内容是描述对Oracle 监听器 ...

  8. Oracle监听器

    Oracle 监听器 Listener 是一个重要的数据库服务器组件,在整个 Oracle 体系结构中,扮演着重要的作用.它负责管理 Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默 ...

  9. Oracle 监听器 Listene

    Oracle 监听器 Listener 是一个重要的数据库服务器组件,在整个 Oracle 体系结构中,扮演着重要的作用.它负责管理 Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默 ...

随机推荐

  1. xshell 6评估已过期解决办法 / xftp 6 评估已过期解决办法

    1.工具用途介绍 Xshell  是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.Xshell 通过互联网到远程主机的安全 ...

  2. 关闭图形界面下普通用户关机重启命令- 7.x - CentOS

    vim /etc/polkit-/rules.d/-inhibit-shutdown.rules polkit.addRule(function(action, subject) { if (acti ...

  3. node (02 CommonJs 和 Nodejs 中自定义模块)顺便讲讲module.exports和exports的区别 dependencies 与 devDependencies 之间的区别

    CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷.它的终极目标就是:提供一个类似 Python,Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶 ...

  4. safari无法调试iphone提示“无可检查的应用程序”的解决方法

    iphone上打开safari,随便访问一个网站,mac上通过Safari的开发,我的iphone是可以看到的.如果打开APP,就提示“无可检查的应用程序”. 解决方法 使用XCode运行我们的App ...

  5. JS关键字和保留字汇总(小记)

    ECMA-262 描述了一组具有特定用途的关键字.这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等.按照规则,关键字也是语言保留的,不能用作标识符.以下就是ECMAScript的全部关 ...

  6. Sigleton bj

    package com.bjsxt.base; class Sigleton{ private Sigleton(){}; private static Sigleton instance = new ...

  7. git之摘抄

    vn中央集权, 统一服务器, 权限安全管理 git 分布式,代码仓库历史本地有,不受约束, 可以随意开分支.

  8. day01 格式化输出和while循环的两个小练习

    练习1.模拟登陆判断(3次机会) r_name = 'xianyu' r_password = ' i = 3 # 用来控制循环次数 while i > 0: name = input('请输入 ...

  9. JavaScript 声明提前机制

    声明提前机制 在JavaScript存在着这样一种预处理机制,即浏览器在解析JS代码时会将var声明的变量和function声明的函数提升到当前作用域的顶部.但是解析JS代码时对var和functio ...

  10. nginx--service配置

    nginx从今天开始进行相关学习了,包括:1.注册centos的service服务:2.相关的tomcat负载:3.https配置:4.session共享配置 1.注册centos的service服务 ...