• Oracle 监听器日志配置与管理


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

    2. C:oracleora92 etworklog> lsnrctl set log_status off -->暂停或脱机记录日志文件

    3. C:oracleora92 etworklog> rename listener.log listener.old -->重命名日志文件,一般加上日期

    4. C:oracleora92 etworklog> 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

  • 相关阅读:
    DEV勾选框按钮呈现
    C#事务
    C#调用python脚本
    centos 磁盘满
    PostgreSQL库表字段信息
    Nginx Configuration for windows
    .NET Core 6.0之读取配置文件
    WinUI迁移到即将"过时"的.NET MAUI个人体验
    客户案例Husqvarna AB
    客户案例SES S.A.
  • 原文地址:https://www.cnblogs.com/lhdz_bj/p/9936355.html
Copyright © 2020-2023  润新知