`

win7-64位装oracle客户端-plsql连接数据库

 
阅读更多

64位的win7旗舰版sp1系统:

1、安装了oracle11gR2的64位服务器版本(按东软给的方法),并手工创建了实例及数据库,创建了监听。。而且自带的slq-plus能登陆(就用本机),说明服务器端的监听等网络配置应该没问题。

因为plsql是32位的,是9.0版中文的。也是不能加载64位的oci.dll(oracle的文件),需按网上的方法,下载instantclient-basic-win32-11.2.0.1.zip......(见uc浏览器的收藏网页)

或者,直接安装官网下载的32位客户端11gR1版本,win32_11gR1_client_32bit.zip,安装时,只选择安装instantclient(150多m大小),,,比如,安装路径位D:\app\dsd\win32\product\11.1.0\client_1

备注:客户端的连接配置文件tnsnames.ora及oci.dll就在D:\app\dsd\win32\product\11.1.0\client_1下

2、这步其实可以不做:plsql的选项-oracle连接中,要选择32位oracle客户端的主目录,(就是安装oracle时的主目录,如D:\app\dsd\win32\product\11.1.0\client_1”。)

和oci库(oci.dll,是oracle的一个调用接口)的路径,如:D:\app\dsd\win32\product\11.1.0\client_1\oci.dll

3、环境变量中的系统变量,也按网上方法改了下:确保path变量,含有D:\app\dsd\win32\product\11.1.0\client_1 ,这个path变量可以不加入oracle的32位客户端安装路径,且这变量已经自动含有了oracle的32位的客户端路径及64位的服务器安装路径。(因为本机先装了服务器版本,又装了客户端版本)

新建“TNS_ADMIN”变量,值为:D:\app\dsd\win32\product\11.1.0\client_1 ,这个变量必须建,否则仍然plsql仍然连不上,报同样错误。

新建“NLS_LANG”变量,值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK ,这个变量建立了,能把plsql登陆时报的英文错误变成了中文错误。zhs16gbk其实就是当oracle11g装好后,手工创建数据库时默认的数据字符集。

但此时,仍然是报错“ORA-12154: TNS: 无法解析指定的连接标识符”,本机的sqlplus能登陆,怀疑是oracle客户端的tnsnames.ora有问题,

然后,看下服务器中的监听配置文件listener.ora中的连接串:

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

发现host是计算机名,如上,是dsd-pc5,那么,客户机的oracle的client安装路径内的配置文件tnsnames.ora中的连接串中的host成服务器主机名(原来是127.0.0.1),如下:

DSD =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = lmsdsd)

再用plsql登陆,成功。。。

而且很奇怪,此时,再把tnsnames.ora中的host名改成127.0.0.1,plsql也能正常连接了。。

-------------------------------------------------------------------------

关键小结:问题的关键在于TNS_ADMIN变量,它的路径是哪个,就会导致开始菜单中的oracle下的Net Manager(本来是服务器端带的,instantclient客户端不带这个)指向哪个,对应修改的就是那个路径下的配置文件tnsnames.ora和listener.ora(监听配置文件)(客户端不需要监听),而且,也会导致plsql调用的oci.dll,tnsnames.ora就是那个路径下的。

而且,plsql登陆时,输入的数据库名,其实是网络服务名,即Net Manager配置的网络名(tnsnames.ora中连接串的第一行)。

或者说,在客户端,无Net Manager工具也不影响?关键是tns_admin变量值要指定32位的oracle客户端,还有就是tnsnames.ora中连接串参数要对。当然,前提是服务器端的端口已经监听,即服务器上的listener.ora内容要对。

备注:Net Configuration Assistant实际就是带向导模式的Net Manager,也是受tns_admin变量决定其修改哪个路径下的tnsnames.ora和listener.ora

Net Configuration Assistant中的“监听程序配置”,影响listener.ora文件和创建监听服务,其“本地网络服务名配置”,影响tnsnames.ora,其实,数据库服务器上不用配置“本地网络服务名配置”,除非你要在服务器本机上用plsql,但直接改服务器上的tnsnames.ora更方便?而且,前面已经说明,64位的服务器上必须装32位的oracle客户端,32位的plsq才能用(还得改tns_admin变量)

注意oracle服务端有个监听服务,在操作系统的服务管理中能看到。。如果监听服务被停,本机上用plsq,会提示无监听,网络上其他机子用plsql,会提示连接超时。服务器的监听服务是要添加一个监听后才有(安装好oracle11g服务器时没有监听服务),即Net Configuration Assistant进行添加一次监听即可(网络服务名无需添加)添加监听服务后,E:\app\dsd64\product\11.2.0\dbhome_1\NETWORK\ADMIN下仍然未生成listener.ora配置文件?生在了D:\app\dsd\win32\product\11.1.0\client_1下,因为tns_admin变量决定的,tns_admin变量路径下的listener.ora如果被删,会导致监听服务停止后,无法启动,报启动后停止。

tnsnames.ora中如果有多个相同的连接字符串,plsql启动时,可选的网络服务名就有多个。plsql调用的其实就是tns_admin变量指定路径下的tnsnames.ora和oci.dll

比如tnsnames.ora中有如下2个连接串,plsql登陆时,就会有dsd1和dsd2这两个网络服务名可选。

DSD1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = lmsdsd)

DSD2 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dsd-PC5)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = lmsdsd)

用虚拟机-32位xp证明,只需装oracle客户端11g的instantclient组件,然后设置tns_admin变量即可,plsql就能读取tnsnames.ora和调用oci.dll

在DBCA 建库(手工建库向导时),有提示让我们选择连接类型,这里有两种类型:Dedicated server 和 Shared server(专用模式 和 共享模式) ,

在tnsnames.ora中的连接串中,如果声明了(SERVER = DEDICATED),则连接服务器时就是专用模式(独占模式)

如连接串中还有(LOAD_BALANCE = yes),即负载平衡,则很可能使用了rac: Oracle RAC 集群示意图,RAC,全称real application clusters,译为“实时应用集群”

在安装oracle的数据库管理系统服务器版时,会提示是安装“单实例”还是rac:real application clusters

oracle基目录,比如:e:\app\dsd64 所有oracle产品的目录

oracle主目录,比如:e:\app\dsd64\product\11.2.0\dbhome_1 指oracle软件文件的位置

经试验,仅安装oracle的数据库管理系统服务器版,安装时,选只安装数据库软件,安装成功后,是没有监听服务的。(操作系统的服务列表中。)

服务器没配置监听时,E:\app\dsd64\product\11.2.0\dbhome_1\NETWORK\ADMIN下是没有配置文件的。

分享到:
评论

相关推荐

    instantclient-basic-win-x86-64-11.2.0.1.0

    win7+64位+Oracle+11g+64位下使用PLSQL+Developer+的解决法1)安装Oracle11g64位2)安装32位的Oracle客户端(instantclient-basic-win32-11.2.0.1.0)下载instantclient-basic-win32-11.2.0.1.0.zip(一定得是32位的...

    XP_Vista_Win7中安装Oracle客户端.txt

    XP_Vista_Win7中安装Oracle客户端.txt 如下方法 Windows XP Vista Win7中安装Oracle客户端 1.从Oracle官方下载“Instant Client Package”的软件,较好的实现了Oracle客户端绿化的解决方案。 下载地址为:...

    win7_oracle11g_64位连接32位PLSQL_Developer

    本文档提供64位客户机安装32位客户端并处理 中文乱码的情况。

    win7(64旗舰)/server2008(64)+Oracle11g如何使用PLSQL

    大型数据库oracle 11g 对plsql支持的不够64位 在server2008系统下不能使用 上传程序 包括 1。ORA-12154 TNScould not resolve the connect ...win7 64位操作系统,plsql怎么连接oracle数据库 包你会。用到的都打包了

    win7_x64_安装oracle10g_x64_和_PLSQL_Developer.doc

    win7x64下安装oracle数据库及客户端工具

    plsql-解压版

    Win7-64位+Oracle11.2g+使用PLSQL_Developer 的解决办法 1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是...

    win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解)

    plsqldev1104.zip 这个是plsql客户端,安装很简单。 win32_11gR2_database_1of2.zip win32_11gR2_database_2of2.zip 这两个是数据库的安装文件。下面我们就先解压这两个文件。 我在D:盘下创建了一个目录

    plsql32位win7/8/10

    plsql32位,内置插件CnPlugin,在根路径配置了oracle的简易客户端,环境变量配置 TNS_ADMIN 变量值:E:\PLSQLDeveloper\PLSQL\instantclient_11_2 NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 解压即可...

    plsql developer 64位破解版 v11.0.4.1788中文版

    plsql developer 64位是专为windows64位系统而开发的Oracle数据库存储程序单元开发工具,能够完美运行在64位winxp\win7\win8等平台上,为用户方便地创建你的客户端/服务器应用程序的服务器部分。plsql developer拥有...

    PLSQL10.2版本,附与win7,win864bit操作系统不兼容显示乱码的处理办法

    对于win7,win8,安装oracle数据库是件头疼的事,win7推荐11g,win8推荐12c,关于12c的客户端比较难找,该资源中给出官方的客户端资源链接,进去第一个就是,至于PLSQL这个软件,在win8上显示数据库内中文是乱码,并非服务器与...

    oracle 12c linux(centos 7 mini版) 安装.pdf

    4. windows 10 企业版,客户端有两个PLSQL Developer 13 (64 bit) 和 dbeaver-ee-6.1.0-win32.win32.x86_64(解压就可以使用,下载贼慢)dbeaver可以连接很多数据库 自己总结的,希望对鞋套有帮助

    PLSQL Developer 12.0.7

    plsql developer是一款Oracle数据库存储程序单元开发工具,能够完美运行在winxp\win7\win8等平台上,为用户方便地创建你的客户端/服务器应用程序的服务器部分。plsql developer拥有强大的编辑器,可以实现语法加强、...

    PLSQL 12.0.7 汉化注册版(内含程序汉化文件和注册码)

    plsql developer是一款Oracle数据库存储程序单元开发工具,能够完美运行在winxp\win7\win8等平台上,为用户方便地创建你的客户端/服务器应用程序的服务器部分。plsql developer拥有强大的编辑器,可以实现语法加强、...

    64位操作系统使用plsql

     windows 7 64位操作系统,安装数据库:win64_11gR2_database_1of2、win64_11gR2_database_2of2,  客户端:win32_11gR2_client,plsql8.0(目前只有32位)  问题:plsql登录时报错: Initialization error ...

Global site tag (gtag.js) - Google Analytics