文章参考: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 = ))
(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 = )) //这个上面有说明
)
)

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。

linux安装oracle远程客户端的更多相关文章

  1. linux 安装oracle 11g

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  2. linux安装oracle笔记

    linux安装oracle .增大swap空间,内存大于8G后swap跟内存同等大小即可 mkdir /home/swap cd /home/swap mkswap swapfile swapon s ...

  3. Linux 安装 Oracle 11g R2

    一.安装环境 Linux服务器:Centos 6.4 64位 Oracle服务器:Oracle11gR2 64位 二.系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的 ...

  4. Linux安装Oracle 11G过程(测试未写完)

    一.简介 Oracle数据库在系统运维中的重要性不言而喻,通过熟悉Oracle的安装来加深对操作系统和数据库知识的了解.Linux安装Oracle前期修改linux内核参数很重要,其实就是linux下 ...

  5. Oracle linux安装Oracle 11G

    Oracle  linux安装Oracle 11G 系统环境 Oracle linux   5.8.19.6(64位) Oracle     11.2.0.1(64位) 本文档详细介绍Oracle  ...

  6. 安装oracle 11g 客户端,检查过程中报物理内存不足的解决

    今早接到同事电话,说安装oracle 11g客户端的时候,在检查先决条件的时候,报错,说内存不足,但是本机的内存是2G,肯定够用:如图: 找了一圈,原来Oracle执行先决条件检查是依赖c$共享,很多 ...

  7. XManager远程Linux 安装Oracle 图形化界面xstart解决方法

    一.安装Oracle_11g_R21.安装所必要的软件包:(CentOS)参见官方文档-rw-r--r--. 1 oracle oinstall 1358454646 Feb  5 22:57 p10 ...

  8. linux安装oracle 11g rac

    安装oracle 11gR2 RAC 一.网络规划及安装虚拟主机 主机名 主机版本 Ip rac1.localdomain Redhat 6.5 RAC节点1 192.168.100.11 rac2. ...

  9. linux安装oracle

    目 录 一.硬件要求二.软件三.系统安装注意四.安装Oracle前的系统准备工作五.安装Oracle,并进行相关设置六.升级Oracle到patchset 10.2.0.4七.使用rlwrap调用sq ...

随机推荐

  1. Jmeter入门9 __digest函数 jmeter字符串连接与登录串加密应用

     登录请求中加密串是由多个子串连接,再加密之后传输. 参数连接:${var1}${var2}${var3} 加密函数:__digest    (函数助手里如果没有该函数,请下载最新版本的jmeter5 ...

  2. URL地址解析

    URL的一般格式为(带方括号[]的为可选项): protocol :// hostname[:port] / path /[?query]#fragment   1.protocol :// 为传输协 ...

  3. 设计模式——装饰模式(Decorator Pattern)

    装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活. UML图: 模型类: Component类: package com.cnblog.clarck; /** ...

  4. java容易混淆的的内部类相关概念

    关于内部类: 作用: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内部类所实现的 ...

  5. react(三):容器组件和傻瓜组件

    让一个组件只专注于一件事,如果发现让一个组件做的事情太多,就可以把这个组件拆分成多个组件让每一个组件只专注于一件事 <深入浅出react和redux> ---程墨 一个react组件最基本 ...

  6. 虚拟局域网VLAN的配置实验

    实验涉及命令以及知识补充 交换机的不同状态 switch: :交换机的ROM态 rommon> :路由器的R状态 switch > :用户模式 switch# :特权模式 switch(c ...

  7. 关于truthy 和 falsy

    一,强制类型转换 JavaScript 在需要用到布尔类型值的上下文中使用强制类型转换(Type Conversion )将值转换为布尔值,比如:在条件语句或者循环语句中 一,truthy 在java ...

  8. ABAP术语-Business Connector

    Business Connector 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/27/1016379.html XML-based st ...

  9. iframe中的页面在IE全屏模式下没有滚动条,正常模式有滚动条

    这个问题在其他浏览器都不会出现,唯独IE不行,搜遍了百度以及各大论坛网站,都找不到这个问题的解决方案,只好自己整了. 造成这个问题的原因很简单,就是刚开始的滚动条我用的是iframe的滚动条,ifra ...

  10. 关于parseInt的看法

    ​ 前面在看题目的时候 偶然看到 使用parseInt 来进行整数判断 但是这里的parseInt是错误示范 之后了解了一下 发现这和函数 很有研究 先看看 w3c怎么说这个的 parseInt() ...