plsql远程访问数据库 解决ora12541:TNS无监听程序
PlSql在连接数据库时提示ora-12541:TNS:无监听程序。

PlSql在连接数据库时提⽰ora-12541:TNS:⽆监听程序。
解决⽅法:
1相关服务可能没有启动
我⾃⼰测试的是启动OracleOraDb11g_home1TNSListener后数据库便可以连接了,在启动OracleDBCConsoleorcl时提⽰我
”Windows不能在本地计算机启动0racleDBConsoleorcl,有关更多信息,查阅系统事件⽇志。
如果这是⾮Microsoft服务,请与服务⼚商联系,并参考特定服务错误代码2“
这个问题我没有去处理,因为上边listener服务启动后连接成功了,我也就没有继续往下尝试,⼤家⾃测,有问题的⼤家也可以在⽹上查找这⽅⾯问题
另外,还有⼀个地⽅需要处理,就是修改两个配置⽂件的ip地址为⾃⼰电脑的ip地址
从oracle的安装环境中找到network,如图:
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))修改localhost为⾃⼰电脑的ip (ip查看是⿊窗⼝ipconfig)
还有⼀种⽅法我个⼈觉得有些⿇烦,就不再展⽰了,⼤家可以参考这篇博客
补充:10⽉17⽇启动SQL plus再次出现上述问题,处理⽅法⼀样却⽆作⽤,最后⽤⿊窗⼝命令启动SQL plus空闲历程便可以了。
解决Oracle无监听错误

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
启动已经成功,
5.再tnsnames.ora上添加上
ORCL_127.0.0.1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 11:1
1:09
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
32-bit Windows Error: 49: Unknown error
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
2、查看Oracle的listener是否启动
oracle数据库ORA 12541TNS无监听程序 错误解决方法

C:\Documents and Settings\mengzhaoliang>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月
TNS-12560: TNS:协议适配器错误
TNS-00515:因目标主机或对象不存在,连接失败
32-bit Windows Error: 49: Unknown error
监听程序未能启动。请参阅上面的错误消息...
3、查看listener.ora的内容:
# listener.ora Network Configuration File:
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月
-2008 10:5
2:16
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr:请稍候...
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务PLSExtProc包含1个例程。
SQL*Plus: Release 10.2.0.1.0 - Production on星期六9月20 11:15:092008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
plsql连接oracle数据库报ora12154错误解决方法

