zoukankan      html  css  js  c++  java
  • linux安装oracle远程客户端

    文章参考:http://blog.csdn.net/caomiao2006/article/details/11901123  感谢博友分享O(∩_∩)O~

    安装oracle 远程客户端(一般情况下本地如果有,安装oracle, 也会安装好客户端)

    1.要远程使用oracle,先下载下面三个文件,注意版本最好一致。
     
        (1) instantclient-basic-linux32-11.1.0.7.zip
        (2) instantclient-sdk-linux32-11.1.0.7.zip
        (3) instantclient-sqlplus-linux32-11.1.0.7.zip
        
         //查看oracle的sql语句,当然你如果无法上去,只能问远程oracle  的管理员了。
        select * from V$version ;
     
        不同版本,或者不同操作系统的,请到官方网站下载,里面有详细说明。
        http://www.oracle.com/technology/tech/oci/instantclient/index.html
     
    2.先创建三个客户端的安装目录,这三个目录可以自定义,但配置环境变量时,需要一致。
     
       mkdir -p /opt/oracle/lib
       mkdir -p /opt/oracle/sdk
       mkdir -p /opt/oracle/network/admin               //配置监听器和网络环境。
       
    3.解压上面下载的三个文件。

      unzip instantclient-basic-linux32-11.1.0.7.zip
      unzip instantclient-sqlplus-linux32-11.1.0.7.zip
      如:unzip -n xxx.zip -d ./tmpdir
          -n 解 压缩时不要覆盖原有的文件
          -d<目录>   指 定文件解压缩后所要存储的目录。
      其中,这二个文件都解压到当前目录下的同一个目录下面,把目录下所有文件搬到/opt/oracle/lib
     
      最后解压instantclient-sdk-linux32-11.1.0.7.zip,把解压出来的文件移动到/opt/oracle/sdk
     
    4.配置环境变量。
        
      vi /etc/profile                   //注意,这是针对所有用户的环境变量,如果你想局限某用户,只能配置用户的配置文件了。
      添加
      export ORACLE_HOME=/opt/oracle
      export LD_LIBRARY_PATH=/opt/oracle/lib
      保存并退出。
      [root@localhost tmp]# source /etc/profile              //使配置文件立刻生效
      [root@localhost tmp]# echo $ORACLE_HOME                //查看一下配置的环境变量是否成功
       /opt/oracle  
       
    5.配置监听器和网络环境。

      因为本地没有安装oracle 数据库,所以需要从安装oracle 数据库的目录弄三个文件过来。
      [root@localhost admin]# pwd
      /opt/oracle/network/admin
      [root@localhost admin]# ls
      listener.ora  sqlnet.ora  tnsnames.ora       //就这三个文件,放到这个目录下
     
    6.编辑三个文件。
        tnsnames.ora

    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.25.46)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )
    
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )

        listener.ora

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = \opt\oracle)        //注意,这个是刚才配置的$ORACLE_HOME
          (PROGRAM = extproc)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.25.46)(PORT = 1521))    //这个上面有说明 
        )
      )

        sqlnet.ora

    # This file is actually generated by netca. But if customers choose to
    # install "Software Only", this file wont exist and without the native
    # authentication, they will not be able to connect to the database on NT.
    
    SQLNET.AUTHENTICATION_SERVICES = (NTS)

    7.已完成、测试。
        
        [root@localhost lib]# cd /opt/oracle/lib
        [root@localhost lib]# ./sqlplus                    //如果该路径添加为环境变量可以直接执行sqlplus
        sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
        //如果出现上面的问题,代表你的环境变量没设置好。请参考:第四点。
        
        [root@localhost lib]# sqlplus testuser/testuser@XE
        
        SQL*Plus: Release 10.2.0.4.0 - Production on Sun Aug 1 12:20:08 2010
        
        Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
        
        
        Connected to:
        Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
        With the Partitioning, OLAP and Data Mining options
        
        SQL>
        
        用户的环境变量要执行sqlplus可以在.bash_profile中添加
        alias sql='sqlplus testuser/testuser@XE'
        此时终端直接输入 sql 即可!
        
        安装完成O(∩_∩)O~

    以上安装只能够运行sqlplus,还不能编译嵌入式SQL(c),需要在oracle官网下载 instantclient-precomp-linux32-11.1.0.7.zip 包。
    执行以下步骤(根据自己makefile的编译要求操作的,详见博客makefile):
    1.创建一个precomp安装目录
        mkdir -p /opt/oracle/precomp
        mkdir -p /opt/oracle/precomp/admin
        touch pcscfg.cfg
    2.解压instantclient-precomp-linux32-11.1.0.7.zip包(方法如上)
        将上面SDK文件加下的所有文件和解压precomp...zip包后的所有文件放在precomp目录下(根据makefile的编译要求,详见博客),将可执行文件移至/opt/oracle/lib中(因为此路径设为环境变量以便编译时能找到对应执行文件)
        更改文件夹名 mv include public (根据makefile的编译要求)
    3.编辑/opt/oracle/precomp/admin/pcscfg.cfg文件
        如:
        sys_include=(/opt/oracle/precomp/public,/usr/lib/gcc/i386-redhat-linux/4.1.1/include,/usr/lib/i386-redhat-linux4E/include/bits,/home/uriel/git-2.0.3/compat/vcbuild/include,/usr/lib/i386-redhat-linux4E/include)
        ltype=short
        
        此文件的sys_include中应包含sqlca.h及sqlda.h所在的路径(否则编译时报:‘sqlca’ 未声明),我这里为/opt/precomp/public。还需要包括stddef.h所在的路径,我这里为/usr/lib/gcc/i386-redhat-linux/4.1.1/include。如果这两个文件你也不知道在什么位置,可以通过
        #find / -name "sqlca.h"
        #find / -name "stddef.h"
        来查找。另外再将常用的头文件路径加上即可,如/usr/include。
        
        嵌入式C编译时还需链接-lclntsh库(数据库中的库 libclntsh.so),详见makdfile。


       

  • 相关阅读:
    第七天 安卓 4大组件
    第六天 页面跳转和数据传递
    第五天 断点续传和下载
    objective-c里的protocol
    Cocos2d-x的屏幕适配
    CocosBuilder的Inspector及让Text View实时更新内容+binding控件到基类成员
    几个输出注意点
    Xcode
    Category、Extension
    iOS内存管理
  • 原文地址:https://www.cnblogs.com/uriel/p/4270684.html
Copyright © 2011-2022 走看看