plsql 连接 oracle 11g(64位)(window7)

来源:互联网 发布:优化大师软件有哪些 编辑:程序博客网 时间:2024/06/12 23:43

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

转自:http://zoutuo1986.iteye.com/blog/1629491

1、用plsql连不上oracle 11g(64位),先去下载一个oracle 11g(32位客户端)

http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip(需要登录)

或者 直接复制此连接

http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip
在迅雷中下载

2、安装客户端后,需要在plsql设置首选项中设置url,

tool-preferences-oracle-connection中

Oracle Home = “F:\oracleClient\admin\product\11.2.0”

OCI library = "F:\oracleClient\admin\product\11.2.0\client_1\oci.dl"

3、将oracle服务器端的文件夹"F:\oracle\admin\product\11.2.0\dbhome_1\NETWORK",copy到"F:\oracleClient\admin\product\11.2.0\client_1"下。

4、启动PL/SQL可以看到database下拉框的值啦。

5、接下来要修改"listener.ora",修改后必须重启TSNlistener服务。

修改过程中遇到种种麻烦:{

没修改、或修改错了,登录会报 ORA-12514 或者 ORA-28547

修改错了,TSNlistener服务重启失败,登录会报ORA-12541

}

报ORA-28547:是因为listener.ora中要去掉这句"(PROGRAM = extproc)"

网上说{

ORA-28547:连接服务器失败,可能是Oracle Net管理错误

将listener.ora中的(PROGRAM = extproc)这句注释掉就可以了。去网上找过,extproc是一个扩展的程序调用接口协议, 连接和调用外部的操作系统程序或进程用时会用到。

}

重启TSNlistener服务的命令为:lsnrctl stop 和 lsnrctl start

服务器与客户端都有listener.ora,都改吧,不过似乎只要改服务器的就可以了。

-------第二个SID_DESC就加的,终于plsql可以登录了。

Java代码  收藏代码
  1. SID_LIST_LISTENER =  
  2.   (SID_LIST =  
  3.     (SID_DESC =  
  4.       (SID_NAME = CLRExtProc)  
  5.       (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)  
  6.       (PROGRAM = extproc)  
  7.       (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")  
  8.     )  
  9.     (SID_DESC =  
  10.       (SID_NAME = orcl)  
  11.       (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)  
  12.       (PROGRAM = extproc)  
  13.       (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")  
  14.     )  
  15.   )  
 

 

 

 -------该文件其他地方我都没动过,其他文件如"tnsnames.ora"也没改动。

 

 

Sql代码  收藏代码
  1. # listener.ora Network Configuration File: F:\oracle\admin\product\11.2.0\dbhome_1\network\admin\listener.ora  
  2. # Generated by Oracle configuration tools.  
  3.   
  4. SID_LIST_LISTENER =  
  5.   (SID_LIST =  
  6.     (SID_DESC =  
  7.       (SID_NAME = CLRExtProc)  
  8.       (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)  
  9.       (PROGRAM = extproc)  
  10.       (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")  
  11.     )  
  12.     (SID_DESC =  
  13.       (SID_NAME = orcl)  
  14.       (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)  
  15.       (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")  
  16.     )  
  17.   )  
  18.   
  19. LISTENER =  
  20.   (DESCRIPTION_LIST =  
  21.     (DESCRIPTION =  
  22.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))  
  23.       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
  24.     )  
  25.   )  
  26.   
  27. ADR_BASE_LISTENER = F:\oracle\admin