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

centos oracle配置中的网络设置指南

时间2025-10-24 14:35:04发布访客分类主机资讯浏览1373
导读:CentOS环境下Oracle数据库网络配置指南 1. 基础网络环境配置 1.1 配置网络接口 编辑网络接口配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-<interface_name>...

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

按向导操作:

  1. 选择“监听程序配置”→“本地监听程序”;
  2. 添加监听程序名称(默认LISTENER);
  3. 配置监听地址(协议:TCP;主机:your_host_name或IP;端口:1521,默认);
  4. 完成配置并启动监听器。

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命令测试(替换usernamepassword为数据库账号信息):

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.oratnsnames.ora文件,避免配置丢失。

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


若转载请注明出处: centos oracle配置中的网络设置指南
本文地址: https://pptw.com/jishu/734570.html
centos oracle数据库如何恢复数据 centos oracle配置中常见问题有哪些

游客 回复需填写必要信息