plsql连接oracle数据库报ora12154错误解决⽅法plsql连接oracle数据库报ora 12154错误今天遇到⼀个问题,使⽤sqlplus能够连接到远程的数据库,但是使⽤plsql却连接不上,报错"ORA-12154: TNS: ⽆法解析指定的连接标识符":1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听客户端:tnsping <tns_name>服务器Linux下:#>lsnrctl status 查看监听状态#>lsnrctl start 启动监听2.通过Sql Plus连接⼀下试试,如果Sql Plus连接能成功,那就说明你的tnsnames.ora内容有错误我的问题就在别名dev_db前⾯有⼀个空格,这个可以通过⽂本编辑器(Edit Plus,UE等)来查看是否有空格,只要有空格那就肯定是不⾏的,⽽且如果那段内容是出现在⽂件的中间的话,将导致该⽂件⾥所有相应的连接别名都不成功,如果是在最后⾯就只有其⾃⾝连接别名不能成功,其他连接别名还是能连接成功。
(注:我的tnsnames.ora配置了多个数据库实例的连接,所有才有多个连接别名。
)如:空格复制代码代码如下:dev_db =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT = 1521)))(CONNECT_DATA =(SID = ora10)))3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN⽬录下的所有⽂件删了,然后重新连接,⼀般就能解决了。
说明⼀下:那个⽬录⾥的⽂件是在你建⽴连接的时候动态⽣成的,不要怕删了会有问题4.进⼊PLSQL Developer的主界⾯,在登录界⾯选择取消即不登录进⼊主界⾯,然后选择菜单Tools(⼯具)-Preferences(⾸选项),在设置窗⼝中,选择Oracle-Connection(连接),对应设置窗⼝中,找到Oracle Home(Oracle主⽬录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQL Developer,这时就可以正常登录了。
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务_监听程序不支持服务

ORA-12514:TNS:监听程序当前⽆法识别连接描述符中请求的服务_监听程序不⽀持服务今天⼤黄蜂同学重启虚拟机之后再链接数据库就报了这个错,先查看了⼀下监听的状态C:> lsnrctl status... ...服务摘要..服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...命令执⾏成功监听中的服务并没有数据库实例orcl,检查了⼀下listener.ora⽂件,配置并没有问题,怀疑是数据库启动时出了问题,导致监听并没有找到数据库服务,为了连上数据库,在listener.ora⽂件中强制添加orcl的监听SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll"))# 以下是添加部分(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)(SID_NAME = ORCL)))然后重启监听,让监听可以识别orcl服务C:> lsnrctl stop... ...C:> lsnrctl start... ...服务 "ORCL" 包含 1 个实例。
实例 "ORCL", 状态 UNKNOWN, 包含此服务的 1 个处理程序...命令执⾏成功然后连接Oracle数据库,尝试重启数据库C:> sqlplus sys/sys@127.0.0.1/orcl as sysdba... ...SQL> shutdown immediate;ORA-01034 - Oracle not availableORA-27101 - shared memory realm does not exist⽹上⼤部分说是ORACL_HOME或ORACLE_SID问题,可惜并不适⽤,后找到⼀篇说查看⽇志,⽇志路径位于ORACLE_HOME\database\ORADIM.LOG,⽇志中找到数据库启动时的报错信息如下:Tue Jun 21 15:10:17 2016D:\app\Administrator\product\11.2.0\dbhome_1\bin\oradim.exe -startup -sid orcl -usrpwd * -log oradim.log -nocheck 0Tue Jun 21 15:10:33 2016ORA-00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be set together继续查询报错信息ORA-00847,看起来是数据库系统参数设置的问题,先把pfile导出看⼀下SQL> create pfile from spfile;创建了之后宝宝傻眼了,不在ORACLE_HOME/dbs⾥啊!后来经查才知原来Windows下pfile的默认⽣成路径和linux下不⼀样,位于$ORACLE_BASE\admin\db_name\pfile然后打开pfile注释掉MEMORY_TARGET参数的设置...# memory_target=898629632...然后从pfile启动数据库,根据pfile⽣成spfileSQL> startup pfile='D:\app\Administrator\admin\orcl\pfile\init.ora.115201614250';SQL> create spfile from pfile='D:\app\Administrator\admin\orcl\pfile\init.ora.115201614250';然后便可以重启数据库了,最后将listener.ora还原,重启服务器,再查看监听状态就可以看到orcl服务正常了C:> lsnrctl status... ...服务摘要..服务 "CLRExtProc" 包含 1 个实例。
Oracle 无监听程序解决办法(HZQ)

ORACLE无监听程序解决办法
1ORA-12541: TNS: 无监听程序 (1)
2监听程序无法启动 (2)
1ORA-12541: TNS: 无监听程序
使用NetManager配置服务别名,或用PL/SQL Developer登录数据库时,系统报:ORA-12541: TNS: 无监听程序。
问题产生的原因可能是:
数据库的监听器没有启动。
解决办法是启动监听器即可。
更改了数据库服务器的IP或计算机名。
这个问题的解决办法有两种:
(1)使用sqlplus命令时,不使用“@指定服务”,默认会登录到本机,这时不
需要监听器启动。
例如使用scott用户登录:sqlplus scott/tiger
(2)修改监听器的配置文件“listener.ora”,然后重启监听器服务。
使用Windows查找功能查找到“listener.ora”文件,如果查找出多个相同文件名的文件,则修改“ADMIN”目录下的这个文件。
修改红色的部分,修改成自己机器的主机名。
然后重启计算机。
2监听程序无法启动
如果启动数据库监听器时启动不了,解决办法和上面一样,修改监听器的配置文件“listener.ora”,然后重启计算机。
参见上面的解决方法。
ORA-12541:TNS:无监听程序

ORA-12541:TNS:无监听程序
问题描述:现场一台测试服务器,安装有oracle11g(11.2.0.1),上午还运行正常,结果下午直接访问不了,提示错误:ora-12541 无监听程序问题。
问题排查:按照常规方法,重启监听程序以及数据库、重新配置监听程序均无作用,后来发现是listener.log日志文件过大(达到4G,据说这是oracle在windows系统下的bug)导致的。
问题解决:到oracle目录(该机器为D:\app\Administrator\diag\tnslsnr\WIN-
R4MNVAM7V2U\listener\trace),找到listener.log文件,进行删除即可。
注意:在删除listener.log文件之前,需要先停止监听程序,否则无法删除。
listener.log文件过大,没有进行打开分析,后续会分割日志文件查看其详细错误原因进行具体排查。
用plsql连接本地数据库时报ORA-12541:TNS:无监听程序

用plsql连接本地数据库时报ORA-12541:TNS:无监听程序用pl/sql连接本地数据库时报ORA-12541:TNS:无监听程序在dos窗口都能登录数据库,但通过PL/SQL登录是老是报 ORA-12541 或12154的错,在Oracl Net Manager 中也配置好了服务器命名和监听程序,查看系统配置文件系统参数文件为D:oracleproduct10.1.0db_1 etworkadminlistener.ora 和tnsnames.ora 也都对,这个问题浪费了我好大把时间,终于在下面这位大神的介绍中给解决了,其方法就是启动listener:运行->cmd启动dos窗口,执行lsnrctl stop关闭,lsnrctl start 启动。
重新登录就可以了!外地回来,登录pl/sql出现错误:ORA-12541:TNS:无监听程序。
1. 检查oracleproduct10.1.0db_1NETWORKloglistener.log:TNSLSNR for 32-bit Windows: Version 10.1.0.2.0 - Production on 04-1月 -2010 13:38:34Copyright (c) 1991, 2004, Oracle. All rights reserved.系统参数文件为D:oracleproduct10.1.0db_1 etworkadminlistener.ora写入D:oracleproduct10.1.0db_1 etworkloglistener.log的日志信息写入D:oracleproduct10.1.0db_1 etwork racelistener.trc的跟踪信息跟踪级别当前为0以 pid=7180 开始监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipe EXTPROCipc)))监听该对象时出错:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=http:///doc/d513815235.html,)(PORT=1521)))TNS-12542: TNS: 地址已被占用TNS-12560: TNS: 协议适配器错误TNS-00512: 地址已在使用32-bit Windows Error: 48: Unknown error不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipe EXTPROCipc)))2. Oracle的listener已经启动。
oracle数据库ORA-12541TNS无监听程序-错误解决方法

