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

    示例 调用方法 class CorsMiddleware: def process(self): print('from auth.cors.CorsMiddleware.process') cors ...

  2. linux-grep-tail-find

    如果在只是想匹配模式的上下几行,grep可以实现. $grep -5 'parttern' inputfile //打印匹配行的前后5行 $grep -C 5 'parttern' inputfile ...

  3. Tomcat出现The origin server did not find a current representation for the target resourc...

    访问页面出现404 解决方法: https://blog.csdn.net/dbc_121/article/details/79204340 我的问题主要还是在tomcat调整上, 对了,关于loca ...

  4. SPP空间金字塔池化技术的直观理解

    空间金字塔池化技术, 厉害之处,在于使得我们构建的网络,可以输入任意大小的图片,不需要经过裁剪缩放等操作. 是后续许多金字塔技术(psp,aspp等)的起源,主要的目的都是为了获取场景语境信息,获取上 ...

  5. sqlite数据库中为字段设置默认值为当前时间

    开始 `creation_time` NUMERIC DEFAULT (datetime('now','localtime')), `update_time` NUMERIC DEFAULT (dat ...

  6. 转:图解C#的值类型,引用类型,栈,堆,ref,out

    C# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解.还有托管堆,栈,ref,out等等概念也是每个C#程序员都会接触到的概念,也是C#程序员面试经常考到的知识,随便搜搜 ...

  7. window安装ab压力测试并使用

    ab是Apache HTTP server benchmarking tool的缩写,可以用以测试HTTP请求的服务器性能,也是业界比较流行和简单易用的一种压力测试工具包 1.下载ab工具 进入apa ...

  8. shell爬虫--抓取某在线文档所有页面

    在线教程一般像流水线一样,页面有上一页下一页的按钮,因此,可以利用shell写一个爬虫读取下一页链接地址,配合wget将教程所有内容抓取. 以postgresql中文网为例.下面是实例代码 #!/bi ...

  9. HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统

    一.HAProxy简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点, ...

  10. (转)Awesome Human Pose Estimation

    Awesome Human Pose Estimation 2018-10-08 11:02:35 Copied from: https://github.com/cbsudux/awesome-hu ...