首页主机资讯如何在Linux上安装SQLPlus

如何在Linux上安装SQLPlus

时间2025-10-10 08:22:04发布访客分类主机资讯浏览1351
导读:在Linux上安装SQLPlus的步骤(以常见发行版为例) 1. 准备工作 确认系统版本:确保Linux发行版(如CentOS、Ubuntu、Kali)已更新至最新版本(sudo yum update 或 sudo apt update...

在Linux上安装SQLPlus的步骤(以常见发行版为例)

1. 准备工作

  • 确认系统版本:确保Linux发行版(如CentOS、Ubuntu、Kali)已更新至最新版本(sudo yum updatesudo apt update & & sudo apt upgrade)。
  • 下载必要软件包
    • SQLPlus属于Oracle Instant Client组件,需从Oracle官方网站下载对应版本的instantclient-basic(基础包,含核心库)和instantclient-sqlplus(SQLPlus工具)包。例如:
      • CentOS 7/8(64位):oracle-instantclient21.6-basic-21.6.0.0.0-1.x86_64.rpmoracle-instantclient21.6-sqlplus-21.6.0.0.0-1.x86_64.rpm
      • Ubuntu 22.04(64位):instantclient-basic-linux.x64-21.6.0.0.0dbru.zipinstantclient-sqlplus-linux.x64-21.6.0.0.0dbru.zip
    • (可选)若使用RPM包安装,需提前安装alien工具(Debian/Ubuntu转RPM用):sudo apt install alien

2. 安装Oracle Instant Client(含SQLPlus)

方法一:通过YUM仓库安装(推荐,适用于CentOS/RHEL)

  • 添加Oracle官方YUM仓库:
    sudo vi /etc/yum.repos.d/oracle.repo
    
    添加以下内容(以Oracle 21c为例,版本号需匹配下载的包):
    [oracle-database]
    name=Oracle Database 21c Repository
    baseurl=https://yum.oracle.com/repo/OracleLinux/OL8/latest/x86_64/dbhome_21c/
    enabled=1
    gpgcheck=1
    gpgkey=https://yum.oracle.com/RPM-GPG-KEY-oracle
    
  • 导入Oracle GPG密钥:
    sudo rpm --import https://yum.oracle.com/RPM-GPG-KEY-oracle
    
  • 安装SQLPlus及依赖:
    sudo yum install oracle-instantclient21.6-basic oracle-instantclient21.6-sqlplus
    

方法二:手动下载并安装(适用于所有Linux发行版)

  • 解压下载的ZIP包到目标目录(如/opt/oracle):
    sudo unzip instantclient-basic-linux.x64-21.6.0.0.0dbru.zip -d /opt/oracle
    sudo unzip instantclient-sqlplus-linux.x64-21.6.0.0.0dbru.zip -d /opt/oracle
    
  • 创建符号链接(简化命令路径):
    sudo ln -s /opt/oracle/instantclient_21_6 /opt/oracle/instantclient
    sudo ln -s /opt/oracle/instantclient/sqlplus /usr/local/bin/sqlplus
    

方法三:通过RPM包安装(适用于Debian/Ubuntu)

  • 转换RPM包为DEB格式:
    sudo alien -d oracle-instantclient21.6-basic-21.6.0.0.0-1.x86_64.rpm
    sudo alien -d oracle-instantclient21.6-sqlplus-21.6.0.0.0-1.x86_64.rpm
    
  • 安装转换后的DEB包:
    sudo dpkg -i oracle-instantclient21.6-basic_21.6.0.0.0-2_amd64.deb
    sudo dpkg -i oracle-instantclient21.6-sqlplus_21.6.0.0.0-2_amd64.deb
    

解决依赖问题

  • 若安装时提示缺少libaio库(常见于CentOS/RHEL),需先安装:
    sudo yum install libaio
    
  • Ubuntu/Debian系统安装libaio1
    sudo apt install libaio1
    

3. 配置环境变量

  • 编辑全局配置文件(如/etc/profile)或用户配置文件(如~/.bashrc),添加以下内容(以/opt/oracle/instantclient_21_6为例):

    export ORACLE_HOME=/opt/oracle/instantclient_21_6
    export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME:$PATH
    
  • 使配置立即生效:

    source /etc/profile  # 或 source ~/.bashrc
    
  • 验证环境变量

    echo $ORACLE_HOME  # 应输出安装目录
    echo $LD_LIBRARY_PATH  # 应包含$ORACLE_HOME
    which sqlplus  # 应输出SQLPlus路径(如/usr/local/bin/sqlplus)
    

4. 验证SQLPlus安装

  • 在终端输入sqlplus,若安装成功,将显示SQLPlus版本信息:

    sqlplus -v
    

    输出示例:

    SQL*Plus: Release 21.0.0.0.0 - Production on Wed Oct 11 10:00:00 2025
    Version 21.6.0.0.0
    
  • 测试数据库连接(需替换为实际数据库信息):

    sqlplus username/password@hostname:port/service_name
    

    示例:

    sqlplus scott/tiger@192.168.1.100:1521/orcl
    

    若连接成功,将进入SQLPlus交互界面(显示Connected to:字样)。

5. 可选优化

  • 安装rlwrap美化命令行(支持历史命令上下翻页):
    sudo yum install rlwrap  # CentOS/RHEL
    sudo apt install rlwrap  # Ubuntu/Debian
    echo "alias sqlplus='rlwrap sqlplus'" >
        >
         ~/.bashrc
    source ~/.bashrc
    
  • 配置TNS连接文件(简化连接命令):
    $ORACLE_HOME目录下创建tnsnames.ora文件,添加数据库连接信息:
    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
    
    之后可通过服务名连接:sqlplus username/password@TEST

注意事项

  • 确保下载的Instant Client版本与数据库版本兼容(如19c客户端可连接11g/12c/19c/21c数据库)。
  • 若使用图形界面,建议将Oracle Instant Client目录加入系统PATH,方便直接运行sqlplus命令。
  • 生产环境中,建议将SQLPlus安装为系统服务或通过Docker容器部署,提升稳定性。

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


若转载请注明出处: 如何在Linux上安装SQLPlus
本文地址: https://pptw.com/jishu/722114.html
Linux SQLPlus连接数据库失败怎么办 Ubuntu Redis如何实现数据分片

游客 回复需填写必要信息