在用PL/SQL Developer连接数据库时出现“ORA-12541:TNS:无监听程序”错误。
1、检查listener.log日志发现下面错误:TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月-2008 10:25:26Copyright (c) 1991, 2005, Oracle. All rights reserved.系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息写入D:\oracle\product\10.2.0\db_1\network\trace\listener.trc的跟踪信息跟踪级别当前为0以 pid=1704 开始监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc))) 监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))TNS-12545: 因目标主机或对象不存在, 连接失败TNS-12560: TNS: 协议适配器错误TNS-00515: 因目标主机或对象不存在, 连接失败32-bit Windows Error: 49: Unknown error不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))2、查看Oracle的listener是否启动C:\Documents and Settings\mengzhaoliang>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月-2008 10:50:44Copyright (c) 1991, 2005, Oracle. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))TNS-12541: TNS: 无监听程序TNS-12560: TNS: 协议适配器错误TNS-00511: 无监听程序32-bit Windows Error: 2: No such file or directory正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))TNS-12535: TNS: 操作超时TNS-12560: TNS: 协议适配器错误TNS-00505: 操作超时32-bit Windows Error: 60: Unknown error原来没有启动listener,用“lsnrctl start”命令也不能启动。
连接plsql 无监听程序

今天用pl/sql时发现版本过期了,去网上搜了个注册码,当我再次登录时发现登录不了。
一直报无监听程序,网上找了很多方法都是口水,对于快速解决问题没什么用,最后自己捣鼓好了,与大家分享一下。
1、确定你在”服务“开启了监听程序控制面板-管理工具-服务一般开启两个就可以了OracleServiceORCL OracleOraDb11g_home4TNSListener (ps:我装的是oracle 11g)2、如果还有问题可点击开始找到从新配置即可。
以上两个步骤基本可以解决问题当然还有listener.ora 这个文件(路径F:\app\Administrator\product\11.2.0\dbhome_4\NETWORK\ADMIN)SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = F:\app\Administrator\product\11.2.0\dbhome_4)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:F:\app\Administrator\product\11.2.0\dbhome_4\bin\oraclr11.dll") ))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY =系统默认))(ADDRESS = (PROTOCOL = TCP)(HOST = 自己的ip4地址)(PORT = 端口默认1521))))ADR_BASE_LISTENER = F:\app\Administrator。
RHEL上oracle启动后 客户端PLSQL登录时报 12541 TNS 无监听程序

