首页主机资讯centos oracle配置中的网络设置

centos oracle配置中的网络设置

时间2025-10-30 09:45:03发布访客分类主机资讯浏览1340
导读:CentOS环境下Oracle数据库网络配置指南 在CentOS系统上配置Oracle数据库网络需完成基础网络设置、Oracle监听器配置、本地服务名配置(tnsnames.ora)及安全访问控制四大核心步骤,确保数据库能被本地或远程客户端...

CentOS环境下Oracle数据库网络配置指南

在CentOS系统上配置Oracle数据库网络需完成基础网络设置Oracle监听器配置本地服务名配置(tnsnames.ora)安全访问控制四大核心步骤,确保数据库能被本地或远程客户端正常访问。

一、基础网络设置(CentOS层面)

基础网络配置是Oracle网络通信的前提,需确保CentOS系统具备稳定的IP地址、主机名解析及网络连通性。

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

  • 静态IP配置(推荐生产环境使用)
    编辑网络接口配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-< 网卡名> ,如ifcfg-eth0),设置静态IP、子网掩码、网关及DNS:

    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
    DNS2=8.8.4.4           # 备用DNS
    ONBOOT=yes             # 开机自启
    

    保存后重启网络服务:

    sudo systemctl restart network
    
  • 动态IP配置(DHCP,适用于测试环境)
    BOOTPROTO改为dhcp,删除IPADDR、NETMASK、GATEWAY等静态参数:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    

2. 验证网络连通性

  • 使用ip addr showifconfig命令确认IP地址已生效;
  • 使用ping 8.8.8.8测试网络连通性;
  • 使用nslookup your_hostname验证DNS解析是否正常。

二、Oracle监听器配置(listener.ora)

监听器负责接收客户端的连接请求并转发至数据库实例,其配置文件位于$ORACLE_HOME/network/admin/listener.ora(需替换为实际Oracle安装路径)。

1. 基础配置示例

LISTENER = (
  DESCRIPTION_LIST = (
    DESCRIPTION = (
      ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521)  # 替换为实际主机名或IP
    )
  )
)

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安装路径
    )
  )
)

2. 关键参数说明

  • HOST:监听的IP地址或主机名(建议使用IP,避免主机名解析问题);
  • PORT:监听端口(默认1521,可根据需求修改);
  • SID_NAME:数据库实例的SID(通过lsnrctl status查看现有实例的SID)。

3. 操作监听器

  • 重启监听器使配置生效:
    $ORACLE_HOME/bin/lsnrctl stop
    $ORACLE_HOME/bin/lsnrctl start
    
  • 查看监听器状态(确认配置是否正确):
    $ORACLE_HOME/bin/lsnrctl status
    
    状态输出中应包含配置的HOSTPORT及注册的数据库服务(如Service "orcl")。

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

tnsnames.ora文件用于定义数据库连接的“别名”(net service name),方便客户端通过别名连接数据库,文件路径为$ORACLE_HOME/network/admin/tnsnames.ora

1. 基础配置示例

ORCL = (  # 别名(可自定义,如ORCL、MYDB)
  DESCRIPTION = (
    ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521)  # 监听器地址
  )
  CONNECT_DATA = (
    SERVER = DEDICATED                  # 连接模式(DEDICATED为专用服务器)
    SERVICE_NAME = your_service_name    # 替换为数据库服务名(通过`lsnrctl status`查看)
  )
)

2. 关键参数说明

  • SERVICE_NAME:数据库服务名(Oracle 12c及以上版本常用,替代传统的SID);
  • HOST:监听器所在主机的IP或主机名(需与listener.ora中的HOST一致);
  • PORT:监听器端口(需与listener.ora中的PORT一致)。

3. 测试连接

使用sqlplus命令测试本地连接(无需远程访问权限):

sqlplus username/password@ORCL  # 替换为实际用户名、密码及别名

若连接成功,说明tnsnames.ora配置正确。

四、安全与连通性优化

1. 配置防火墙

CentOS默认启用firewalld,需开放Oracle监听端口(默认1521):

sudo firewall-cmd --permanent --zone=public --add-port=1521/tcp  # 永久开放端口
sudo firewall-cmd --reload                                       # 重新加载防火墙规则

2. 关闭SELinux(可选)

SELinux可能阻止Oracle监听器或数据库进程的网络访问,建议临时关闭(测试环境)或永久禁用:

sudo setenforce 0                 # 临时关闭(立即生效)
sudo sed -i 's/selinux=enforcing/selinux=disabled/g' /etc/selinux/config  # 永久禁用

3. 验证内核参数

Oracle对内核参数有一定要求,需调整/etc/sysctl.conf文件(常见参数):

kernel.shmmax = 2147483648       # 共享内存最大值(建议设置为物理内存的一半,单位字节)
kernel.shmmni = 4096             # 共享内存段最大数量
net.ipv4.ip_local_port_range = 1024 65000  # 本地端口范围(扩大范围以满足并发连接)
net.core.rmem_default = 262144   # 接收缓冲区默认大小
net.core.wmem_default = 262144   # 发送缓冲区默认大小

修改后使配置生效:

sudo sysctl -p

4. 配置Oracle环境变量

确保Oracle用户的环境变量正确设置(编辑~/.bash_profile/etc/profile):

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1  # 替换为实际Oracle安装路径
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

使配置生效:

source ~/.bash_profile

通过以上步骤,可完成CentOS环境下Oracle数据库的网络配置,确保数据库能被本地或远程客户端正常访问。配置过程中需注意主机名/IP的一致性服务名的正确性防火墙/SELinux的安全设置,避免因配置错误导致连接失败。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos oracle配置中的网络设置
本文地址: https://pptw.com/jishu/738595.html
怎样监控centos上的oracle配置状态 怎样提升centos oracle配置效率

游客 回复需填写必要信息