用PL/SQL Developer在本机访问远程Oracle数据库提示:ORA-12541 TNS无监听程序

前几天在阿里云买了一个阿里云服务器,由于不咋懂Linux,选的是一个Windows2008的系统配置,这几天碰上双休,在云服务器上折腾了几天,把我平时常用的一些软件,一些常用的数据库都装了上去,由于配置不是很高,先是装了个mysql折腾了下,可是由于我是做oracle开发的,每天接触到的都是oracle,还是想着能不能在云端装个oracle数据库来折腾,然后今天吃完晚饭就尝试了下,没想到还真的成功了,而且运行起来还是蛮快的,下面就简单的介绍下oracle数据库的安装情况以及远程访问的设置方法。

我安装的是oracle 11g R2数据库,安装的阿里云服务器的配置如下:

处理器:Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz

安装内存(RAM):1.00GB

系统类型:64位Windows2008企业版

oracle数据库可以直接到oracle官网下载,这一点我很喜欢oracle,它的产品几乎都可以直接在其官网上下载来用,而且也不收你钱,所以这对我们个人学习来说非常便捷。下载了oracle安装包以后,由于我是Windows系统,安装很简单,我就不说了,按照安装向导一步步安装就好了。

云端安装好了oracle数据库以后,可以在云端用sql plus连一下,看看安装成功了没有,同时,对于用PL/SQL Developer做开发工具的人来说,也可以在云端装个PL/SQL Developer,用PL/SQL Developer连接下看看有没有问题,我在云端用PL/SQL Developer连接了,发现没有问题。可是,同样的,我在我的本机用PL/SQL Developer访问云端的oracle就出现了问题,一直提示:ORA-12541 TNS无监听程序。所以,后面我需要的就是处理这个问题,解决方法如下:

图1:oracle安装目录下listener.ora和tnsnames.ora文件

图1:oracle安装目录下listener.ora和tnsnames.ora文件

安装好了oracle数据库以后,我们进其安装目录下,找到NETWORK目录下ADMIN下的listener.ora和tnsnames.ora这两个文件,如上图1所示。

listener.ora文件默认内容

图2:listener.ora文件默认内容

图3:tnsnames.ora文件默认内容

图3:tnsnames.ora文件默认内容

分别打开listener.ora和tnsnames.ora文件,可以发现默认的其中的设置如上图2和图3所示,HOST后面的配置都是localhost,问题也就是出在了这里。解决方法是,将这里的localhost换成你的IP地址即可,比如IP是210.142.1.23,那么就写成HOST=210.142.1.23,上面两幅图的三处都要修改。

云端oracle数据库的配置修改好了以后,下面就是要解决PL/SQL Developer访问数据库的问题了,很多朋友不知道怎么设置用PL/SQL Developer访问数据库,本文我就不总结这个设置方法了。由于我开发oracle产品的时候需要使用很多oracle的软件,所以本机安装了oracle的开发套件oracle developer 10g,那么,下面我就直接在基于安装了developer 10g的基础上继续总结。

图4:找到DevSuitHome中的tnsnames.ora文件

图4:找到DevSuitHome中的tnsnames.ora文件

如果本机安装了oracle developer 10g,那么电脑上应该会有一个形如DevSuitHome_1这样的安装目录,如上图4所示,找到tnsnames.ora文件后,打开tnsnames.ora,然后在其中增加上图3中上半部分MYTEST后面的代码,LISTENER_MYTEST后面的不用添加,当然,添加的代码都是将localhost换成了云端服务器的IP地址,如下代码示意:

MYTEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 210.142.1.23)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mytest)
    )
  )

修改好了以后,保存文件,最好将云端的数据库服务重启一下,然后用本机的PL/SQL Developer连接访问测试下,发现测试正常,问题也就解决了。所以,这个问题的核心思路就是把原来配置中的localhost给替换成服务器的IP地址,就本人来说,我记不住IP地址,所以我就直接解析了一个yedward.net的子域名绑定上去,上面涉及到的IP地址我都用我的绑定域名代替了,这样也是可以的。

另外,本文中我安装的数据库是oracle11g,如果正在阅读文章的你也是安装的oracle11g,如果安装出现了问题,或者想要卸载oracle11g,那么可以参考下博客中的《oracle 11g完全卸载步骤》这一篇文章,希望对你有所帮助。

本文标题:用PL/SQL Developer在本机访问远程Oracle数据库提示:ORA-12541 TNS无监听程序

本文链接:http://yedward.net/?id=156

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章