Oracle 11g2的监听器配置教程


在Oracle 11g Release 2中,配置监听器(Listener)是一个常见的任务,它允许远程客户端连接到数据库。监听器配置主要通过`listener.ora`文件完成,该文件通常位于`$ORACLE_HOME/network/admin`目录下。以下是一个基本的监听器配置教程:

### 1. 定位`listener.ora`文件

首先,你需要找到`listener.ora`文件。这个文件通常位于Oracle的`network/admin`目录下。例如,如果你的Oracle安装在`/u01/app/oracle/product/11.2.0/dbhome_1`,那么`listener.ora`文件可能位于`/u01/app/oracle/product/11.2.0/dbhome_1/network/admin`。

### 2. 编辑`listener.ora`文件

使用文本编辑器(如vi, nano等)打开`listener.ora`文件。一个基本的监听器配置可能看起来像这样:

text
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = your_sid)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (PROGRAM = oracle)
    )
  )

请确保将`your_host_name`替换为你的服务器的主机名或IP地址,将`your_sid`替换为你的数据库的系统标识符(SID)。

### 3. 重启监听器

修改`listener.ora`文件后,你需要重启监听器以使更改生效。你可以使用`lsnrctl`命令来管理监听器。

- 停止监听器(可选,但推荐在修改配置后重启):


  lsnrctl stop
  

- 启动监听器:


  lsnrctl start
  

- 检查监听器状态:


  lsnrctl status
  

### 4. 验证配置

使用`lsnrctl status`命令后,你应该能看到监听器的状态,包括它正在监听的地址和端口,以及它知道的数据库服务。

### 注意事项

- 确保Oracle用户有足够的权限来编辑`listener.ora`文件和运行`lsnrctl`命令。

- 如果你的数据库服务器有多个网络接口或IP地址,确保在`listener.ora`文件中配置了正确的地址。

- 如果你的数据库配置为使用动态服务注册(通过PMON进程自动注册到监听器),则可能不需要在`SID_LIST_LISTENER`部分手动指定SID。然而,在某些情况下(如手动故障转移或特定配置),手动指定SID可能是必要的。

以上就是在Oracle 11g Release 2中配置监听器的基本步骤。