Oracle listener.ora配置

本文详细介绍了Oracle数据库中listener.ora文件的配置方法及各项参数的意义,包括监听器的基本设置、协议地址配置、静态监听配置等内容,并提供了多个示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

listener.ora存放位置一般在:$ORACLE_HOME/network/admin目录下

一.文件组成部分
listener的名称
listener接受连接的协议地址
数据库服务名
Oracle8之后的版本有动态监听注册,可以不需要配置静态监听。但是Oracle官网说如果想要使用em需要配置静态监听
控制参数

二.示例
LISTENER=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sale-server)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=sales.us.acme.com)
(ORACLE_HOME=/oracle10g)
(SID_NAME=sales))
(SID_DESC=
(SID_NAME=plsextproc)
(ORACLE_HOME=/oracle10g)
(PROGRAM=extproc)))


三.监听参数说明
1.协议地址部分
listener_name=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=hr-server)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)))
可选参数:
QUEUESIZE:并发请求连接数
RECV_BUF_SIZE,SEND_BUF_SIZE
示例:
listener_name=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=hr-server)(PORT=1521)(RECV_BUF_SIZE=11784)(SEND_BUF_SIZE=11280))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)(QUEUESIZE=20)))

2.静态监听部分
静态监听就是SID_LIST_xxx节点下的配置
最简单的配置如下
SID_LIST_listener_name=
(SID_LIST=
(SID_DESC=...)
(SID_DESC=...))

可允许的参数:
ENVS环境变量键值对
GLOBAL_DBNAME:对外提供的网络服务名
ORACLE_HOME
PROGRAM:用来标识服务可执行程序,最常用的PROGRAM=extproc
SID_NAME: Oracle System Identifier (SID)
SDU: session data unit

示例配置:
SID_LIST_listener_name=
(SID_LIST=
(SID_DESC=
(SDU=2085)
(GLOBAL_DBNAME=sales.us.acme.com)
(SID_NAME=sales)
(ORACLE_HOME=/usr/oracle)(ENVS="LD_LIBRARY_PATH=/private/xpm/lib:/private/mylibs,MYPATH=/usr/ucb:/usr/local/packages,APL_ENV_FILE=/apl/conf/env.txt")))


3.控制参数部分(基本不需要配置)

ADMIN_RESTRICTIONS_listener_name
主要用来保护lsnrctl命令下,对没有使用密码保护的listener的更改,设置了on之后,就不允许在命令行动态的更改参数配置,只有stop,start才行。
INBOUND_CONNECT_TIMEOUT_listener_name
连接超时
LOG_DIRECTORY_listener_name
日志路径
LOG_FILE_listener_name
日志名称
LOGGING_listener_name
是否记录日志
PASSWORDS_listener_name
listener的密码
SAVE_CONFIG_ON_STOP_listener_name
关闭监听的时候是否保存配置
SSL_CLIENT_AUTHENTICATION
ssl认证
STARTUP_WAIT_TIME_listener_name
TRACE_DIRECTORY_listener_name
TRACE_FILE_listener_name
TRACE_FILELEN_listener_name
TRACE_FILENO_listener_name
TRACE_LEVEL_listener_name
TRACE_TIMESTAMP_listener_name
WALLET_LOCATION
### Oracle `listener.ora` 文件配置详解及功能说明 #### 1. 基本概念 `listener.ora` 是 Oracle 数据库中的一个重要配置文件,用于定义监听器的行为和参数。它位于 `$ORACLE_HOME/network/admin` 目录下,主要负责管理客户端与数据库之间的连接请求。 #### 2. 主要组成部分及其作用 以下是 `listener.ora` 的核心部分以及它们的功能: - **LISTENER** 定义监听器的主要描述符列表,指定协议地址以便接收来自客户端的连接请求。 ```plaintext LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.161.97.163)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ``` 上述配置表示监听器通过两个不同的协议(TCP 和 IPC)接受连接请求[^1]。 - **SID_LIST_<Listener_Name>** 指定监听器可以识别的服务标识符(SID),并提供这些服务的相关信息。 ```plaintext SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/12/db_1) ) ) ``` 这里指定了一个名为 `orcl` 的实例,并关联到特定的 `$ORACLE_HOME` 路径[^1]。 - **ENVS 参数** ENVS 参数允许设置环境变量键值对,通常用于扩展进程或其他外部程序的调用。 ```plaintext (ENVS = "EXTPROC_DLLS=ONLY:/data01/oracleDB/product/11.2.0/db_1/bin/oraclr11.dll") ``` 此处设置了动态链接库路径以支持某些特殊需求的应用程序[^4]。 - **ADR_BASE_<Listener_Name>** 自动诊断存储库的基础目录位置,用于保存错误日志和其他诊断数据。 ```plaintext ADR_BASE_LISTENER = /data01/oracleDB ``` 表明自动诊断记录将被存放在 `/data01/oracleDB` 下面[^2]。 #### 3. 配置后的操作指南 完成 `listener.ora` 修改之后,需执行以下命令来应用更改: - 启动监听器:`lsnrctl start <监听器名字>`[^3] - 停止监听器:`lsnrctl stop <监听器名字>`[^3] - 查看状态:`lsnrctl status <监听器名字>` 此外还可以利用 `tnsping` 工具测试目标别名对应的数据库连通情况[^3]。 --- ### 示例代码展示 下面是一个完整的 `listener.ora` 配置样例: ```plaintext # listener.ora Network Configuration File: $ORACLE_HOME/network/admin/listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = mydb.example.com) (SID_NAME = mydb) (ORACLE_HOME = /path/to/oracle/home) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = MYIPC)) ) ) ADR_BASE_LISTENER = /path/to/diag/base ``` 此示例展示了如何为单个数据库实例创建基本的监听器配置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值