本文作为新手在Linux上部署Java程序的必经之路的Oracle客户端配置,请高手绕道。

  1. 确定服务器版本
    首选确定你的Oracle服务器版本,以便下载相应的客户端。查看的sql如下:

    select * from V$version ; 

    如果你无法远程连上Oracle,只能登陆服务器了。

  2. 下载Oracle客户端
    根据Oracle的版本,到 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载相应的客户端,我们一般会下载客户端和sqlplus,使用sqlplus连接或测试是非常方便的。如我下载的客户端版本是Version 12.1.0.1.0

    instantclient-basic-linux.x64-12.1.0.1.0.zip
    instantclient-sqlplus-linux.x64-12.1.0.1.0.zip

    PS:

    Instant Client 可以在不安装完整的 Oracle 客户端的情况下,运行你的 OCI、OCCI、Pro*C、JDBC 和 ODBC 应用程序。另外,Instant Client 支持 SQL*Plus。从 Instant Client 10.2 开始,可以通过 Instant Client SDK 用 OCI 和 OCCI 开发应用程序。

  3. 把上面的两个zip文件都解压到你制定的目录,我的目录是

    /usr/kevin/instantclient_12_1/lib/

  4. 设置环境变量
    你可以在Terminal中设置,而我为了以后方便我在/etc/profile末尾中添加:

    export ORACLE_HOME=/usr/kevin/instantclient_12_1/
    export LD_LIBRARY_PATH=/usr/kevin/instantclient_12_1/lib/

    如果想让profile立刻生效,可以在Terminal中执行:

    source /etc/profile

    但这会在当前terminal中有效,如果想每个终端都有效最好reboot。

  5. 现在你可以进入

    /usr/kevin/instantclient_12_1/lib/

    执行sqlplus了

    ./sqlplus

    但为了方便最好还是把sqlplus配置到PATH环境变量中,或者你在/usr/local/bin下建一个sqlplus的软连接。

  6. 配置tnsnames.ora
    tnsnames.ora位于ORACLE_HOME/network/admin/下,这需要手动创建,内容类似:

    testdata =
    (DESCRIPTION =
    (FAILOVER=ON)
    (LOAD_BALANCE=ON)
    (ADDRESS_LIST=
    (ADDRESS = (PROTOCOL = TCP)(HOST =10.9.27.11)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST =10.9.27.12)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = racdb)
    )
    )
  7. 配置完后就可以使用sqlplus测试你的配置是否OK。

PS配种过程中遇到的问题

  1. error while loading shared libraries: libsqlplus.so
    在执行sqlplus时可能遇到

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

    解决:这是因为环境变量 LD_LIBRARY_PATH 没设置或设置不当,一般的共享库都安装到/lib或/usr/lib中,如果安装在别的地方需要设置LD_LIBRARY_PATH环境变量,其值可以是被":"分开的多个路径。

  2. error while loading shared libraries: libaio.so.1
    在执行sqlplus时可能遇到

    rror while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    解决:这是因为缺少libaio依赖库,因此需要安装:

    sudo apt-get install libaio-dev

  3. The HTTP proxy server specified by http_proxy is not accessible
    在执行sqlplus时可能遇到

    HTTP proxy setting has incorrect value
    SP2-1502: The HTTP proxy server specified by http_proxy is not accessible

    解决:这是http_proxy代理设置带来的,详细解释可以参考 http://web.stanford.edu/dept/itss/docs/oracle/10gR2/server.102/b14357/ch13.htm 

    Cause: The HTTP proxy server used by SQL*Plus cannot be accessed. SQL*Plus will be unable to run scripts located on a web server.
    Action: Check that the proxy setting has the correct value, or unset it if no proxy is needed. SQL*Plus may get the proxy name from the environment variable http_proxy, or the value may be set in another way on your system. Check that the given proxy server is operational. Most web browsers can be configured to use a proxy. Configure a browser to use the desired proxy and verify that web pages can still be loaded.

    我的解决办法是取消代理,或者

    unset no_proxy

