一、基础网络环境配置
配置网络接口
编辑网络接口配置文件(路径:/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与主机名映射(确保客户端能解析服务器主机名):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”,则配置成功。