Ubuntu如何配置Oracle监听器
导读:Ubuntu配置Oracle监听器详细步骤 1. 前提准备 安装Oracle数据库:确保Oracle Database已正确安装在Ubuntu服务器上(如19c/21c版本)。 配置Oracle环境变量:编辑~/.bashrc或/etc/...
Ubuntu配置Oracle监听器详细步骤
1. 前提准备
- 安装Oracle数据库:确保Oracle Database已正确安装在Ubuntu服务器上(如19c/21c版本)。
- 配置Oracle环境变量:编辑
~/.bashrc
或/etc/profile
,添加以下变量(根据实际安装路径调整):
执行export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 # 替换为实际ORACLE_HOME路径 export ORACLE_SID=orcl # 替换为实际数据库SID export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib
source ~/.bashrc
使变量生效。
2. 创建/编辑监听器配置文件(listener.ora)
监听器配置文件默认位于$ORACLE_HOME/network/admin/
目录下,使用文本编辑器(如vi
)打开:
sudo vi $ORACLE_HOME/network/admin/listener.ora
添加或修改以下内容(关键参数说明见注释):
# 监听器基本配置:定义监听的协议、IP地址和端口
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) # 监听所有网络接口(生产环境建议指定具体IP)
)
)
# 可选:关联SID与Oracle Home(若需监听多个数据库实例)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl) # 数据库SID(需与实际一致)
(ORACLE_HOME = $ORACLE_HOME) # 指向Oracle安装目录
)
)
保存并退出编辑器。
3. (可选)创建/编辑TNSNAMES.ORA文件
若需通过服务名连接数据库,需配置tnsnames.ora
文件(同样位于$ORACLE_HOME/network/admin/
):
sudo vi $ORACLE_HOME/network/admin/tnsnames.ora
添加以下内容(示例):
# 定义数据库服务名(别名),用于客户端连接
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) # 替换为服务器实际IP
(CONNECT_DATA =
(SERVER = DEDICATED) # 连接模式(专用服务器)
(SERVICE_NAME = orcl) # 数据库服务名(需与实际一致)
)
)
保存并退出。
4. 启动Oracle监听器
使用lsnrctl
命令启动监听器:
lsnrctl start
若启动成功,将显示类似以下信息:
Starting /u01/app/oracle/product/19.0.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/ubuntu/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Services summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
5. 验证监听器状态
通过以下命令检查监听器是否运行正常:
lsnrctl status
重点确认:
- 监听地址:是否包含配置的
HOST
(如0.0.0.0
或具体IP); - 监听端口:是否为配置的
PORT
(如1521
); - 服务状态:是否有目标数据库SID(如
orcl
)且状态为READY
。
6. 常用管理命令
- 停止监听器:
lsnrctl stop
- 重新加载配置(无需重启):
lsnrctl reload
(修改listener.ora
后无需停机即可生效) - 测试连接:使用
tnsping
命令验证服务名是否可达(如tnsping ORCL
)。
7. 可选:创建Systemd服务(便于管理)
若需将监听器作为系统服务管理(开机自启、状态查看),可创建以下服务文件:
sudo vi /etc/systemd/system/oracle-listener.service
添加以下内容:
[Unit]
Description=Oracle Listener Service
After=network.target
[Service]
Type=forking
ExecStart=$ORACLE_HOME/bin/lsnrctl start
ExecStop=$ORACLE_HOME/bin/lsnrctl stop
ExecReload=$ORACLE_HOME/bin/lsnrctl reload
User=oracle
Group=oinstall
Restart=on-failure
[Install]
WantedBy=multi-user.target
执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl start oracle-listener
sudo systemctl enable oracle-listener # 开机自启
sudo systemctl status oracle-listener # 查看状态
注意事项
- 权限问题:确保Oracle用户(如
oracle
)对$ORACLE_HOME/network/admin/
目录及文件有读写权限。 - 防火墙设置:若服务器启用了防火墙,需开放1521端口(Oracle默认监听端口):
sudo ufw allow 1521/tcp
- 生产环境建议:将
HOST
设置为具体IP而非0.0.0.0
,并启用SSL加密(修改PROTOCOL
为TCPS
)以提高安全性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何配置Oracle监听器
本文地址: https://pptw.com/jishu/720546.html