别人用PLSQL8,我用的是PLSQL7.
----------------
1、用plsql连不上oracle 11g(64位),先去下载一个oracle 11g(32位客户端)
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可以登录了。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
-------该文件其他地方我都没动过,其他文件如"tnsnames.ora"也没改动。
# listener.ora Network Configuration File: F:\oracle\admin\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
(ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = F:\oracle\admin