在WIN平台上,需要使用PLSQL Developer访问同主机的ORACLE,PLSQL是不支持64位的,需要设置ORACLE_HOME与OCI的地址,同时配置TNS_ADMIN到ORACLE的32位客户端,
但这样会导致ORACLE本身数据库服务启动时也受影响,应该是LISTEN的原因。
解决方法有两种:
1、更改32位的tnsnames.ora,增加:
LISTENER_TDATA =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
但这种方法感觉不合理,而且这个名称不能更改也比较郁闷,
2、分析应该是ORACLE找不到LISTENER_TDATA这个名,用终极办法:
SQL> create pfile=‘c:\mypfile.ora‘ from spfile;
File created.
打开mypfile.ora,修改以下行:
*.local_listener=‘LISTENER_TDATA‘
改为:
*.local_listener=‘(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)))‘
SQL> create spfile from pfile=‘c:\mypfile.ora‘;
用pfile生成新的spfile文件。
重启ORACLE即可解决。