Linux系统安装(升级)sqlplus客户端

前言

sqlplus是连接oracle的一个官方客户端工具,我们在安装oracle服务端的时候其实就会默认把sqlplus也给一起安装了。不过有时候我们只是想单独在其他服务器上面装个sqlplus客户端来查数据,这个时候就需要自己单独去下载相关的依赖来实现了。本篇文章会介绍oracle官方提供的2种安装方式,对于zip包安装的方法,以及如何升级sqlplus网上也很少文章提及,本篇文章会一并介绍,希望对各位读者有所帮助。

一、通过zip包进行安装

步骤1:登录Oracle官方网站,下载对应版本的依赖

传送门在此:sqlplus下载地址
注意在sqlplus 19及以上版本的客户端,对于Linux服务器的glibc版本是有要求的,然后一般高版本的客户端可以兼容低版本的数据库,建议根据数据库版本和实际需要进行下载。我们找到需要下载的客户端版本后,会看到oracle提供了很多资源给我们下载,我们只需要关注2个资源就行:

  • instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
  • instantclient-basic-linux.x64-12.2.0.1.0.zip或者 instantclient-basiclite-linux.x64-12.2.0.1.0.zip
    前者是sqlplus客户端的安装包,后者是sqlplus运行时需要用到的基础依赖包,基础依赖包选择basicbasiclite都可以,basiclite相对来说只是少了一些字符集的支持,没有中文提示而已,个人建议直接选basic就好,毕竟也就30多M而已。
步骤2:上传至服务器指定目录后进行解压

这里有一个小细节,我们解压的时候记得选择同一个解压目录,然后手动在解压出来的目录里面创建lib目录,并把*.so文件迁移过去。

unzip instantclient-sqlplus-linux.x64-12.2.0.1.0.zip -d /usr/local
unzip instantclient-basic-linux.x64-12.2.0.1.0.zip -d /usr/local
mv /usr/local/instantclient_12_2 /usr/local/sqlplus_12_2
cd /usr/local/sqlplus_12_2
mkdir lib
mv *.so* lib
chmod +x sqlplus
ln -s /usr/local/sqlplus_12_2/sqlplus /usr/local/bin/sqlplus
步骤3:配置环境变量

上一步操作我们把sqlplus放到/usr/local/bin中,默认加入到PATH变量的快捷执行目录中,但是sqlplus需要的动态链接库还没有加进去,我们需要把这部分的动态链接库的内容也一并加到环境变量中。
编辑/etc/profile文件,保存下面的内容

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/sqlplus_12_2/lib

保存退出后,使用source /etc/profile命令快速更新一下配置

步骤4:验证sqlplus是否可以使用

执行sqlplus /nolog看一下效果

image.png

如果出现这类错误的话(一般不会有),可以参考下面的方案来解决

  • 权限问题 文件libsqlplus.so 没有可读权限
    此时查找文件·find / -name libsqlplus.so
    修改权限chmod +r 路径/libsqlplus.so

  • 环境变量设置有问题
    echo $LD_LIBRARY_PATH输出一下结果,看一下这里面是否有什么问题

二、通过rmp包方式进行安装

步骤1:下载相关的安装包

这里我们还是进入官网下载地址,这次只需要关注基础包和sqlplus运行包相关的rpm包就行

  • oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm 或者
  • oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
步骤2:rpm进行安装

如果是CentOSRedHat的话,直接用下面的命令

rpm -i  oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm
rpm -i  oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

如果是Debian/Ubuntu下先将其转成deb包

apt-get install alien
alien oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
alien oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm
dpkg -i oracle-instantclient-basic_21.1.0.0.0-1.x86_64.rpm
dpkg -i oracle-instantclient-sqlplus_21.1.0.0.0-1.x86_64.rpm

安装完成后,自动生成客户端所在目录在/usr/lib/oracle/12.2/client64,其中bin、lib目录分别存储可执行文件和对应的连接库,我们可以自行检查里面的文件是否生成了。

步骤3:配置环境变量

配置/etc/profile,需要配置的主要就是PATHLD_LIBRARY_PATH,前者用来把sqlplus加入环境变量用于命令使用,后者用来配置so共享库文件。

export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

保存后,执行source /etc/profile刷新一下配置即可

步骤4:验证sqlplus是否可用

执行sqlplus /nolog看一下效果

image.png

三、关于sqlplus客户端的升级

(一)zip方式安装

客户端的升级步骤和安装差不多,先下载高版本的sqlplus安装包,然后和原先操作步骤基本一致,唯一有区别的地方有2处:

  • 新建软连接的时候记得关联上新版本的sqlplus
  • 更新/etc/profile文件中LD_LIBRARY_PATH的最新地址
(二)rpm方式安装的
步骤1:下载高版本的sqlplus
步骤2:先卸载掉高版本的rpm安装包
rpm -e oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64
rpm -e oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64

注意
(1)正常来说应该是可以通过rpm -Uvh命令来升级rpm包的,但是笔者试过后发现会报错,就只能卸载重装了
(2)如果不确定旧的rpm包名字的话,可以通过rpm -qa | grep oracle来找

步骤3:重新安装高版本sqlplus
rpm -ivh  oracle-instantclient19.24-basic-19.24.0.0.0-1.x86_64.rpm
rpm -ivh  oracle-instantclient19.24-sqlplus-19.24.0.0.0-1.x86_64.rpm

参考文章:

Linux安装Oracle数据库SQLPlus客户端 https://www.cnblogs.com/wiseo/p/14145233.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容