RHEL上oracle启动后,客户端PL/SQL登录时报“12541: TNS: 无监听程序”【问题】虚拟机上的RHEL安装oracle,在系统启动后,用客户端PL/SQL登录oracle时,报以下错误:但是,如果我们在主机终端上,使用sqlplus命令,又是可以连接到数据库的。
我先给出这个问题的原因:虚拟机连接到了internet上,并且其中某个网卡使用了DHCP,使得oracle在启动侦听程序时,主机名不匹配。
【虚拟机的网卡配置】先来看看问题的场景:本例中,虚拟机设置了三个网卡,分别是:其中,eth0、eth1使用的是静态地址,eth2是使用DHCP。
特别要注意到,eth2使用的DHCP,并且使用了NA T网段(实际上,如果将eth2设置为bridged 模式,也会出现本文开头处的错误,两者的原理是一样的)。
【ORACLE配置文件】我们先看一看oracle的配置文件:$ORACLE_HOME/network/admin/listener.ora文件:$ORACLE_HOME/network/admin/sqlnet.ora文件:$ORACLE_HOME/network/admin/tnsnames.ora文件:看起来ORACLE的配置文件完全正确的。
【侦听端口1521】我们看看1521端口是不是已经在侦听了:注意到这里在侦听时,出现了“localhost.localdomain”。
实际上,如果要允许其他主机的客户端能够访问这个端口,这里应该是“*”而不是主机名。
问题找到了。
【重启lsnrctl】执行以下命令重启一下侦听:lsnrctl stoplsnrctl start看看日志$ORACLE_HOME/network/log/listener.log:这里的HOST,怎么是bogon,而不是localhost.localdomain(在listener.ora中配置的)呢?【奇怪的RHEL登录欢迎页面】再回过头来看一看系统的控制台登录页面(实际上,用uname也可以看到这个奇怪的bogon):从虚拟机控制台,可以看到非常奇怪的欢迎词“bogon”。
解决ora-12541TNS无监听程序

