返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 2197|回复: 0

[原创] 【原创】在麒麟使用免安装版的oracle客户端(x86_64架构)

[复制链接]
发表于 2022-9-5 10:57:26 | 显示全部楼层 |阅读模式

少侠不来段修仙之旅吗~

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
在麒麟使用免安装版的oracle客户端(x86_64架构)


1.首先在官网下载安装包

https://www.oracle.com/technetwo ... ownloads/index.html

根据版本下载对应以下ZIP压缩包(注:12版本需要登陆Oracle WEB才能下载)

instantclient-basic-linux.x64-12.2.0.1.0.zip
instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
instantclient-tools-linux.x64-12.2.0.1.0.zip


2.传输ZIP压缩包至麒麟系统,并创建一个路径专门存放Oracle客户端,同时解压缩ZIP压缩包(注:解压instantclient-basic-linux.x64-12.2.0.1.0.zip这个包,会得到一个目录instantclient,之后的压缩包解压后会解压到此目录下)

mkdir /data/
mv ~/instantclient-* /data
unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
unzip instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
unzip instantclient-tools-linux.x64-12.2.0.1.0.zip

3.创建数据库连接文件(可选)

cd instantclient_12_2
mkdir -p network/admin  #如有此目录则忽略


在 admin 目录下创建 tnsnames.ora 文件:

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )


4.配置环境变量

vim ~/.bashrc

export ORACLE_HOME=/data/instantclient_12_2
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export NLS_LANG='american_america.AL32UTF8'

配置完毕后,进行刷新环境变量,进行生效
source  ~/.bashrc


5.测试连接
sqlplus /nolog

SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 9 15:45:04 2018

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

SQL>


出现以上信息代表安装成功

#注意:麒麟系统执行sqlplus时可能会报错:error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such...
这时需切换回root用户安装libnsl


yum install libnsl.x86_64



安装完毕后再次执行sqlplus /nolog就不会报错了。




 楼主| 发表于 2022-9-5 11:03:11 | 显示全部楼层







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-13 19:26:05 | 显示全部楼层
补充,如果sqlplus 报缺失libnsl相应的包,可以看以下方法解决
麒麟系统 yum install libnsl.x86.... 提示已经安装过,rpm -qa | grep libnsl命令查看也是有的,那说明libnsl是已经装过了,不过版本不同,不过没关系,执行下软链接即可。执行如下方法:


find /usr/lib64/ -name “*libnsl.so*”

如果找到的不是 libnsl.so.1 ,而是 libnsl.so.2 ,做个软链接 ln -s /usr/lib64/libnsl.so.2 /usr/lib64/libnsl.so.1

然后执行 chmod +x libnsl.so.1 即可




再次执行sqlplus即可正常

如还是无法正常打开,还是提示某某lib缺失,可以使用 ldd [sqlplus命令的绝对路径] 查看依赖还有哪些路径不存在文件。这个帖子后续会持续更新麒麟系统 sqlplus 客户端出现的依赖问题!!

回复 支持 反对

使用道具 举报

游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表