码迷,mamicode.com
首页 > 数据库 > 详细

关于oracle 11g 64位及 plsql 共存的问题

时间:2015-01-23 19:46:32      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

因为 plsql 不支持 64位 oracle 客户端,所以plsql 必须使用 oracle 的 32位 instanclient 包。  解压缩后放一个目录,例如: D:\Oracle\instantclient_10_2 

ps: 用 10g 的32位 instantclient 包也可以连接 11g oracle 64位库

 

1、进 plsql 后,在首选项下设置  oracle home 的地址:D:\Oracle\instantclient_10_2, 同时设置 oci 的位置: D:\Oracle\instantclient_10_2\oci.dll

2、需要在系统的环境变量内设置 tns_admin, 值为 D:\Oracle\instantclient_10_2, 这让 plsql 启动时知道去哪找 tnsnames.ora 文件

3、环境变量还需要设置 nls_lang, 值为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK, 当然这根据你自己的数据库来

一般情况下这样后, plsql 就可以用了

 

如果此时登陆发现提示 无法解析指定的连接标识符,或类似的语句, 那多半是因为监听程序没设置好了。  默认监听程序的监听列表中不指定具体的oracle 实例是哪个, 碰到这种情况就把具体的监听实例描述加上就好了(红色那段), 具体原因不知道...   配置完后,记得去重启 oracle 的listener 服务。

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = d:\oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:d:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
   (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = d:\oracle\product\11.2.0\dbhome_1)
      (SID_NAME = ORCL)
   )
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Tyson-mac)(PORT = 1521))
(ADDRESS = (PROTOCOL = NMP)(SERVER = TYSON-MAC)(PIPE = ORAPIPE))
)
)

注意: 这个位于oracle 11g安装目录下的 listener.ora 文件, 例如:D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN

而不是 instantclient 下的, 因为oracle 的服务用的,指向的还是那边

关于oracle 11g 64位及 plsql 共存的问题

标签:

原文地址:http://www.cnblogs.com/zhenfei/p/4244868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!