解决ora-12541TNS⽆监听程序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_23.在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.ZHS16GBK7.打开PLSQL,不⽤登陆,⼯具-⾸选项-ORACLE-连接:勾选检查连接Oracle主⽬录: d:\instantclient_11_2OCI库: d:\instantclient_11_2\oci.dll经过以上⼏步之后,重启PLSQL,问题来了,报错:ora-12541:TNS:⽆监听程序. ping是可以ping得通的,虚win7上的监听也开着.经过不懈的努⼒,多次试验终于解决了:1.虚拟机⽹络选择桥接,并在虚拟机内⽹络连接IPV4设置静态IPIP地址: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.oraSID_NAME = CLRExtProc 改为 SID_NAME = orcl orcl是实例名HOST = localhost 改为 HOST = 192.168.1.1113.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora两处 HOST = localhost 改为 HOST = 192.168.1.111SID = CLRExtProc 改为 SID = orcl好了,重启oracle,监听,主win7上的plsql就可以远程连接虚拟机上的数据库了.。
用PLSQLDeveloper在...

用PLSQLDeveloper在...我在我的本机用PL/SQL Developer访问云端的oracle就出现了问题,一直提示:ORA-12541 TNS无监听程序。
所以,后面我需要的就是处理这个问题,解决方法如下:图1:oracle安装目录下listener.ora和tnsnames.ora文件安装好了oracle数据库以后,我们进其安装目录下,找到NETWORK目录下ADMIN下的listener.ora和tnsnames.ora这两个文件,如上图1所示。
图2:listener.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文件如果本机安装了oracle developer 10g,那么电脑上应该会有一个形如DevSuitHome_1这样的安装目录,如上图4所示,找到tnsnames.ora文件后,打开tnsnames.ora,然后在其中增加上图3中上半部分MYTEST后面的代码,LISTENER_MYTEST后面的不用添加,当然,添加的代码都是将localhost换成了云端服务器的IP地址,如下代码示意:修改好了以后,保存文件,最好将云端的数据库服务重启一下,然后用本机的PL/SQL Developer连接访问测试下,发现测试正常,问题也就解决了。
解决ORA TNS 监听程序当前无法识别连接描述符中请求的服务

解决ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务错误原因分析:检查监听,发现未设置对服务名的监听(默认安装后不自动设置监听)当你的tnsnames.ora 文件中的SERVICE_NAME没有向你想要连接的数据库服务器中的监听器注册的时候,就会出现这个错误信息。
如果你的客户端配置没有发生变化,那么数据库服务器配置就必须进行改变,否则你用来进行连接的SERVICE_NAME就永远不会注册到监听器。
注册到监听器的SERVICE_NAME是由数据库实例的service_names参数来决定的。
解决办法:1. 打开文件"OracleHome/network/admin/listener.ora" ,你将看到如下的内容SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc)))2. 将下面的语句添加到上面的语句中去。
(SID_DESC =(GLOBAL_DBNAME = ORCL2)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = ORCL2))3. 文件的内容则变成了如下所示SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = ORCL2)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = ORCL2)))4. 保存文件,然后重新启动监听服务就可以了!问题解决主动跟被动的关系1.是让listener主动加载服务,原因是添加(SID_DESC =(SID_NAME = orcl)(ORACLE_HOME = /data/cache1/oracleDB/oracle/product/10.2.0/db_2) )后,在使用lsnrctl start监听程序时会将listene的服务注册到进程监视器(pmon)中。
连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程

连接Oracle数据库时报ORA-12541:TNS:⽆监听程序的图⽂解决教程在⽤PL/SQL Developer等客户端⼯具连接oracle服务器时出现ORA-12541:TNS:⽆监听程序的错误,如下图:发现原来是oracle的监听没有启动,重启监听后就连接成功了,下⾯跟⼤家分享⼀下如何启动oracle的监听。
1.在安装Oracle服务器的主机上,打开Net Configuration Assistant2.选择监听程序配置,下⼀步3.选择重新配置,下⼀步 4.选择监听程序,默认,下⼀步 注:如果你的监听已启动,则出现提⽰框,选择是 5.选择协议,使⽤默认的TCP协议,下⼀步 6.选择端⼝号,使⽤标准端⼝号1521,下⼀步 7.不配置另⼀个监听程序,选择否,下⼀步 8.监听程序配置完成,下⼀步 重配服务名,测试连接 1.选择Net服务器配置,下⼀步 2.选择重新配置,下⼀步 3.选择数据库名,下⼀步 4.填写服务名,也就是你创建数据库时的全数据库名,下⼀步 5.选择TCP协议,下⼀步 6.填写主机名(可填写你的IP地址,也可填写你的主机名),使⽤标准端⼝号1521,下⼀步 7.进⾏测试,下⼀步 8.选择更改登录 9.填写⽤户名和⼝令,确定 10.测试连接成功,下⼀步 11.⽹络服务名,默认(和之前的数据库名⼀样),下⼀步 12.不配置另⼀个Net服务名,选择否,下⼀步 服务名配置完毕,下⼀步,完成 启动PL/SQLDeveloper,输⼊⽤户名和⼝令,登录成功以上所述是⼩编给⼤家介绍的连接Oracle数据库时报ORA-12541:TNS:⽆监听程序的图⽂解决教程,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
在此也⾮常感谢⼤家对⽹站的⽀持!。
oracle数据库ORA-12541TNS无监听程序-错误解决方法

