温馨提示×

Oracle数据库Linux版如何配置网络

小樊
48
2025-10-24 23:55:26
栏目: 云计算

Oracle Database Linux版网络配置指南

1. 配置网络接口(基础网络设置)

网络接口配置是Oracle网络通信的前提,需根据Linux发行版调整配置文件:

  • 查看网络接口:使用ip addrifconfig -a命令确认可用接口(如eth0ens33)。
  • 编辑配置文件
    • CentOS/RHEL:修改/etc/sysconfig/network-scripts/ifcfg-eth0(接口名以实际为准),添加以下内容:
      DEVICE=eth0
      TYPE=Ethernet
      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  # 开机自启
      
    • Debian/Ubuntu:修改/etc/network/interfaces,添加:
      auto eth0
      iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4
      
  • 重启网络服务
    • CentOS/RHEL:sudo systemctl restart network
    • Debian/Ubuntu:sudo systemctl restart networking
  • 验证配置:使用ip addr show eth0确认IP已生效。

2. 配置监听器(Listener)

监听器负责接收客户端连接请求,配置文件位于$ORACLE_HOME/network/admin/listener.ora

  • 编辑配置文件:添加以下内容(替换your_host_name为实际主机名或IP):
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))  # 默认端口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 stop
    $ORACLE_HOME/bin/lsnrctl start
    
  • 验证状态:使用lsnrctl status查看监听器是否运行(需显示“RUNNING”状态)。

3. 配置数据库服务(TNSNames)

tnsnames.ora文件用于客户端解析数据库服务名,路径为$ORACLE_HOME/network/admin/tnsnames.ora

  • 编辑配置文件:添加以下内容(替换your_host_nameyour_service_name为实际值):
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)  # 连接模式(专用服务器)
          (SERVICE_NAME = orcl)  # 数据库服务名(需与实际一致)
        )
      )
    
  • 测试连接:使用sqlplus工具测试:
    sqlplus /@ORCL  # 使用操作系统认证
    或
    sqlplus username/password@ORCL  # 使用用户名密码认证
    

4. 配置主机名与hosts文件

确保主机名与IP映射正确,避免连接错误:

  • 修改主机名(可选):
    sudo hostnamectl set-hostname your_host_name  # 设置永久主机名
    
  • 编辑hosts文件:修改/etc/hosts,添加以下内容:
    192.168.1.100 your_host_name
    

5. 防火墙与SELinux设置

允许Oracle网络流量通过,避免连接被阻断:

  • 关闭防火墙(测试环境推荐)
    • CentOS/RHEL(firewalld):
      sudo systemctl stop firewalld
      sudo systemctl disable firewalld
      
    • CentOS/RHEL(iptables):
      sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
      sudo service iptables save
      sudo service iptables restart
      
  • 关闭SELinux(测试环境推荐)
    • 临时关闭:setenforce 0
    • 永久关闭:修改/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,重启系统生效。

6. 配置内核参数(可选,优化性能)

调整内核参数以提升Oracle网络性能,编辑/etc/sysctl.conf

kernel.shmmax = 2147483648  # 共享内存最大值(单位:字节)
kernel.shmmni = 4096  # 共享内存段最大数量
kernel.shmall = 2097152  # 共享内存总页数
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

注意事项

  • 确保所有配置文件中的主机名、IP地址、端口、SID等信息与实际环境一致。
  • 生产环境中建议开启防火墙,仅开放必要的端口(如1521)。
  • 若使用Easy Connect命名法(如//host:port/service_name),可省略tnsnames.ora配置,但显式配置更可靠。

0