今天突然来了学习oracle数据库的任务,那就开始了,但是网上找了很多资料,不然就不全面,不然那就是很多,大家都拷贝加拷贝,我就边配变试着这里下,暂时记下,为将来做打算嘛~
利用Instant Client ,不安装oracle客户端连接远程数据库的步骤
一)下载
到http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下载如下三个包:
instantclient-basic-win32-10.2.0.4.zip :这是最核心的包 (只下这个也可以)
instantclient-jdbc-win32-10.2.0.4.zip :包含JDBC Driver的包
instantclient-sqlplus-win32-10.2.0.4.zip :最简单的SQLPLUS包
将这三个包分别解压,然后内容放到D:\Oracle\instantclient_11_2下
(可选步骤:
从http://www.anysql.net/software/ociuldr.zip下载coiuldr.zip,解压后里面有windows,linux,
solaris三个版本,将ociuldr.exe 复制到D:\Oracle\instantclient_11_2,其中ociuldr.exe 是一个文本导出工具,具体参数可以参考http://www.anysql.net/ociuldr.html介绍)
二)设置环境变量:
NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN=D:\Oracle\instantclient_11_2\ADMIN
Path=D:\Oracle\instantclient_10_2;
三)保存以下内容为注册表文件ORA.REG,导入注册表(如果你的安装目录不一样,其自行修改相关部分)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
"ORACLE_HOME"="D:\\Oracle\\instantclient_11_2"
"ORACLE_SID"="MQY"
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1]
"ORACLE_HOME"="D:\\Oracle\\instantclient_11_22"
"ORACLE_HOME_NAME"="OraClient10g_home1"
"ORACLE_GROUP_NAME"="Oracle - OraClient10g_home1"
"ORACLE_SID"="MQY"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
"ORACLE_BUNDLE_NAME"="Enterprise"
"ORACLE_HOME_KEY"="SOFTWARE\\ORACLE\\KEY_OraClient10g_home1"
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1\OO4O]
"CacheBlocks"="20"
"FetchLimit"="100"
"FetchSize"="4096"
"PerBlock"="16"
"SliceSize"="256"
"TempFileDirectory"="e:\\temp"
四)请把以下内容保存为tnsnames.ora,并保存到安装目录:E:\Oracle\instantclient_10_2\ADMIN
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
参数说明:以上参数中
databasename 数据库名称
Ip address 数据库服务器IP地址
例如我的oracle数据库服务器安装在192.168.1.101上,数据库名称为orcl,则tnsnames.ora内容设置如下:
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
关于tnsnames.ora多一点补充
databasename =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
(CONNECT_DATA =
(SERVER = hostname)
(SERVICE_NAME = wpsdb.huacai.com)
)
)
第一行开头不能有空格,那个wpsdb1是oracle数据库的实例名(ORACLE_SID)(有人说这个可以随便写我没试过。。。),
第二行无所谓,等号后留空即可
第三行很重要,HOST后面那个ip是oracle数据库所在的主机的ip,要是有域名解析的话可以用主机名,后面的那个port是oracle监听的端口,一般是1521(该端口可在oracle主机上用命令netstat -ntlp|grep tnslsnr查看)。
第四行无所谓,留空值即可
第五行那个oracle1是我的oracle的主机的主机名(可用命令hostname查看)
第六行很重要,网上很多资料说这个地方填oracle的sid,其实不然(我把oracle的sid值填上去后报错:ORA-12154 TNS:监听程序当前无法识别连接描述符中请求的服务),实际上这里应该填的是oracle的服务名,要查看这个服务名可在oracle主机上用oracle账户输入命令lsnrctl status查看,我的得到的执行结果里有这样几行:
Services Summary...
Service "wpsdb.huacai.com" has 2 instance(s).
Instance "wpsdb1", status READY, has 2 handler(s) for this service...
Instance "wpsdb2", status READY, has 1 handler(s) for this service...
对比上面SERVICE_NAME我添的值,应该不难判断你的服务名是什么了。
五)请把以下内容保存为sqlnet.ora,并保存到安装目录:E:\Oracle\instantclient_10_2\ADMIN
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
六)测试:
cmd运行D:\Oracle\instantclient_11_2>adrci.exe
会出现
ADRCI: Release 11.2.0.2.0 - Production on 星期三 5月 11 22:25:49 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
(还不知道对不对,等待检验。)
如果启动adrci时出现下面的错误:
ORA-12545: Connect failed because target host or object does not exist
试着把tnsnames.ora 中的host 改成IP地址.
这里都配置好之后一直联不通的话请先telnet要连接的服务器主机,看是否已经跟服务器联通。
在cmd命令行下>telnet xxx.xxx.xxx.xxx(服务器IP)
p.s.win7要启用telnet服务需要安装,请参见我的上一篇日志。
我就是一直连不通,弄了一天,结果是没有访问服务器的权限,被服务器防火墙拦住了
七)使用(还没使用过,下面纯属复制。。。)
SQL> conn tom/tom@jia
????
SQL> conn tom/tom@jia
????
SQL> select cout(*) from tab;
select cout(*) from tab
*
? 1 ?????:
ORA-00936: ?????
SQL> select count(*) from tab;
COUNT(*)
----------
54
SQL> conn tom/tom@//10.6.99.120:1521/jia
????
SQL> conn tom/tom@//10.6.99.75:1521/epras
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
??: ?????? ORACLE?
SQL>
SQL> exit
C:\instantclient10_1>ociuldr user=tom/tom@jia query="select * from tab"
3100 bytes allocated for column TNAME (1)
800 bytes allocated for column TABTYPE (2)
4100 bytes allocated for column CLUSTERID (3)
0 rows exported at 2005-08-05 12:36:08
54 rows exported at 2005-08-05 12:36:08
C:\instantclient10_1>ociuldr user=tom/tom@//10.6.99.120:1521/jia query="select *
from tab"
3100 bytes allocated for column TNAME (1)
800 bytes allocated for column TABTYPE (2)
4100 bytes allocated for column CLUSTERID (3)
0 rows exported at 2005-08-05 12:36:41
54 rows exported at 2005-08-05 12:36:41
C:\instantclient10_1>ociuldr user=tom/tom@075 query="select * from tab"
3100 bytes allocated for column TNAME (1)
800 bytes allocated for column TABTYPE (2)
4100 bytes allocated for column CLUSTERID (3)
0 rows exported at 2005-08-05 12:37:02
57 rows exported at 2005-08-05 12:37:02
C:\instantclient10_1>ociuldr user=tom/tom@//10.6.99.75:1521/epras query="select
* from tab"
Cannot connect as tom/tom@//10.6.99.75:1521/epras.
Connection failed. Exiting...
八)卸载方法:
1. 桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,
删除 ORACLE_HOME, TNS_ADMIN, NLS_LANG 三个变量,修改path变量,去掉D:\Oracle\instantclient_11_2目录。
2. 删除D:\Progra~1\instantclient_11_2 目录.
分享到:
相关推荐
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-basiclite-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-odbc-...
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-basiclite-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-jdbc-...
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.ziporacle-instantclient11.2-sqlplus...
Oracle Instant Client11.2.0.1.0 安装程序包含OCI/ OCCI、JDBC-OCI SDK(软件开发工具包),软件开发时所需的全部头文件和链接库。 此版本不支持 Pro*C/C++和.NET程序所需的Oracle Provider for OLE DB,如需支持...
安装"oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm"后,还需要确保系统环境变量配置正确,比如设置`LD_LIBRARY_PATH`来指向Oracle Instant Client的安装路径,以便系统能在运行时找到必要的库文件。...
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus...
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus...
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus...
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm client 安装包 rpm -> deb : sudo alien xxx.rpm
linux环境中的oracle客户端远程安装包 oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64....
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-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-basic-11.2.0.4.0-1.i386.rpm
这个压缩包"oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip"是Oracle Instant Client的SDK版本,适用于64位(x86_64)操作系统,版本号为11.2.0.1.0。 Oracle Instant Client SDK包含了开发Oracle数据库...
这个"oracle-instantclient.11.2.zip"压缩包包含了版本11.2的Instant Client,适用于那些希望在不安装完整Oracle数据库客户端的情况下进行数据库交互的用户。以下是对这个组件的详细介绍以及如何使用Navicat进行连接...
在本例中,我们关注的是"sqlplus 11.2 安装包 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm",这是一个针对64位Linux系统的RPM(Red Hat Package Manager)包,用于安装Oracle Instant Client的Basic...