Debian/Ubuntu安装Oracle客户端TNS
本文作为新手在Linux上部署Java程序的必经之路的Oracle客户端配置,请高手绕道。
- 确定服务器版本
首选确定你的Oracle服务器版本,以便下载相应的客户端。查看的sql如下:select * from V$version ;
如果你无法远程连上Oracle,只能登陆服务器了。
- 下载Oracle客户端
根据Oracle的版本,到 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载相应的客户端,我们一般会下载客户端和sqlplus,使用sqlplus连接或测试是非常方便的。如我下载的客户端版本是Version 12.1.0.1.0instantclient-basic-linux.x64-12.1.0.1.0.zip
instantclient-sqlplus-linux.x64-12.1.0.1.0.zipPS:
Instant Client 可以在不安装完整的 Oracle 客户端的情况下,运行你的 OCI、OCCI、Pro*C、JDBC 和 ODBC 应用程序。另外,Instant Client 支持 SQL*Plus。从 Instant Client 10.2 开始,可以通过 Instant Client SDK 用 OCI 和 OCCI 开发应用程序。
- 把上面的两个zip文件都解压到你制定的目录,我的目录是
/usr/kevin/instantclient_12_1/lib/
- 设置环境变量
你可以在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。
- 现在你可以进入
/usr/kevin/instantclient_12_1/lib/
执行sqlplus了
./sqlplus
但为了方便最好还是把sqlplus配置到PATH环境变量中,或者你在/usr/local/bin下建一个sqlplus的软连接。
- 配置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)
)
) - 配置完后就可以使用sqlplus测试你的配置是否OK。
PS配种过程中遇到的问题:
- 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环境变量,其值可以是被":"分开的多个路径。
- 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
- 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的更多相关文章
- ubuntu 安装oracle客户端
from: http://webikon.com/cases/installing-oracle-sql-plus-client-on-ubuntu Installing Oracle SQL*Plu ...
- 不安装oracle客户端,用plsql连接oracle
常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多( ...
- 不安装oracle客户端也可以使用pl/sql developer
通常情况下,用PL/SQL Developer连接Oracle是需要安装Oracle客户端软件的,这也就意味着你的硬盘将被占用大约1G-2G的空间,对于Windows操作系统来说,你还会多出一些开机自 ...
- .net远程连接oracle数据库不用安装oracle客户端
asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...
- .net远程连接oracle数据库不用安装oracle客户端的方法
.net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...
- C# 不安装Oracle客户端情况下,如何连接到Oracle数据库
简介: 在我们开发应用场景经常碰到需要连接Oracle数据库,这也是相当常见的一种情况.一般.Net环境连接Oracle数据库,可以通过TNS/SQL.NET 配置文件,而 TNS 必须要 Oracl ...
- CentOS7 安装oracle客户端
1.本机环境CentOS7 64 [root@localhost etc]# uname -a Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 ...
- C# 连接Oracle数据库,免安装oracle客户端
一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...
- PL/SQL TOAD 不安装Oracle客户端连接数据库的方法
不安装Oracle客户端连接数据库的方法 本机环境: win7 64位中文旗舰版 一.准备工作: 1)到ORACLE官网下载instantclient,下载地址:http://www.oracle.c ...
随机推荐
- js与php传递参数
这个问题在网页开发时经常遇到,其实解决办法非常简单,就是几行代码的事,不过各种js.php书上都没有,百度下来也乱七八糟的,有的能用,有的不能用.小编遇到这问题时认认真真研究了一上午,研究出一点心得, ...
- js原生设计模式——9外观模式封装
1.事件处理程序兼容性封装 <!DOCTYPE html><html lang="en"><head> <meta charset= ...
- easelJS - Cache_vday
easelJS - Cache_vday $(function() { init(); }); // Cache_vday var canvas; var stage; var container; ...
- UltraISO制作linux启动盘(包含写入不完整解决方法)
网上教程挺多,主要是自己记录一下.
- jQuery 在Table中选择input之类的东西注意事项
jQuery 在Table中选择input之类的东西注意事项: 如果不在td标签中,是不能进行正确选择的: <table id="tblFormId"> <tr& ...
- spring的value,null标签
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://ww ...
- POJ1273(最大流)
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 70451 Accepted: 2739 ...
- LCD驱动移植在在mini2440(linux2.6.29)和FS4412(linux3.14.78)上实现对比(deep dive)
1.Linux帧缓冲子系统 帧缓冲(FrameBuffer)是Linux为显示设备提供的一个接口,用户可以将帧缓冲看成是显示内存的一种映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作 ...
- 源码(09) -- java.util.Arrays
java.util.Arrays 源码分析 ------------------------------------------------------------------------------ ...
- (求租仓库)navigationController .navigationBar 的属性设置
需要做成的效果如下图的