listener.ora文件的默认目录是$oracle_home/network/admin/
默认listener.ora文件包含以下参数:

  • 侦听器的名称。默认名称是LISTENER。
  • ADDRESS_LIST参数包含一个地址块,侦听器在其中列出传入连接的地址。此块中定义的每个地址表示侦听器接收连接的不同方式。

TCP地址标识来自网络上试图连接到端口1521(默认端口号)的客户端的传入TCP连接。客户机使用其tnsnames.ora文件中定义的端口连接到此侦听器。根据为此侦听器定义的SID列表,侦听器指定要连接到的数据库。
侦听器可以在一台计算机上列出多个数据库。sid列表列出了定义这些sid的名称块或参数。如果定义了多个SID,那么将定义sid-u列表参数。对于每个定义的sid,sid-u desc参数必须存在。
Oracle_Home标识服务的Oracle主位置。这使侦听器能够识别Oracle可执行文件的位置。
参数global_dbname标识数据库的全局数据库名称,该名称由数据库名称和数据库域组成。全局数据库名称的格式为database_name.database_domain。例如,考虑orcl.us.oracle.com,其中数据库名称部分orcl是您要调用数据库的简单名称。数据库域部分us.oracle.com指定数据库所在的数据库域,使全局数据库名称唯一。此参数必须嵌入到sid_desc下,并且应与初始化参数文件中service_name参数的值匹配。
sid_name参数定义侦听器接受连接所代表的sid的名称。
使用Oracle用户登录Oracle服务器,然后将目录更改为$Oracle_home/network/admin,编辑listener.ora文件。如果listener.ora文件不存在,请创建一个新文件。示例如下:

LISTENER =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.45.5.57)(PORT = 1521))
    )))
SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (GLOBAL_DBNAME = cc)
    (ORACLE_HOME = /oracle/product/112)
    (SID_NAME = cc)
  ))

使用侦听器控制实用程序(lsnrctl)启动/停止/监视侦听器。侦听器控制实用程序命令可以从命令行或lsnrctl提示符发出。

使用命令行:
启动侦听器:

    $lsnrctl start listener_name

停止侦听器:

    $lsnrctl stop listener_name

正在检查侦听器的状态:

    $lsnrctl status listener_name

如果listener name是默认名称listener,则可以忽略listener的名称:

lsnrctl start
lsnrctl stop
lsnrctl status

使用LSNRCTL提示:

$lsnrctl
LSNRCTL> set current_listener listener_name
LSNRCTL> start
LSNRCTL> stop
LSNRCTL> status

如果***名称是默认名称LISTENER,则可以忽略'set current_listener':

$lsnrctl
LSNRCTL> start
LSNRCTL> stop
LSNRCTL> status