Debian上Oracle网络设置指南
导读:Debian 上 Oracle 网络设置指南 一 环境准备与网络基础 确认主机名解析正确:将实际主机名解析为服务器可达的 IP 地址(优先使用静态 IP,或确保 DHCP 分配稳定)。 配置网络接口(示例为 /etc/network/in...
Debian 上 Oracle 网络设置指南
一 环境准备与网络基础
- 确认主机名解析正确:将实际主机名解析为服务器可达的 IP 地址(优先使用静态 IP,或确保 DHCP 分配稳定)。
- 配置网络接口(示例为 /etc/network/interfaces 的静态地址):
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
应用:sudo systemctl restart networking;如使用 NetworkManager,可用 nmcli/nm-connection-editor 配置。 - 配置 DNS:编辑 /etc/resolv.conf,添加 nameserver 8.8.8.8 等。
- 防火墙放行:开放数据库监听端口 1521/TCP(UFW:sudo ufw allow 1521/tcp;firewalld:sudo firewall-cmd --add-port=1521/tcp --permanent & & sudo firewall-cmd --reload)。
二 数据库服务器监听配置
- 切换到 oracle 用户并设置环境变量(示例):
export ORACLE_HOME=/u01/app/oracle/product/23.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH - 编辑监听配置文件 $ORACLE_HOME/network/admin/listener.ora:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/23.0.0/dbhome_1)
)
) - 启动与验证:
lsnrctl start
lsnrctl status(应看到监听在 1521 且注册了 orcl 服务/实例)
tail -f $ORACLE_HOME/network/log/listener.log(排错首选)。
三 客户端与 TNS 配置
- 使用 TNS 别名连接时,在客户端编辑 $ORACLE_HOME/network/admin/tnsnames.ora:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db_host)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
) - 测试连接:
tnsping ORCL
sqlplus username/password@ORCL - 仅安装 Instant Client 的场景:设置环境变量(示例)
export ORACLE_HOME=/usr/lib/oracle/19.8.0.0/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
之后同样使用 tnsping/sqlplus 测试连通性。
四 开机自启动与常用维护
- 使用 systemd 管理监听器(推荐):创建 /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
User=oracle
Group=oinstall
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用:sudo systemctl daemon-reload & & sudo systemctl enable --now oracle-listener - 常用命令:
lsnrctl start|stop|status|reload
lsnrctl services(查看监听到的服务/实例)
日志:tail -f $ORACLE_HOME/network/log/listener.log。
五 故障排查要点
- 无法解析主机名:检查 /etc/hosts 与 DNS,确保 hostname -f 与客户端使用的主机名一致。
- 端口未监听或被占用:ss -lntp | grep 1521;如冲突,修改 listener.ora 的 PORT 并重启监听。
- 防火墙/云安全组:确认 1521/TCP 已放行。
- 客户端连不通:先用 tnsping 验证别名解析与连通,再 sqlplus 测试;检查 tnsnames.ora 的 HOST/PORT/SERVICE_NAME 与服务器一致。
- 监听未注册服务:确认数据库已启动且 LOCAL_LISTENER 参数正确,必要时 alter system register; 再查看 listener.log。
- 环境变量错误:确认 ORACLE_HOME、PATH、LD_LIBRARY_PATH、TNS_ADMIN 设置无误并已生效(oracle 用户下执行 env | grep ORA)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上Oracle网络设置指南
本文地址: https://pptw.com/jishu/756072.html
