Oracle 监听器(Listener)是 Oracle 数据库网络架构中的关键组件,负责管理客户端与数据库服务器之间的通信。以下是 Oracle 监听器的详细安装和配置步骤。
运行 netca
命令(在 Unix/Linux 终端或 Windows 命令提示符下)
$ netca
在向导中选择"Listener configuration"
选择"Add"创建新监听器
输入监听器名称(默认 LISTENER)
选择协议(通常选择 TCP)
指定端口号(默认1521)
完成配置
定位到 Oracle 网络管理目录:
$ORACLE_HOME/network/admin
创建或编辑 listener.ora 文件,添加以下内容:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521))
)
)
保存文件
使用 lsnrctl 命令启动监听器:
$ lsnrctl start [listener_name]
如果不指定监听器名称,默认启动 LISTENER
检查监听器状态:
$ lsnrctl status
lsnrctl start
lsnrctl stop
lsnrctl status
lsnrctl reload
lsnrctl services
编辑数据库的初始化参数文件(init.ora 或 spfile):
LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))'
或者在数据库运行期间动态设置:
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' SCOPE=BOTH;
注册服务:
ALTER SYSTEM REGISTER;
监听器无法启动:
netstat -an | grep 1521
$ORACLE_HOME/network/log/listener.log
客户端无法连接:
服务未注册:
ALTER SYSTEM REGISTER
可以配置多个监听器以提高可用性或负载均衡:
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
)
)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1522))
)
)
设置密码:
$ lsnrctl
LSNRCTL> set password
Password:
LSNRCTL> change_password
LSNRCTL> save_config
之后执行管理操作需要提供密码
通过以上步骤,您应该能够成功安装和配置 Oracle 监听器,为数据库客户端连接提供服务。