- 首页 >
- 问答 >
-
云计算 >
- 怎样配置Ubuntu Oracle网络参数
怎样配置Ubuntu Oracle网络参数
小樊
41
2025-12-28 12:26:04
Ubuntu Oracle网络参数配置步骤
一 系统网络与防火墙
- 确认网卡名称:执行 ip addr show,常见为 ens33/ens18/eth0。
- 配置静态IP(Ubuntu 18.04+ 使用 Netplan):编辑 /etc/netplan/*.yaml,示例:
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers: { addresses: [8.8.8.8, 8.8.4.4] }
应用:sudo netplan apply。
- 旧版 ifupdown:编辑 /etc/network/interfaces,设置 address、netmask、gateway、dns-nameservers,然后 sudo systemctl restart networking。
- 防火墙放行监听端口:sudo ufw allow 1521/tcp;如使用云主机,还需在安全组放行 TCP 1521。
二 Oracle客户端与环境变量
- 安装 Oracle Instant Client(Basic 与 SQL*Plus),解压至 /opt/oracle/instantclient_XX_X。
- 配置环境变量(~/.bashrc 或 /etc/profile.d/oracle.sh):
export ORACLE_HOME=/opt/oracle/instantclient_XX_X
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
使生效:source ~/.bashrc。
- 权限与目录:确保 $ORACLE_HOME/network/admin 存在且可读,权限建议 755。
三 Oracle网络核心配置文件
- 配置文件路径:均位于 $TNS_ADMIN(即 $ORACLE_HOME/network/admin)。listener.ora 位置在 UNIX/Linux 为 $ORACLE_HOME/network/admin/listener.ora。
- listener.ora(监听器):
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
)
启动/查看:lsnrctl start / lsnrctl status。
- tnsnames.ora(客户端别名):
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
测试:tnsping ORCL;连接:sqlplus username/password@ORCL。
- sqlnet.ora(解析与安全):
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
可选:仅允许指定网段
TCP.VALIDNODE_CHECKING = YES
TCP.INVITED_NODES = (192.168.1.0/24)
- 动态注册:数据库实例未自动注册时,设置 local_listener(示例):
ALTER SYSTEM SET local_listener=‘(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))’ SCOPE=BOTH;
四 验证与常见故障排查
- 基本连通:ping 数据库主机;nc/telnet 测试 1521 端口连通性。
- 监听状态:lsnrctl status 应看到监听地址 0.0.0.0:1521 或指定 IP,服务/实例已注册。
- 客户端解析:tnsping ORCL 返回 OK;sqlplus 连接测试。
- 常见错误与处理:
- ORA-12170 TNS Connect timeout:检查防火墙/安全组是否放行 1521,以及 HOST 是否可达。
- ORA-12541 TNS:no listener:lsnrctl start,确认监听在 1521 端口运行。
- 动态注册失败:核对 local_listener 参数与监听端口一致。
五 性能与安全优化(可选)
- 传输优化:在私网环境可启用 Jumbo Frames(MTU=9000),并确保交换机与两端网卡一致;测试无误后再持久化。
- TCP/IP 内核参数(/etc/sysctl.conf):
net.core.somaxconn = 65536
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_window_scaling = 1
应用:sudo sysctl -p。
- 网卡速率/双工:ethtool -s eth0 speed 1000 duplex full。
- 访问控制:优先使用 ufw 或云安全组限制来源网段访问 1521;sqlnet.ora 中可用 TCP.INVITED_NODES 做二层白名单(注意其对 SCAN/负载均衡的影响)。