Debian/Ubuntu安装Oracle客户端TNS的更多相关文章

  1. ubuntu 安装oracle客户端

    from: http://webikon.com/cases/installing-oracle-sql-plus-client-on-ubuntu Installing Oracle SQL*Plu ...

  2. 不安装oracle客户端,用plsql连接oracle

    常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多( ...

  3. 不安装oracle客户端也可以使用pl/sql developer

    通常情况下,用PL/SQL Developer连接Oracle是需要安装Oracle客户端软件的,这也就意味着你的硬盘将被占用大约1G-2G的空间,对于Windows操作系统来说,你还会多出一些开机自 ...

  4. .net远程连接oracle数据库不用安装oracle客户端

    asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...

  5. .net远程连接oracle数据库不用安装oracle客户端的方法

    .net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...

  6. C# 不安装Oracle客户端情况下,如何连接到Oracle数据库

    简介: 在我们开发应用场景经常碰到需要连接Oracle数据库,这也是相当常见的一种情况.一般.Net环境连接Oracle数据库,可以通过TNS/SQL.NET 配置文件,而 TNS 必须要 Oracl ...

  7. CentOS7 安装oracle客户端

    1.本机环境CentOS7 64 [root@localhost etc]# uname -a Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 ...

  8. C# 连接Oracle数据库,免安装oracle客户端

    一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...

  9. PL/SQL TOAD 不安装Oracle客户端连接数据库的方法

    不安装Oracle客户端连接数据库的方法 本机环境: win7 64位中文旗舰版 一.准备工作: 1)到ORACLE官网下载instantclient,下载地址:http://www.oracle.c ...

随机推荐

  1. Angular - - ngInclude、ngTransclude

    这两个都是HTML DOM嵌入指令 ngInclude 读取,编译和插入外部的HTML片段. 格式:ng-include=“value”<ng-include src=”value” onloa ...

  2. LINQ to Sql系列二 简单查询和联接查询

    这一篇文章主要总结LINQ to sql的简单查询(单表查询)和联接查询(多表查询) 单表查询 需求是我们要输出TClass表中的结果.使用了from-in-select语句,代码如下: public ...

  3. Java中正则表达式的几种用法

    多数内容转载自:http://www.jb51.net/tools/regex.htm ,有改动 用到了java.util.regex包: 1. 验证 Pattern pattern = Patter ...

  4. 最简单的Linux虚拟机磁盘扩容方法

    思路:1.虚拟机增加磁盘容量: 2.将增加的磁盘容量增加到系统分区中: 准备阶段: 下载Gparted软件:https://sourceforge.net/projects/gparted/files ...

  5. 我为什么不看好微信小程序

    我自认为对新技术还是比较有热情的,可对于小程序这个“新技术”,我却完全是被动的.去年9月份的时候,微信小程序开始内测,瞬间引爆朋友圈.知乎等一众分享平台.当时我大概了解了一下,觉得从技术角度上来说没啥 ...

  6. HDU 1006 [Tick Tick]时钟问题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1006 题目大意:钟表有时.分.秒3根指针.当任意两根指针间夹角大于等于n°时,就说他们是happy的, ...

  7. 《JAVASCRIPT高级程序设计》表单基础知识和文本框脚本

    在HTML中,表单是由<form>元素来表示,在javascript中,表单对应的是HTMLFormElement类型,它具有一些独有的属性和方法: 一.表单基础知识 1.取得表单的方式 ...

  8. We Chall-Training: LSB-Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  9. css浮动(float,clear)

    1. 以div元素布局为例,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流,是指标准流中的div. 无论多么复杂的布局,其基本出发点均是:“如何在一行显示多个div元素”,显然标准 ...

  10. 2017<java技术>预备作业计科冀浩然

    1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 我期望的师生关系是相互融洽的,老师能够在上课的时候尽量多的教我们专业知识,可以尽量多和我们进行互动,课下能和我们如同朋友一般就可以了. 2.你 ...