不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
2、查看Oracle的listener是否启动
C:\Documents and Settings\mengzhaoliang>lsnrctl status
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
4:40
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
8、查看listenser状态:
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务的解决方法早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。
也许你没有遇到过,原因如下:你oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题。
而一旦你和我同事一样,有时把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题。
如下图如下是解决思路:根据出错信息判断出客户端未监听到实例服务名1、通过重启服务的方式启动数据库,再次连接仍无法连接服务器。
2、既然第一种方法不能解决问题,那就第二种方法。
考虑监听listener.ora监听配置文件listener.ora中可以不必指定监听的服务名(安装Oracle10g后也是没有指定的)。
正常情况下一般只要数据库启动,客户端连接数据库也没有什么问题,但是有时重复启动关闭也会出现ORA-12514错误。
既然listener.ora中没有指定监听,我们可以在listener.ora文件中指定监听的实例名,这样该问题应该可以连接。
步骤如下:在oracle服务器Oracle安装目录(我的在E:\Oracle10g下,每个人的不一样,根据自己的情况查找)Network/admin目录下找到listener.ora 我的如下图所示# listener.ora Network Configuration File:E:\Oracle10g\network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = E:\Oracle10g)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = E:\Oracle10g)(SID_NAME = ORCL)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = onest)(PORT = 1521)) ))标红的为我添加的部分,ORCL为监听的实例名。
oracle解决“OORA-12541 TNS 没有监听器”问题的实验

20、解决“ORA-12541 TNS no listener”问题的实验
问题描述:在客户端连接数据库时,经常会出现“ORA-12541:TNS:no listener”错误信息,这是什么原因造成的呢?
问题分析:这类错误往往与Oracle监听器有关,需要从目标服务器的监听器启动或配置入手,或者是网络的问题。
1、检查监听器是否已启动,没有启动就启动一下。
可以使用lsnrctl>status <listener_name>
检查监听器的状态。
2、检查监听器已经启动并监听指定的地址,查看监听器文件listener.ora文件。
如果改变
了监听器文件或者通过NETCA改变了监听器的配置,一定要重启监听器:lsnrctl>reload 一般要静态注册一下数据库服务,如:
(SID_DESC=
(GLOBAL_DBNAME= orcl)
(ORACLE_HOME=c:\oracle\product\10.2.0\db_1)
(SID_NAME=orcl)
)
3、保证网络连接畅通
如果监听器已经启动,而且配置正确,但问题一直存在,此时要检查网络连接是否正常,协议是否正确。
一般来说主机要使用明确的IP地址,尽量不要使用计算机名,因为网络中往往有重名或者解析时容易出错。
如果ping没问题,再用tnsping来测试Oracle数据库前端与数据库之间的连接是否畅通。
如果是本机连接,可以使用ipconfig查看,如果不能正确显示,说明网络有问题,,可以将listener.ora中的HOST=主机名改为HOST=127.0.0.1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本机为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就可以远程连接虚拟机上的数据库了.。