一、配置Ubuntu网络接口(确保系统网络连通性)
ip addr show命令确认网络接口(如eth0、ens33等),避免后续配置错误。Netplan,编辑/etc/netplan/目录下的YAML文件(如01-netcfg.yaml);network:
version: 2
renderer: networkd
ethernets:
ens33: # 替换为你的接口名称
dhcp4: no
addresses: [192.168.1.100/24] # 静态IP地址及子网掩码
gateway4: 192.168.1.1 # 网关地址
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNS服务器
/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 netplan apply;sudo systemctl restart networking。ping www.baidu.com或ping 数据库服务器IP,确保网络畅通。二、安装Oracle Instant Client(客户端工具)
Instant Client Basic、Instant Client SQL*Plus(及可选的Instant Client SDK)包。tar -xzvf oracle-instantclient-basic-*.tar.gz
sudo mv instantclient_* /opt/oracle/instantclient_XX_X # XX_X为版本号(如19_20)
~/.bashrc(用户级)或/etc/environment(系统级),添加以下内容:export ORACLE_HOME=/opt/oracle/instantclient_XX_X
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin # TNS配置文件目录
执行source ~/.bashrc(或source /etc/environment)使变量生效。三、配置Oracle网络核心文件(TNSNAMES.ORA与LISTENER.ORA)
$TNS_ADMIN目录(如/opt/oracle/instantclient_XX_X/network/admin)下创建tnsnames.ora,定义数据库连接别名:ORCL_ALIAS = # 自定义别名(如ORCL)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库服务器IP或主机名)(PORT = 1521)) # 数据库监听端口
(CONNECT_DATA =
(SERVER = DEDICATED) # 连接模式(DEDICATED为专用服务器)
(SERVICE_NAME = 数据库服务名) # 如orcl、xe(需与数据库实际服务名一致)
)
)
$ORACLE_HOME/network/admin/listener.ora,定义监听端口与服务:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) # 监听本地1521端口
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = 数据库SID) # 如orcl(需与数据库SID一致)
(ORACLE_HOME = /opt/oracle/product/19.0.0/dbhome_1) # 数据库安装目录
)
)
注:若仅需客户端连接远程数据库,可跳过此步。
四、测试Oracle网络连接
tnsping命令测试TNS别名是否解析正确:tnsping ORCL_ALIAS
若返回OK,说明TNS配置正确。sqlplus命令连接数据库:sqlplus 用户名/密码@ORCL_ALIAS
若成功进入SQL提示符,说明网络连接配置成功。五、常见问题排查
sudo ufw allow 1521/tcp # Ubuntu 22.04及以上使用ufw
sudo systemctl restart ufw
~/.bashrc或/etc/environment修改后已执行source命令,可通过echo $ORACLE_HOME验证变量值。TNS_ADMIN指向的目录包含tnsnames.ora,且文件权限允许当前用户读取。