温馨提示×

lsnrctl如何测试监听器连接

小樊
43
2025-10-12 14:23:50
栏目: 编程语言

lsnrctl 是 Oracle 数据库的一个命令行工具,用于管理和监控 Oracle 数据库的监听器。要使用 lsnrctl 测试监听器连接,请按照以下步骤操作:

  1. 打开命令提示符(Windows)或终端(Linux/Unix)。

  2. 输入 lsnrctl 命令,然后按 Enter 键。这将启动 lsnrctl 工具。

  3. 使用 status 命令查看监听器的状态。这将显示监听器的名称、版本、启动时间等信息。例如:

    LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 01-JAN-2021 12:34:56
    
    Copyright (c) 1991, 2019, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.example.com)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
    Start Date                01-JAN-2021 12:34:56
    Uptime                    0 days 0 hr. 30 min. 12 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/myhost/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost.example.com)(PORT=1521)))
    Services Summary...
      Service "CLRExtProc" has 1 instance(s).
            Instance "clrextproc", status READY, has 1 handler(s) for this service...
      Service "mydb" has 1 instance(s).
            Instance "orcl", status READY, has 1 handler(s) for this service...
    The command completed successfully
    
  4. 使用 test 命令测试监听器连接。您需要提供用户名、密码和连接描述符。例如:

    lsnrctl test <username>/<password>@<connection_descriptor>
    

    其中,<username> 是数据库用户名,<password> 是数据库密码,<connection_descriptor> 是连接描述符,格式为 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>)))

    例如:

    lsnrctl test scott/tiger@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.example.com)(PORT=1521)))
    
  5. 按 Enter 键执行命令。如果连接成功,您将看到以下消息:

    TNS-12541: TNS:no listener
    

    如果连接失败,您将看到错误消息,例如:

    TNS-12560: TNS:protocol adapter error
    TNS-00516: Lost connection
    

    根据错误消息,您可以诊断并解决问题。

0