centos oracle配置中的网络设置指南
CentOS环境下Oracle数据库网络配置指南
1. 基础网络环境配置
1.1 配置网络接口
编辑网络接口配置文件(路径:/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 # 开机自启 - DHCP配置(仅测试环境使用):
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
保存后重启网络服务:
sudo systemctl restart network # CentOS 7及以下
# 或(CentOS 8及以上,若使用NetworkManager)
sudo nmcli connection down <
connection_name>
&
&
sudo nmcli connection up <
connection_name>
1.2 关闭SELinux
SELinux可能阻止Oracle网络服务运行,需禁用:
- 临时关闭(立即生效):
sudo setenforce 0 - 永久关闭(修改配置文件):
sudo sed -i 's/selinux=enforcing/selinux=disabled/g' /etc/selinux/config
重启系统使配置生效。
1.3 配置主机名与hosts文件
- 修改主机名(替换
your_host_name为易识别的名称,如oracle-db):sudo hostnamectl set-hostname your_host_name - 编辑hosts文件(路径:
/etc/hosts),添加IP与主机名映射:192.168.1.100 your_host_name
确保客户端主机的hosts文件也包含此映射(若跨服务器连接)。
1.4 验证网络连通性
- 测试IP连通性:
ping 192.168.1.100 # 替换为数据库服务器IP - 测试DNS解析:
nslookup your_host_name
确保无丢包、解析正确。
2. Oracle监听器配置
监听器负责接收客户端连接请求,需通过netca工具或手动编辑listener.ora文件配置。
2.1 使用netca图形化工具配置
以Oracle用户身份运行:
sudo -u oracle netca
按向导操作:
- 选择“监听程序配置”→“本地监听程序”;
- 添加监听程序名称(默认
LISTENER); - 配置监听地址(协议:TCP;主机:
your_host_name或IP;端口:1521,默认); - 完成配置并启动监听器。
2.2 手动编辑listener.ora文件
文件路径:$ORACLE_HOME/network/admin/listener.ora(若目录不存在,需创建)。
示例配置(静态IP):
LISTENER = (
DESCRIPTION_LIST = (
DESCRIPTION = (
ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521)
)
)
)
SID_LIST_LISTENER = (
SID_LIST = (
SID_DESC = (
SID_NAME = orcl # 数据库SID(需与创建的数据库实例一致)
ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1 # Oracle安装目录
)
)
)
保存后,通过以下命令管理监听器:
- 启动监听器:
$ORACLE_HOME/bin/lsnrctl start - 查看状态:
$ORACLE_HOME/bin/lsnrctl status # 确认监听器运行正常,且包含目标SID - 重新加载配置(修改文件后无需重启):
$ORACLE_HOME/bin/lsnrctl reload - 停止监听器:
$ORACLE_HOME/bin/lsnrctl stop
3. TNS配置(客户端与服务端均需配置)
tnsnames.ora文件用于定义数据库连接的便捷名称(别名),路径:$ORACLE_HOME/network/admin/tnsnames.ora。
3.1 编辑tnsnames.ora文件
添加数据库连接配置(替换ORCL为自定义别名,your_host_name为服务器IP/主机名,your_service_name为数据库服务名):
ORCL = (
DESCRIPTION = (
ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521)
)
CONNECT_DATA = (
SERVER = DEDICATED # 连接类型(专用服务器,适用于大多数场景)
SERVICE_NAME = your_service_name # 数据库服务名(可通过监听器状态查看)
)
)
示例(连接本地数据库orcl):
ORCL_LOCAL = (
DESCRIPTION = (
ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)
)
CONNECT_DATA = (
SERVER = DEDICATED
SERVICE_NAME = orcl
)
)
3.2 测试TNS连接
使用sqlplus命令测试(替换username、password为数据库账号信息):
sqlplus username/password@ORCL
若提示“Connected to Oracle Database”,则配置成功。
4. 内核参数优化
Oracle对系统内核参数有特定要求,需修改/etc/sysctl.conf文件:
sudo vi /etc/sysctl.conf
添加或修改以下参数(根据服务器内存调整):
kernel.shmmax = 2147483648 # 共享内存最大值(建议为物理内存的一半,单位字节)
kernel.shmmni = 4096 # 共享内存段最大数量
kernel.shmall = 2097152 # 共享内存总页数
kernel.sem = 250 32000 100 128 # 信号量参数
fs.file-max = 65536 # 最大文件句柄数
net.ipv4.ip_local_port_range = 1024 65000 # 本地端口范围
net.core.rmem_default = 262144 # 接收缓冲区默认大小
net.core.rmem_max = 262144 # 接收缓冲区最大值
net.core.wmem_default = 262144 # 发送缓冲区默认大小
net.core.wmem_max = 262144 # 发送缓冲区最大值
保存后使配置生效:
sudo sysctl -p
5. 环境变量配置
编辑Oracle用户的~/.bash_profile文件(或/etc/profile全局配置),添加Oracle环境变量:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 # Oracle安装目录
export ORACLE_SID=orcl # 数据库SID(需与监听器配置一致)
export PATH=$ORACLE_HOME/bin:$PATH # 将Oracle命令加入PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH # 库文件路径
保存后使配置生效:
source ~/.bash_profile
注意事项
- 生产环境中,建议开启防火墙并放行Oracle端口(默认1521):
sudo firewall-cmd --permanent --add-port=1521/tcp sudo firewall-cmd --reload - 若跨服务器连接,需确保客户端主机的
/etc/hosts文件包含数据库服务器的IP与主机名映射,且防火墙允许访问1521端口。 - 定期备份
listener.ora和tnsnames.ora文件,避免配置丢失。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos oracle配置中的网络设置指南
本文地址: https://pptw.com/jishu/734570.html
