首页主机资讯centos上sqlplus网络配置

centos上sqlplus网络配置

时间2026-01-21 02:04:04发布访客分类主机资讯浏览1217
导读:CentOS 上 SQL*Plus 网络配置全流程 一 安装 Oracle Instant Client 与 sqlplus 确认系统为 x86_64,安装基础依赖(以 CentOS 7 为例): 命令:yum install -y l...

CentOS 上 SQL*Plus 网络配置全流程

一 安装 Oracle Instant Client 与 sqlplus

  • 确认系统为 x86_64,安装基础依赖(以 CentOS 7 为例):
    • 命令:yum install -y libaio libnsl
  • 下载并安装 Instant Clientsqlplus(示例为 21.x,可按需选择 19.x/12.2/11.2):
    • 下载地址(示例):https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient21/x86_64/
    • 安装命令:
      • rpm -ivh oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
      • rpm -ivh oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm
  • 默认安装路径为:/usr/lib/oracle/21/client64(不同版本目录名会随版本变化)。

二 配置环境变量与网络文件

  • 设置环境变量(建议写入 /etc/profile.d/oracle.sh,便于统一维护):
    • 命令:sudo vim /etc/profile.d/oracle.sh
    • 内容示例:
      • export ORACLE_HOME=/usr/lib/oracle/21/client64
      • export PATH=$ORACLE_HOME/bin:$PATH
      • export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
      • export TNS_ADMIN=$ORACLE_HOME/network/admin
      • export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    • 使配置生效:source /etc/profile.d/oracle.sh
  • 创建网络配置目录与 tnsnames.ora
    • 命令:mkdir -p $TNS_ADMIN
    • 编辑:vim $TNS_ADMIN/tnsnames.ora
    • 示例内容(按需替换 HOST/PORT/SERVICE_NAME):
      ORCL =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver.example.com)(PORT = 1521))
          (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = orcl.example.com)
          )
        )
      
  • 可选:配置 sqlnet.ora(如需加密或日志等):
    • 路径:$TNS_ADMIN/sqlnet.ora
    • 示例(开启加密校验):
      SQLNET.ENCRYPTION_SERVER = required
      SQLNET.ENCRYPTION_TYPES_SERVER = (AES256)
      SQLNET.CRYPTO_CHECKSUM_SERVER = required
      
  • 权限建议(提高安全性):
    • chmod 750 $ORACLE_HOME
    • chmod 600 $TNS_ADMIN/*
  • 说明:Instant Client 默认没有 tnsnames.ora/sqlnet.ora,需手动创建;TNS_ADMIN 未显式设置时,客户端会按约定在 $ORACLE_HOME/network/admin 查找。

三 连接测试与常见网络故障排查

  • 直连方式(无需 tnsnames.ora):
    • 命令:sqlplus user/password@//dbserver.example.com:1521/orcl.example.com
  • TNS 别名方式:
    • 命令:sqlplus user/password@ORCL
  • 基础连通性检查:
    • 端口可达:telnet dbserver.example.com 1521nc -vz dbserver.example.com 1521
    • 解析与监听:tnsping ORCL
  • 常见错误与处理要点:
    • ORA-12154:检查 tnsnames.ora 路径(由 TNS_ADMIN 指定)、别名拼写、文件权限。
    • ORA-12541:目标主机 1521 端口未监听或防火墙阻断,确认监听已启动并放通端口。
    • ORA-01017:用户名/密码错误,若含特殊字符,建议用双引号包裹(如 "P@ssw0rd")。
    • 库文件未找到:确认 LD_LIBRARY_PATH 包含 $ORACLE_HOME/lib,必要时执行 ldconfig $ORACLE_HOME/lib
  • 若你是数据库服务器本机排查监听,可用:
    • lsnrctl status(查看监听状态)
    • lsnrctl start(启动监听)
    • 动态注册服务:alter system register; (在 sqlplus / as sysdba 下执行)。

四 字符集与常用优化

  • 字符集设置(避免中文乱码):
    • 建议:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    • 中文环境可选:export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
  • sqlplus 显示优化(在 $ORACLE_HOME/sqlplus/admin/glogin.sql 或用户登录脚本中设置):
    • SET PAGESIZE 10000
    • SET LINESIZE 200
    • SET NUMFORMAT 999999999999.99
  • 客户端侧网络与稳定性(可选):
    • 适当增大 TCP 缓冲区(示例):
      • echo "net.core.rmem_max=4194304" > > /etc/sysctl.conf
      • echo "net.core.wmem_max=4194304" > > /etc/sysctl.conf
      • sysctl -p

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


若转载请注明出处: centos上sqlplus网络配置
本文地址: https://pptw.com/jishu/787954.html
centos上sqlplus存储过程编写 centos环境下sqlplus版本选择

游客 回复需填写必要信息