Ubuntu配置Oracle數據庫網絡步驟
確保Ubuntu系統具備穩定的網絡連接,是Oracle數據庫網絡通信的基礎。
ip addr show
命令確認網絡接口名稱(如ens33
、eth0
,通常為ens
開頭)。/etc/netplan/50-cloud-init.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服務器
保存后應用配置:sudo netplan apply
。ping www.baidu.com
驗證網絡是否正常。Oracle Instant Client是客戶端連接數據庫的核心組件,需先下載并配置。
instantclient-basic-linux.x64-21.1.0.0.0.zip
、instantclient-sqlplus-linux.x64-21.1.0.0.0.zip
)。/opt/oracle
目錄(需管理員權限):sudo unzip instantclient-basic-linux.x64-21.1.0.0.0.zip -d /opt/oracle/
sudo mv /opt/oracle/instantclient_21_1 /opt/oracle/instantclient
~/.bashrc
文件,添加以下內容(替換路徑為實際路徑):export ORACLE_HOME=/opt/oracle/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin # TNSNAMES.ORA文件路徑
使配置生效:source ~/.bashrc
。Oracle網絡通信依賴三個關鍵文件(均位于$TNS_ADMIN
目錄,即/opt/oracle/instantclient/network/admin
),需逐一配置:
監聽器負責接收客戶端連接請求,若需允許遠程連接,需配置此文件。
sudo nano /opt/oracle/instantclient/network/admin/listener.ora
,添加以下內容(替換HOST
為服務器IP或域名):LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) # 監聽端口默認1521
)
)
若Oracle Database服務已啟動,監聽器會自動注冊實例信息(動態注冊);若未啟動,需手動啟動監聽器:lsnrctl start
。用于定義數據庫連接的簡化別名,客戶端通過別名即可連接數據庫。
sudo nano /opt/oracle/instantclient/network/admin/tnsnames.ora
,添加以下內容(替換HOST
、PORT
、SERVICE_NAME
為實際值):ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) # 數據庫服務器地址
(CONNECT_DATA =
(SERVER = DEDICATED) # 連接模式(專用服務器,默認)
(SERVICE_NAME = orcl) # 數據庫服務名(需與數據庫配置一致)
)
}
保存后,可通過tnsping ORCL
命令測試配置是否正確(顯示“OK”則表示成功)。用于配置連接的安全策略和名稱解析方式。
sudo nano /opt/oracle/instantclient/network/admin/sqlnet.ora
,添加以下內容(可根據需求調整):SQLNET.AUTHENTICATION_SERVICES = (NONE) # 禁用操作系統認證(增強安全性)
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT) # 解析順序:先查tnsnames.ora,再試Easy Connect
# 若需限制訪問IP,取消以下注釋并修改(允許192.168.1.0/24網段訪問)
# TCP.INVITED_NODES = (192.168.1.0/24)
# TCP.VALIDNODE_CHECKING = YES
此配置確??蛻舳酥荒芡ㄟ^tnsnames.ora
或EZCONNECT
(如username/password@host:port/service_name
)方式連接。完成上述配置后,使用sqlplus
命令測試連接:
sqlplus username/password@ORCL
sudo ufw allow 1521
)或網絡連通性。chmod -R 755 /opt/oracle/instantclient
)。ORACLE_HOME
、TNS_ADMIN
等環境變量需與實際路徑一致,避免連接失敗。local_listener
參數設置為監聽器地址(如ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))';
)。