zoukankan      html  css  js  c++  java
  • 古I月 CentOS7服务器上部署Oracle客户端

    环境

      操作系统:

      CentOS7.2.1511 x86_64

    准备安装包

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

    oracle-instantclient11.2-basic-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-devel-11.2.0.4.0-1.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.2-odbc-11.2.0.4.0-1.x86_64.rpm  --补充包/文件,为运行ODBC环境附加库;
    oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm  --补充JDBC下的XA、国际标准、行集操作;

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

    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 -64bit Production

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

    安装

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

    复制代码
    [root@localhost OracleClient]# rpm -ivh ./oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:oracle-instantclient11.2-basic-11################################# [100%]
    [root@localhost OracleClient]# rpm -ivh ./oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm 
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:oracle-instantclient11.2-devel-11################################# [100%]
    [root@localhost OracleClient]# rpm -ivh ./oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:oracle-instantclient11.2-sqlplus-################################# [100%]
    复制代码

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

    复制代码
    [root@localhost OracleClient]# rpm -qpl oracle-instantclient11.2-basic-11.2.0.4.0-1.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.0 Production on Tue Jan 15 16:58:23 2019
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 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.0 - 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

    转载自:https://www.cnblogs.com/ToBeExpert/p/10272409.html

  • 相关阅读:
    应用环境配置记录
    【C#】Dictionary通过value获取对应的key值
    DevExpress 之 GridControl 自定义列(转)
    C#中gridView常用属性和技巧介绍(转)
    【643】cv2.imread() 函数
    【642】Python 实现膨胀、腐蚀、提取边线
    【639】keras 中 fit_generator 的 数据生成器
    【638】keras 多输出模型【实战】
    【637】一个图片两个标注的图像增强
    别自嗨了!想做新生代农民工,你还不够格。。
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/13426680.html
Copyright © 2011-2022 走看看