Centos7 + 麒麟v10安装oracle瘦客户端
环境:
OS:Centos 7
客户端:11.2.0.4
1.下载客户端的包
[root@localhost 11g_client]# ls -1
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm
2.安装客户端
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm
3.创建tnsnames.ora文件
su - root
mkdir -p /usr/lib/oracle/11.2/client64/network/admin/
cd /usr/lib/oracle/11.2/client64/network/admin/
vi tnsnames.ora
DEV_NEW =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
4.设置环境变量
[root@localhost ~]# more .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export ORACLE_BASE=/usr/lib/oracle/11.2
export TNS_ADMIN=/usr/lib/oracle/11.2/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG="american_america.AL32UTF8"
export PATH=${ORACLE_HOME}/bin:$PATH
PATH=$PATH:$HOME/bin
export PATH
这个时候sqlplus是可以使用的,但是瘦客户端精简版本没有包含tnsping,这个需要服务端拷贝过来
5.创建目录(后面的tnsping、exp、imp、sqlldr会用到):
客户端创建目录
su - root
mkdir -p $ORACLE_HOME/network/mesg/
mkdir -p $ORACLE_HOME/rdbms/mesg
服务器端将如下两个文件拷贝到客户端
scp /u01/app/oracle/product/11.2.0.4/db_1/bin/tnsping root@192.168.1.136:/usr/lib/oracle/11.2/client64/bin/
scp /u01/app/oracle/product/11.2.0.4/db_1/network/mesg/tnsus.msb root@192.168.1.136:/usr/lib/oracle/11.2/client64/rdbms/mesg/
这个时候就可以使用tnspingl了
[root@localhost admin]# tnsping DEV_NEW
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 23-AUG-2022 17:27:21
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (10 msec)
6.可以将以上包打包到其他的机器解压即可使用
[root@localhost ~]# cd /usr/lib/
[root@localhost lib]# tar -cvf oracle_clent11g.tar ./oracle/
将tar文件拷贝到另外的机器上,与当前的目录保持一致
[root@localhost lib]# scp oracle_clent11g.tar root@192.168.1.135:/usr/lib/
然后到另外一台机器上解压
[root@host135 ~]# cd /usr/lib/
[root@host135 lib]# tar -xvf oracle_clent11g.tar
然后设置环境变量(root用户或是其他普通用户都可以)
[root@host135 lib]# cd ~
[root@host135 ~]# more .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export ORACLE_BASE=/usr/lib/oracle/11.2
export TNS_ADMIN=/usr/lib/oracle/11.2/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG="american_america.AL32UTF8"
export PATH=${ORACLE_HOME}/bin:$PATH
PATH=$PATH:$HOME/bin
export PATH
退出重新登录
[root@host135 ~]# which sqlplus
/usr/lib/oracle/11.2/client64/bin/sqlplus
[root@host135 ~]# tnsping DEV_NEW
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 23-AUG-2022 17:56:06
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (10 msec)
[root@host135 ~]# sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 23 17:56:13 2022
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> connect hxl/oracle@DEV_NEW
Connected
#############################在麒麟操作系统上安装oracle 11g客户端########################
若是按照上面的步骤直接解压使用的话,会报如下错误:
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
解决办法:
1.在一台centos 7机器上找到如下文件
[root@localhost /]# find / -name libnsl.so.1
/usr/lib64/libnsl.so.1
/topsec/topav_client/lib/libnsl.so.1
该文件是一个链接文件
[root@localhost tmp]# ls -al /usr/lib64/libnsl.so.1
lrwxrwxrwx 1 root root 14 Aug 23 2022 /usr/lib64/libnsl.so.1 -> libnsl-2.17.so
2.将该文件上传到麒麟服务器
scp libnsl-2.17.so root@麒麟服务器ip:/usr/lib64/
3.在麒麟服务器上创建软连接(目的是保持正常系统的一致)
cd /usr/lib64/
ln -s ibnsl-2.17.so libnsl.so.1
然后执行
ldconfig
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-08-23 现有dgbroker管理的dg下添加一台从库且互相切换
2021-08-23 删除dgbroker