环境

  操作系统:

  CentOS7.2.1511 x86_64

准备安装包

  在这个网站:https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载如下安装包

oracle-instantclient11.-basic-11.2.0.4.-.x86_64.rpm
oracle-instantclient11.-sqlplus-11.2.0.4.-.x86_64.rpm
oracle-instantclient11.-devel-11.2.0.4.-.x86_64.rpm  //这个是sdk 的,文件名上没有说明,特此说明 

  可以使用wget命令直接下载,也可以在windows上下载好了再通过WinSCP工具上传到服务器上。我的Oracle server端是10g,所以我找了个低版本的Client,在windows上试过11g的客户端是能连接10gserver的,所以我下载的是11.2。

  上面安装的几个包的说明:

  basic是基础包,使用其的目的是运行OCI、OCCI、JDBC-OCI这几个应用程序;

  sqlplus是补充包/文件,目的是运行sql*plus的即时客户端;

  devel等同于oracle-sdk,包含头文件和示例文件,目的是开发Oracle应用程序;

  如果要远程连接数据库,这三个rpm包是必不可少的,一定要安装。

  其余可选的包还有:

oracle-instantclient11.-odbc-11.2.0.4.-.x86_64.rpm  --补充包/文件,为运行ODBC环境附加库;
oracle-instantclient11.-jdbc-11.2.0.4.-.x86_64.rpm --补充JDBC下的XA、国际标准、行集操作;

  这些rpm包在官网上都能下载到,rpm是安装版的包,还有一种是zip包,zip包相当于是解压后免安装版。安装时要选择和你的Oracle server匹配的客户端来安装,例如我要连接的server版本信息是:

Oracle Database 11g Enterprise Edition Release 11.2.0.4. -64bit Production

  所以我在选择客户端时也会选择对应版本的客户端11.2.0.4.0。

安装

  我把下载好的rpm包放在了OracleClient这个目录下。

[root@localhost OracleClient]# rpm -ivh ./oracle-instantclient11.-basic-11.2.0.4.-.x86_64.rpm
准备中... ################################# [%]
正在升级/安装...
:oracle-instantclient11.-basic-################################# [%]
[root@localhost OracleClient]# rpm -ivh ./oracle-instantclient11.-devel-11.2.0.4.-.x86_64.rpm
准备中... ################################# [%]
正在升级/安装...
:oracle-instantclient11.-devel-################################# [%]
[root@localhost OracleClient]# rpm -ivh ./oracle-instantclient11.-sqlplus-11.2.0.4.-.x86_64.rpm
准备中... ################################# [%]
正在升级/安装...
:oracle-instantclient11.-sqlplus-################################# [%]

  本次安装的时候没有指定安装路径,所以它会安装到默认路径下。使用如下命令可以查看这个rpm包的默认安装路径:

[root@localhost OracleClient]# rpm -qpl oracle-instantclient11.-basic-11.2.0.4.-.x86_64.rpm
/usr/lib/oracle/11.2/client64/bin/adrci
/usr/lib/oracle/11.2/client64/bin/genezi
/usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1
/usr/lib/oracle/11.2/client64/lib/libnnz11.so
/usr/lib/oracle/11.2/client64/lib/libocci.so.11.1
/usr/lib/oracle/11.2/client64/lib/libociei.so
/usr/lib/oracle/11.2/client64/lib/libocijdbc11.so
/usr/lib/oracle/11.2/client64/lib/ojdbc5.jar
/usr/lib/oracle/11.2/client64/lib/ojdbc6.jar
/usr/lib/oracle/11.2/client64/lib/xstreams.jar

  在client64下创建目录 network/admin,然后把server端的tnsnames.ora上传到这个目录下

配置环境变量

  在当前用户的家目录下打开文件:vim .bash_profile,添加如下几行:

#enviroment variable of oracle client
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export ORACLE_BASE=/usr/lib/oracle/11.2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export PATH=$PATH:$ORACLE_HOME/bin

  然后保存并退出。接下来使用source ~/.bash_profile,强制刷新配置文件。如果source执行后提示找不到命令,那么可能是你要source的文件内容有问题。

  在bash窗口输入sqlplus,如果提示:

[root@localhost ~]# sqlplus

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 15 14:27:47 2019

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

Enter user-name:

  这样就意味着客户端已经安装成功了。

  如果出现:

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory 

  这说明你的环境变量配的不正确。

连接数据库

  接下来在终端中输入如下指令:

[root@localhost ~]# sqlplus bsits2/bsits2@ORCL_201

SQL*Plus: Release 11.2.0.4. Production on Tue Jan  :: 

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

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options SQL>

  这表示已经连接连到了数据库。在这个示例中,bsits2/bsits2@ORCL_201这个字符串中的bsits2/bsits2分别是目标数据库的用户名和密码,ORCL_201这个是你在TNS中配置的网络服务名。如果要退出sqlplus的话,只要在sqlplus的窗口中输入exit即可。

SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options

让查询结果格式化输出

  在使用sqlplus的时候会遇到一条记录不能显示在同一行的情况。

  可以通过下面几个参数,根据实际情况进行调整:

