前两天想用plsql连本地oracle,捣鼓了很久却一直报错,后来痛定思痛,终于找到了解决办法,现在分享一下过程中遇到的问题与最终的解决方式.
配置:plsql客户端,oracle client 9,oracle版本 11
记得没装oracle 版本 11以前,一直都用plsql连接远程数据库,那时候只需在oracle client 9的配置文件C:\Oracle\ora90\network\ADMIN\tnsnames.ora里面配置好远程数据库的地址信息即可,类似这样
后来装了oracel版本 11,这个配置文件突然就不灵了,网上查了下资料,原来是需要去oracle数据库的配置文件配置了,于是找到那个配置文件C:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\tnsnames.ora,没错,和上面客户端那个一模一样,不过注意把本地数据库地址添加上,如下图第一个地址ORCL
配置好后就可以再次连接远程数据库了,不过本地还连不上,还需要配置些东西,客户端那个同样的配置文件基本没用了.
下面连接本地数据库,在plsql的设置中设置主目录名和oci库,如下
好了,现在打开plsql登录,发现缺少监听程序,于是去监听程序配置文件添加本地地址,其实监听程序配置文件和上面的oracle 版本11的tnsnames.ora是同一个目录下,请看
现在打开listener.ora添加本地地址,如下
重启oracle listener服务OracleOraDb11g_home1TNSListener
现在再连,就可以连接上了.
总结:
oracle配置文件tnsnames.ora中不可出现与本地地址一样的名称,不然会报错,如两个orcl