Oracle 监听器日志配置与管理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: --========================-- Oracle 监听器日志配置与管理--========================    Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数据库服务。
--========================
-- 
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.  设置日志文件目录的两种方法        

[sql]   view plain  copy
 print ?
  1. lsnrctl SET LOG_DIRECTORY directory  
  2.           
  3. LSNRCTL> SET LOG_DIRECTORY /usr/oracle/admin/log  
       2.   设置日志文件的两种方法      
[sql]   view plain  copy
 print ?
  1. lsnrctl SET LOG_FILE file_name  
  2.          
  3. LSNRCTL> SET LOG_FILE file_name  
       3.   设置日志的状态      
[sql]   view plain  copy
 print ?
  1. lsnrctl SET LOG_STATUS {on | off}  
  2.   
  3. LSNRCTL> SET LOG_STATUS {on | off}  
       4.   演示设置
        a.   切换到日志目录查看日志文件          
[sql]   view plain  copy
 print ?
  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.   查看当前监听器的状态          
[sql]   view plain  copy
 print ?
  1. [oracle@test log]$ lsnrctl status listener_demo92  
  2.              
  3. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 01:54:31  
  4.              
  5. Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.  
  6.              
  7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))  
  8. STATUS of the LISTENER  
  9. ------------------------  
  10. Alias                     listener_demo92  
  11. Version                   TNSLSNR for Linux: Version 9.2.0.8.0 - Production  
  12. Start Date                27-JUN-2011 01:52:18  
  13. Uptime                    0 days 0 hr. 2 min. 13 sec  
  14. Trace Level               off  
  15. Security                  ON  
  16. SNMP                      OFF  
  17. Listener Parameter File   /oracle/92/network/admin/listener.ora  
  18. Listener Log File         /oracle/92/network/log/listener_demo92.log  
  19. Listening Endpoints Summary...  
  20. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))  
  21. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))  
  22. Services Summary...  
  23. Service "demo92" has 1 instance(s).  
  24.              Instance "demo92", status READY, has 1 handler(s) for this service...  
  25.            The command completed successfully          
  26.          

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

[sql]   view plain  copy
 print ?
  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.   查看新路径下产生的日志文件 
[sql]   view plain  copy
 print ?
  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.                                                                                                         
  7. [oracle@test log]$ ls -hltr    -->隔段时间查看,原来的日志文件不再增长,使用设定的日志文件名记录日志    
  8. total 16K                                                                                               
  9. -rw-r--r--  1 oracle oinstall   41 Jun 27 02:11 listener_demo92.log                                     
  10. -rw-r--r--  1 oracle oinstall 1.3K Jun 27 02:17 listener_test.log                                       
        e.   查看listener.ora配置文件的变化
[sql]   view plain  copy
 print ?
  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平台的处理           
[sql]   view plain  copy
 print ?
  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平台的处理          
[sql]   view plain  copy
 print ?
  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平台下重命名日志文件                           
[sql]   view plain  copy
 print ?
  1. [oracle@test ~]$ cd /home/oracle/log                                                      
  2. [oracle@test log]$ lsnrctl set log_status off  -->如果存在密码,应使用LSNRCTL界面来完成   
  3.                                                                                           
  4. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:09                 
  5.                                                                                           
  6. Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.                       
  7.                                                                                           
  8. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))                                         
  9. LISTENER parameter "log_status" set to OFF                                                
  10. The command completed successfully                                                        
  11. [oracle@test log]$ mv listener_test.log listener_test.old                                 
  12. [oracle@test log]$ lsnrctl set log_status on                                              
  13.                                                                                           
  14. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:31                 
  15.                                                                                           
  16. Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.                       
  17.                                                                                           
  18. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))                                         
  19. LISTENER parameter "log_status" set to ON                                                 
  20. The command completed successfully                                                          

 

...............................................................................................................................

● 本文来自于CSDN转载文章,若有侵权,请联系小麦苗及时删除,非常感谢原创作者Leshami的无私奉献

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● QQ群:230161599  微信群:私聊

● 原文地址:http://blog.csdn.net/leshami/article/details/6629043

● 小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群: 230161599   微信群:私聊

● 联系我请加QQ好友(642808185),注明添加缘由

●【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】

...............................................................................................................................

手机长按下图识别二维码或微信客户端扫描下边的二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,免费学习最实用的数据库技术。




相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
17天前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
197 93
|
17天前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
212 4
|
安全 BI 网络安全
EventLog Analyzer 如何满足等保合规要求?密码有效期、产品日志保留、配置备份三大核心问题全面解答
EventLog Analyzer(ELA)助力企业满足网络安全等级保护要求,支持配置自动/手动备份、日志180天留存及密码策略管理,提升合规性与安全运营效率。
|
7月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
635 0
|
7月前
|
Oracle Java 关系型数据库
【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
|
3月前
|
JSON 安全 Go
Go语言项目工程化 —— 日志、配置、错误处理规范
本章详解Go语言项目工程化核心规范,涵盖日志、配置与错误处理三大关键领域。在日志方面,强调其在问题排查、性能优化和安全审计中的作用,推荐使用高性能结构化日志库zap,并介绍日志级别与结构化输出的最佳实践。配置管理部分讨论了配置分离的必要性,对比多种配置格式如JSON、YAML及环境变量,并提供viper库实现多环境配置的示例。错误处理部分阐述Go语言显式返回error的设计哲学,讲解标准处理方式、自定义错误类型、错误封装与堆栈追踪技巧,并提出按调用层级进行错误处理的建议。最后,总结各模块的工程化最佳实践,助力构建可维护、可观测且健壮的Go应用。
|
4月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
408 4
|
6月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
165 23
|
7月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
7月前
|
数据库连接 测试技术 Windows
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题

推荐镜像

更多