一、基礎網絡環境配置
配置網絡接口
編輯網絡接口配置文件(路徑:/etc/sysconfig/network-scripts/ifcfg-<interface_name>
,如ifcfg-eth0
),設置靜態IP或DHCP。靜態IP示例如下:
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100 # 數據庫服務器IP
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes # 開機自啟
NM_CONTROLLED=yes
保存后重啟網絡服務:
sudo systemctl restart network # 或使用nmcli(NetworkManager系統)
關閉SELinux
SELinux可能阻止Oracle網絡服務,需禁用:
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久禁用
sudo setenforce 0 # 臨時禁用(立即生效)
配置主機名與hosts文件
your_host_name
為易識別的名稱,如oracle-db
):sudo hostnamectl set-hostname your_host_name
/etc/hosts
,添加IP與主機名映射(確??蛻舳四芙馕龇掌髦鳈C名):192.168.1.100 your_host_name
驗證網絡連通性
使用ping
測試網絡是否通暢(如ping 8.8.8.8
、ping your_host_name
),確保服務器能訪問外網及自身主機名。
二、Oracle監聽器配置
使用netca工具配置
切換至Oracle用戶,運行圖形化工具生成listener.ora
:
sudo -u oracle netca
按向導選擇“監聽程序配置”→“添加監聽程序”,設置監聽名稱(默認LISTENER
)、協議(TCP)、主機(服務器IP或主機名)、端口(默認1521),完成配置。
手動編輯listener.ora
文件路徑:$ORACLE_HOME/network/admin/listener.ora
,添加以下內容(替換your_host_name
和your_sid
):
LISTENER = (
DESCRIPTION_LIST = (
DESCRIPTION = (
ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521)
)
)
)
SID_LIST_LISTENER = (
SID_LIST = (
SID_DESC = (
SID_NAME = your_sid # 數據庫實例SID(如orcl)
ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1 # Oracle安裝路徑
)
)
)
啟動與驗證監聽器
$ORACLE_HOME/bin/lsnrctl start # 啟動監聽器
$ORACLE_HOME/bin/lsnrctl status # 檢查狀態(需顯示“running”)
三、tnsnames.ora配置(客戶端連接必備)
文件路徑:$ORACLE_HOME/network/admin/tnsnames.ora
,添加數據庫連接別名(替換your_host_name
、your_service_name
):
ORCL = (
DESCRIPTION = (
ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521)
)
CONNECT_DATA = (
SERVER = DEDICATED
SERVICE_NAME = your_service_name # 數據庫服務名(與監聽器中配置的全局數據庫名一致)
)
)
四、環境變量配置
編輯Oracle用戶的環境變量文件(如~/.bash_profile
),添加以下內容(替換為實際路徑):
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 # Oracle安裝目錄
export PATH=$ORACLE_HOME/bin:$PATH # 添加Oracle命令到PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH # 添加Oracle庫路徑
使配置生效:
source ~/.bash_profile
五、防火墻配置 允許Oracle監聽端口(默認1521)通過防火墻:
sudo firewall-cmd --permanent --add-port=1521/tcp # 永久開放端口
sudo firewall-cmd --reload # 重新加載防火墻規則
六、測試連接
使用sqlplus
測試客戶端到服務器的連接(替換username
、password
、ORCL
為實際值):
sqlplus username/password@ORCL
若提示“Connected to Oracle Database”,則配置成功。