十一假期间,某客户因为监听日志问题导致系统登录挂起,当时在返京的路上,因客户业务不允许中断,无奈之下,借了个本子帮客户做了紧急处理,今天恰好有空,在网上搜了下有关监听日志的内容,发现一个不错的帖子,内容比较全,且比较准确,记录一下,以便同学和自己今后研究学习。该贴转自: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. java框架之SpringBoot(16)-分布式及整合Dubbo

    前言 分布式应用 在分布式系统中,国内常用 Zookeeper + Dubbo 组合,而 SpringBoot 推荐使用 Spring 提供的分布式一站式解决方案 Spring + SpringBoo ...

  2. js 整数型数组和字符型数组相互转换

    需求背景: 需要将 a = [1,2,3,4,5] 转换成  a = ['1','2','3','4','5'](整数型数组转换成字符型没找到直接的方法,思路就是先将数组转换成字符串,然后再将字符串转 ...

  3. npm 发布一个全局的指令

    我们经常使用 npm i  -g  xxxx 安装完成一个包之后,就能直接使用对应的指令.例如安装  vue-cli 或者 express 等 那么下面我们自己做一个类似的效果: 首先要对 npm 发 ...

  4. selenium case报错重新执行

    在做web ui自动化的过程中,经常发现这样一种情况,执行时case报错啦,再重新执行一遍又成功了. 如果不解决这个问题,脚本稳定性就会变差,很让人蛋疼,怎么解决呢: 思路: 写一个装饰器,装饰在ca ...

  5. PHP----------file_get_content获取不到页面信息

    1.将网址在页面上打开可以正常访问,但是用file_get_content请求则访问不到.这个是因为对方挡住了非浏览器访问导致的.需要改下php配置,模拟浏览器访问. user_agent=" ...

  6. 让sublime可以和visual studio一样自动在运算符前后添加空格的插件

    用过vs的人都知道,vs会自动在代码中运算符的前后加空格,比如 i=1; 换行后会自动变成i = 1; 开始觉得这个挺烦的,后来习惯了,发现这个功能还是挺好的,然代码更清晰. 最近换了sublimet ...

  7. Lua 求当前月份的最大天数

    [1]实现代码 -- 第一种方式:简写 , day = })) print('The first way result : dayAmount = ' .. dayAmount) -- 第二种方式:分 ...

  8. Maven pom.xml详解(转)

    pom文件总体结构 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  9. Linux TCP并发请求溺出 调优

    TCP并发请求溺出 调优:系统开启某个监听端口后,当多个TCP请求连接监听端后,会把多个请求交给backlog的默认监听队列由socket server一并处理,backlog有自己的队列长度默认12 ...

  10. dubbo多网卡时,服务提供者的错误IP注册到注册中心导致消费端连接不上

    使用了虚拟机之后,启动了dubbo服务提供者应用,又连了正式环境的注册中心: 一旦dubbo获取的ip错误后, 这种情况即使提供者服务停掉,目前dubbo没有能力清除这类错误的提供者: (需要修改源码 ...