首页主机资讯centos上sqlplus环境配置

centos上sqlplus环境配置

时间2025-11-24 17:30:03发布访客分类主机资讯浏览561
导读:在 CentOS 上配置 SQL*Plus 的两种常用方式 使用 Oracle Instant Client RPM 包(推荐,便于系统级管理与更新) 使用 Instant Client ZIP 包(便携,解压即用,便于多版本并存)...

在 CentOS 上配置 SQL*Plus 的两种常用方式

  • 使用 Oracle Instant Client RPM 包(推荐,便于系统级管理与更新)
  • 使用 Instant Client ZIP 包(便携,解压即用,便于多版本并存)

一 准备与依赖

  • 确认系统为 x86_64,准备与数据库版本匹配的 64 位客户端(如 19c/21c)。
  • 安装基础依赖(Instant Client 需要异步 I/O 库):
    • sudo yum install -y libaio libaio-devel
  • 如使用较老系统或遇到库缺失,按需补充(如 glibczlib 等)。

二 方式一 RPM 安装与配置(推荐)

  1. 下载并安装 RPM 包
  • 从 Oracle 官方下载与系统匹配的包(示例为 21.6):
    • oracle-instantclient-basic-21.6.0.0.0-1.x86_64.rpm
    • oracle-instantclient-sqlplus-21.6.0.0.0-1.x86_64.rpm
  • 本地安装:
    • sudo yum localinstall oracle-instantclient-basic-21.6.0.0.0-1.x86_64.rpm
      oracle-instantclient-sqlplus-21.6.0.0.0-1.x86_64.rpm
  • 安装完成后,Instant Client 通常位于:/usr/lib/oracle/21/client64(目录名中的 21 会随版本变化)。
  1. 配置环境变量
  • 建议写入系统级脚本,便于所有用户生效:
    • sudo tee /etc/profile.d/oracle.sh < < ‘EOF’ export ORACLE_HOME=/usr/lib/oracle/21/client64 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME/bin:$PATH EOF
    • source /etc/profile.d/oracle.sh
  • 如需自定义安装路径(ZIP 方式或非默认路径),将 ORACLE_HOME 指向你的实际目录即可。
  1. 验证安装
  • 查看版本:sqlplus -v
  • 无登录连接测试:sqlplus /nolog。

三 方式二 ZIP 安装与配置(便携多版本)

  1. 下载并解压
  • 从 Oracle 官方下载 BasicSQL*Plus 的 ZIP 包(版本号保持一致),解压到统一目录,例如:
    • sudo mkdir -p /opt/oracle
    • unzip instantclient-basic-linux.x64-XX.X.zip -d /opt/oracle
    • unzip instantclient-sqlplus-linux.x64-XX.X.zip -d /opt/oracle
  • 解压后形成目录:/opt/oracle/instantclient_XX_X
  1. 配置环境变量
  • 写入用户或系统配置:
    • echo ‘export ORACLE_HOME=/opt/oracle/instantclient_XX_X’ > > ~/.bashrc
    • echo ‘export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH’ > > ~/.bashrc
    • echo ‘export PATH=$ORACLE_HOME:$PATH’ > > ~/.bashrc
    • source ~/.bashrc
  • 说明:ZIP 包通常将可执行文件与库文件置于同一根目录,ORACLE_HOME 直接指向该目录即可。
  1. 验证安装
  • sqlplus -v 应返回已安装版本号。

四 连接测试与 TNS 配置(可选)

  • 直连方式(EZConnect):
    • sqlplus username/password@hostname:1521/service_name
    • 示例:sqlplus scott/tiger@db.example.com:1521/orcl
  • 使用 TNS 别名:
    • 创建目录:$ sudo mkdir -p $ORACLE_HOME/network/admin
    • 编辑文件:$ sudo nano $ORACLE_HOME/network/admin/tnsnames.ora
    • 示例内容:
      • MYDB =
        • (DESCRIPTION =
          • (ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521))
          • (CONNECT_DATA =
            • (SERVER = DEDICATED)
            • (SERVICE_NAME = your_service_name)
          • )
    • 使用:sqlplus username/password@MYDB
  • 本地“无监听”登录(仅本机装有数据库且配置好 SID 时):sqlplus / as sysdba。

五 常见问题与优化

  • 报错 “libaio.so.1: cannot open shared object file”
    • 安装依赖:sudo yum install -y libaio libaio-devel,然后重新登录或 source 环境变量。
  • 命令历史与回显增强
    • 安装 rlwrap:sudo yum install -y rlwrap
    • 设置别名:echo “alias sqlplus=‘rlwrap sqlplus’” > > ~/.bashrc & & source ~/.bashrc
  • 字符集乱码
    • 临时设置:export NLS_LANG=AMERICAN_AMERICA.UTF8
    • 或在连接串中按需指定客户端字符集。
  • SQL*Plus 输出美化
    • 可使用社区维护的 glogin.sql 或自定义登录脚本设置 linesize、pagesize、colsep 等,便于报表与导出。

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


若转载请注明出处: centos上sqlplus环境配置
本文地址: https://pptw.com/jishu/754641.html
centos环境下sqlplus性能优化 centos系统sqlplus权限设置

游客 回复需填写必要信息