温馨提示×

oracle在centos上的网络配置怎么做

小樊
47
2025-11-01 13:20:38
栏目: 云计算

Oracle在CentOS上的网络配置指南

一、基础网络环境配置

1. 配置网络接口(静态IP/动态IP)

Oracle数据库需要稳定的网络环境,首先需配置CentOS的网络接口。

  • 静态IP配置(推荐生产环境使用):
    编辑网络配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-<网卡名>,如ifcfg-eth0),添加以下内容:

    DEVICE=eth0
    BOOTPROTO=static       # 静态IP
    IPADDR=192.168.1.100   # 数据库服务器IP
    NETMASK=255.255.255.0  # 子网掩码
    GATEWAY=192.168.1.1    # 网关
    DNS1=8.8.8.8           # 首选DNS
    ONBOOT=yes             # 开机自启
    

    保存后重启网络服务:systemctl restart network

  • 动态IP配置(仅测试环境使用):
    BOOTPROTO改为dhcp,删除IPADDRNETMASKGATEWAY等参数,重启网络服务即可。

2. 验证网络连通性

使用ping命令测试网络是否正常:

ping 8.8.8.8          # 测试外网连通性
ping <数据库服务器IP> # 测试本地IP连通性

若无法ping通,需检查网卡驱动、物理连接或防火墙设置。

二、系统环境准备

1. 关闭SELinux

SELinux可能阻止Oracle监听端口,需临时关闭并永久禁用:

# 临时关闭(立即生效)
setenforce 0
# 永久关闭(修改配置文件)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2. 配置内核参数

Oracle对内核参数有特定要求,编辑/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         # 发送缓冲区最大大小

使配置生效:sysctl -p

三、Oracle监听器配置

监听器负责接收客户端的连接请求,需通过netca工具或手动配置listener.ora文件。

1. 使用netca工具配置(图形化)

# 切换至oracle用户
su - oracle
# 启动netca
netca

按照向导选择“监听程序配置”→“添加监听程序”,设置监听名称(默认LISTENER)、协议(TCP)、主机(服务器IP或localhost)、端口(默认1521),完成配置后自动启动监听器。

2. 手动配置listener.ora文件

监听器配置文件路径:$ORACLE_HOME/network/admin/listener.ora(若目录不存在需创建)。
示例内容(静态注册):

LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(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安装目录
      (PROGRAM = extproc)                # 外部过程程序(可选)
    )
  )

保存后重启监听器:

lsnrctl stop    # 停止监听器
lsnrctl start   # 启动监听器
lsnrctl status  # 检查状态(需显示“RUNNING”)

四、本地服务名配置(tnsnames.ora)

tnsnames.ora文件用于客户端连接数据库,路径:$ORACLE_HOME/network/admin/tnsnames.ora
示例内容:

ORCL = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) # 监听地址(需与listener.ora一致)
    (CONNECT_DATA = 
      (SERVER = DEDICATED)               # 连接方式(专用服务器)
      (SERVICE_NAME = orcl)              # 数据库服务名(需与数据库实例一致)
    )
  )

测试连接:

tnsping ORCL  # 测试tns名称解析
sqlplus username/password@ORCL  # 测试数据库连接

五、防火墙配置

需开放Oracle监听端口(默认1521),允许客户端访问:

# 开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
# 重启防火墙
firewall-cmd --reload

若使用iptables,命令如下:

iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
service iptables save

六、常见问题排查

  1. 监听器无法启动:检查listener.ora文件语法(如括号匹配)、端口是否被占用(netstat -tulnp | grep 1521)。
  2. 无法连接数据库:确认tnsnames.ora中的主机名、端口、服务名与listener.ora一致;检查防火墙是否放行端口;使用lsnrctl status查看监听器是否注册了数据库实例。
  3. 主机名解析失败:确保/etc/hosts文件中包含服务器IP与主机名的映射(如192.168.1.100 orcl)。

0