本文主要是介绍plsql远程访问数据库 解决ora-12541:TNS:无监听程序最佳方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
很奇怪我只是 在本机局域网ip 不固定 ,现在把所有的ip 都固定了,一直报这个错,百度无解,都是错的 不可行的,还是我打开的方式有问题??????昨晚搞到我又把本机装的 oracle 给卸载完了 !!!又装虚拟机,虚拟机又装oracle 配了配了。。。。。。。。。。。
刚刚终于搞定了,跑起来了 !!!!!!!能连接了。
来一张连接图
plsql远程访问数据库 解决ora-12541:TNS:无监听程序
本机为win7 32位系统,为了学习oracle,装了个vbox虚拟机,再装了个win7虚拟机,内装oracle 11g(win7如果要装10g,要选择vista版本,win版本会安装报错).oracle11g安装完后有报了个错误,当时没注意,现在也忘了什么 错了,但是不影响使用.后来想在本机安装plsql来远程连接虚win7上的oracle.查了一些资料,步骤如下:
1.下载plsql,安装.
2.下载Instant Client,点击下载,下载第一个basic就行了,下载完解压缩,以放到主win7 d盘根目录为例:d:\instantclient_11_2
3.在d:\instantclient_11_2新建tnsnames.ora,用记事本编辑.
4.到虚win7上的oracle安装目录找到 …\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,打开,比如数据库实例是orcl,找到如下代码,拷贝到本机d:\instantclient_11_2\tnsnames.ora里
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 虚拟机IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
5.添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径d:\instantclient_11_2\tnsnames.ora,plsql通过这个找到orcl连接字符串
6.添加一个环境变量NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
7.打开PLSQL,不用登陆,工具-首选项-ORACLE-连接:
勾选检查连接
Oracle主目录: d:\instantclient_11_2
OCI库: d:\instantclient_11_2\oci.dll
经过以上几步之后,重启PLSQL,问题来了,报错:ora-12541:TNS:无监听程序. ping是可以ping得通的,虚win7上的监听也开着.经过不懈的努力,多次试验终于解决了:
1.虚拟机网络选择桥接,并在虚拟机内网络连接IPV4设置静态IP
IP地址:192.168.1.111 (111可修改成自己的 1-255)
子网掩码:255.255.255.0
默认风头:192.168.1.1
首选DNS服务器:192.168.1.1
修改完记得主win7上 ping 192.168.1.111 ping得通再继续往后.
2.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
SID_NAME = CLRExtProc 改为 SID_NAME = orcl orcl是实例名
HOST = localhost 改为 HOST = 192.168.1.111
3.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
两处 HOST = localhost 改为 HOST = 192.168.1.111
SID = CLRExtProc 改为 SID = orcl
好了,重启oracle,监听,主win7上的plsql就可以远程连接虚拟机上的数据库了.--是要重启db,重启监听是没用的
这篇关于plsql远程访问数据库 解决ora-12541:TNS:无监听程序最佳方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!