一、配置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
,且文件權限允許當前用戶讀取。