centos

centos sqlplus网络配置

小樊
43
2025-10-07 00:43:34
栏目: 云计算

CentOS环境下SQL*Plus网络配置指南

一、基础环境准备

  1. 安装Oracle Instant Client
    SQLPlus需依赖Oracle Instant Client才能运行。从Oracle官网下载对应CentOS版本的Instant Client Basic包及SQLPlus包(如oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpmoracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm),通过rpm -ivh命令安装。安装路径通常为/opt/oracle/instantclient_19_8(版本号可能不同)。
  2. 配置环境变量
    编辑用户家目录下的.bashrc文件,添加以下关键变量(根据实际安装路径调整):
    export ORACLE_HOME=/opt/oracle/instantclient_19_8
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
    export TNS_ADMIN=$ORACLE_HOME/network/admin  # 指向tnsnames.ora所在目录
    
    执行source ~/.bashrc使变量生效。

二、网络连通性验证

  1. 基础网络测试
    在CentOS终端执行ping <数据库服务器IP>,确认能正常收到回复(如64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.123 ms),确保两台机器网络可达。
  2. 端口可达性测试
    使用telnet <数据库服务器IP> 1521nc -zv <数据库服务器IP> 1521(若未安装telnet/nc,可通过yum install telnet nc安装),若显示“Connected”或“succeeded”,说明1521端口(Oracle默认端口)开放;若失败,需检查防火墙或SELinux设置。

三、Oracle监听器与服务配置

  1. 配置监听器(Listener)
    登录数据库服务器,编辑$ORACLE_HOME/network/admin/listener.ora文件(若不存在则新建),确保HOST参数设置为服务器实际IP或0.0.0.0(允许所有IP连接),示例如下:
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))  # 替换为实际IP
        )
      )
    
    重启监听器使配置生效:lsnrctl stop && lsnrctl start
  2. 配置TNS服务名(可选)
    在客户端或服务器的$TNS_ADMIN目录下创建/编辑tnsnames.ora文件,定义服务名映射(便于使用别名连接),示例如下:
    ORCL_ALIAS =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))  # 替换为实际IP
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)  # 替换为实际服务名(可通过数据库的`lsnrctl status`查看)
        )
      }
    
    测试服务名解析:tnsping ORCL_ALIAS,若显示“OK”则表示配置正确。

四、防火墙与SELinux设置

  1. 开放防火墙端口
    若CentOS启用了firewalld,执行以下命令开放1521端口:
    firewall-cmd --zone=public --add-port=1521/tcp --permanent  # 永久开放
    firewall-cmd --reload  # 重新加载配置
    
    若使用iptables,执行iptables -A INPUT -p tcp --dport 1521 -j ACCEPT并保存规则。
  2. 调整SELinux策略
    若SELinux处于Enforcing模式(getenforce返回Enforcing),可临时禁用(setenforce 0)或添加允许规则:
    setsebool -P oracle_db_port_t 1  # 允许Oracle数据库端口通信
    

五、连接测试

在CentOS终端使用SQL*Plus连接远程数据库,有两种方式:

  1. 使用Easy Connect语法(无需配置tnsnames.ora):
    sqlplus username/password@192.168.1.100:1521/service_name
    
    替换usernamepassword192.168.1.100(服务器IP)、service_name(数据库服务名)。
  2. 使用TNS别名(需配置tnsnames.ora):
    sqlplus username/password@ORCL_ALIAS
    
    替换ORCL_ALIAStnsnames.ora中定义的服务名。

0
看了该问题的人还看了