show linesize : 查看当前设置的sqlplus输出的最大行宽
set linesize : 设置sqlplus输出的最大行宽
column : 修改显示字段的长度或名称
column col_name format a15       --将列col_name(字符型)显示最大宽度调整为15个字符
column col_num format 999999     --将列col_num(num型)显示最大宽度调整为6个字符
column col_num heading col_num2  --将col_num的列名显示为col_num2

  欢迎指正,感激不尽。

  

CentOS7服务器上部署Oracle客户端的更多相关文章

  1. CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3

    CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...

  2. [转]oracle10客户端PL/SQL Developer如何连接远程服务器上的oracle数据库

    时间:2013年8月21日 前提条件:假设你已经安装好了oracle和PL/SQL Developer,知道远程服务器的IP和数据库端口,知道远程服务器上的oracle数据库名和密码 如何用PL/SQ ...

  3. 在net安装程序中部署oracle客户端全攻略

    在net安装程序中部署oracle客户端全攻略 主要的是要做三件工作: 打包文件,写注册表,注册环境变量说明:我的oracle版本为9, 在2000 advanced server 上测试通过,可以正 ...

  4. [原创]在HP DL380 G7服务器上部署基于Ubuntu Server 16.04 和 VirtualBox的云平台

    对于一线开发人员来说,一提到虚拟机平台,往往会让人联想到在价格昂贵的服务器上部署VMware vSphere之类软件来实现. 笔者作为一个资深码农,也是一直梦寐着在自己家中打造一个真正的家庭私有云,秒 ...

  5. ORA-12538;ORA-12154;使用PL/SQL dve无法连接远程服务器上的oracle数据库,同时本机上也安装了一个oracle数据库

    问题描述:本人使用PL/SQL dve连接远程服务器上的oracle数据库,一直是没有问题的.我想提高下自己在数据库方面的能力就在自己的笔记本上安装了一个oracle数据库实例,安装并配置好之后,使用 ...

  6. IIS 7 Web服务器上部署ASP.NET网站(转)

    IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...

  7. 在IIS服务器上部署svg/woff/woff2字体

    在url没错的前提下,字体文件报404错误,如.woff,.woff2 出错原因: IIS不认SVG,WOFF/WOFF2这几个文件类型 解决方案: 在IIS服务器上部署svg/woff/woff2字 ...

  8. 在cmd命令行下登录本地oracle数据库与服务器上的oracle

    一.本地登录 cmd->sqlplus 用户名/密码@数据库名 (as sysdba)->enter注:如果此用户名不是系统用户sys,scott,system就不需要加as sysdba ...

  9. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

随机推荐

  1. 【渗透测试】如何利用burpsuite测试无回显漏洞

    前面的文章讲了在windows和linux上的不同的无文件渗透测试的方法,那么这篇文章给大家讲解如何在漏洞没有回显的情况下,利用burpsuite自带插件进行测试的方式. 首先我们稍微提一下有哪些无回 ...

  2. TCP协议怎么关闭?

    TCP协议是一个面向连接的传输层协议,那如果避免遭到破坏,该怎样正确关闭呢?一般正常关闭TCP连接是采用四次挥手机制,其实主体就两个,客户端和服务器交互传递,且连续四次,传递的东西是FIN数据包和AC ...

  3. redis-分布式锁2

    https://wudashan.cn/2017/10/23/Redis-Distributed-Lock-Implement/ 站在巨人的肩膀上 本博客使用第三方开源组件Jedis实现Redis客户 ...

  4. 嵌入式C语言模块编写

    C 语言源文件 *.c 理想的模块化应该可以看成是一个黑盒子.即我们只关心模块提供的功能,而不管模块内部的实现细节.在大规模程序开发中,一个程序由很多个模块组成,这些模块的编写任务被分配到不同的人,编 ...

  5. JPA-day02 项目结构 编写增删改查测试类

  6. 关于java和python同时使用rabbitmq时队列同名问题的探讨

    问题引出: 我们知道,进程之间是不能直接通信的,但是今天学习rabbitmq时发现一个奇怪的问题,即当我开启rabbitmq,用java写好的代码给rabbitmq发送完消息后并没有急着使用java去 ...

  7. ZOJ Course Selection System DP

    http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5565 Course Selection System Time ...

  8. httpd.exe占用100%CPU

    客户VPShttpd.exe进程占用100%CPU百度搜了下,很多文章: 在网上也没有能够直接找到比较好的解决方法,后来在一个帖子上看到说,有可能是apache与其他的软件冲突了(参考http://t ...

  9. Super Mario(线段树离线区间k值)

    以前见过这题,没做出来,知道是离线处理,这次仔细想了下, 首先把出现的高度都map离散化一下,以离散化出来的数目g建树,把每个位置都开俩个vector,一个存以这个位置为L的询问,一个存以这个位置为R ...

  10. wordpress注册收不到邮件

    解决发送问题后又遇到个蛋疼的问题,点击激活邮件地址提示您的密码重设链接无效,请在下方请求新链接发现原来是显的没事的wordpress在激活链接前后都加了<>,而邮箱把后面的>当成是链 ...