“ORA-12541TNS无监听程序”错误解决
解决ORATNS监听程序当前无法识别连接描述符中请求的服务
解决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无监听错误
例程 "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数据库TNS常见错误的解决方法
讲解Oracle数据库TNS常见错误的解决方法育龙网WWW.CHINA-B.C0M 2009年08月13日来源:互联网育龙网核心提示: 1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。
若是前者,使用命令net start OracleOraHome10gTNSListener即可;1、ORA-12541:TNS:没有监听器因:没有启动监听器或者监听器损坏。
若是前者,使用命令net start OracleOraHome10gTNSListener即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可2、ORA-12500:TNS:监听程序无法启动专用进程或ORA-12560:TNS:协议适配器错误因:ORACLE的服务没有启动。
使用命令net start ORACLESERVICEORADB即可。
如果仍没有解决,请继续向下看。
3、如果数据库服务启动失败,则很有可能是其项值损坏,最好的做法是以下两步:1)ORADIM -DELETE -SID oradb 删除数据库服务项2)ORADIM -NEW -SID oradb 新增数据库服务项注:这个过程中如果出错,就重启计算机!4、ORA-12154:TNS:能解析服务名因:ORACLE的网络服务名没有正确配置。
请使用“Net8 Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。
如果仍没有解决,请继续向下看。
5、ORA-1034 :TNS:ORACLE不可用因:ORACLE的数据库服务正确启动,但是数据库没有打开!使用命令:1)svrmgrl 启动服务管理器2)connect internal 以internal身份登陆3)startup 打开数据库6、ORA-12560:TNS:协议适配器错误因:未知。
解决:必杀技打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写自己的ora_startup.bat,执行之!PS:1、ora_startup.bat:net start OracleOraHome81TNSListenernet start ORACLESERVICEORADBsvrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。
ORA-12514ORA-12541 ORA-12154 忘记密码 锁住用户 解决方案
今天整个一天我都在oracle中晃悠,修复PLSQL无法登陆的问题,到现在终于解决了。
感觉走了很多弯路,希望在这里能给大家一些帮助。
指导一下大家解决:忘记密码、用户被锁住,登陆时出现的ORA-12154 TNS无法解析指定的连接标识符、ORA-12514 TNS:监听进程不能解析描述符和ORA-12541 无监听程序。
这三类错误是经常见的,命名都十分相似。
下面我们来一一解决。
首先我要申明,这里提供多种解决方式,因为每个人电脑环境都不一样,造成这种错误的原因也各不相同,所以大家多尝试肯定会解决你的问题。
第一个问题:忘记密码怎么办?用户锁住了怎么办?1进入cmd2 sqlplus / as sysdba3alter user sys identified by 新密码;(例如:alter user scott identified by tiger) 这句话的意思是将scott用户的密码设置成by后面的字符串tiger。
当然你也可以新建一个用户,步骤如下1 进入cmd2sqlplus / as sysdba或者sqlplus sys/密码as sysdba3 create user 用户名identified by 密码;4grant connect,resource to 用户名;5 conn 用户名/密码说明:如果第5步可以连接成功说明,用户建立成功,就可以用这个用户登录了。
提示:这里的输入口令,你只要输入就可以,它不会显示出来的,输入完密码之后按下Enter就可以了,出现连接到:就说明成功连接数据库。
那么我们用刚刚修改了密码的scott登录时候出现了,用户锁住了,我们可以用sys登录,然后使用Alter user scott account unlock;出现用户已更改,说明解锁成功,可以使用scott用户登陆了。
这样对于密码的问题,我们就已经解决了。
---ORA-12154 TNS无法解析指定的连接标识符。
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”,然后重启计算机。
参见上面的解决方法。
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”命令也不能启动。
Oracle数据库TNS常见错误解决方法
Oracle数据库TNS常见错误解决方法收藏1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。
若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路OK。
在添加之前可能需要把所有的监听器先删!)2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误原因:ORACLE的数据库服务没有启动。
使用命令net start ORACLESERVICEORADB(ORADB为数据库名字)即可。
如果仍没有解决,请继续向下看。
3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:1)ORADIM -DELETE -SID oradb 删除数据库服务项2)ORADIM -NEW -SID oradb 新增数据库服务项注:这个过程中如果出错,就重启计算机!4、ORA-12154:TNS:能解析服务名原因:ORACLE的网络服务名没有正确配置。
请使用“Net8 Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。
如果仍没有解决,请继续向下看。
5、ORA-1034 :TNS:ORACLE不可用原因:ORACLE的数据库服务正确启动,但是数据库没有打开!使用命令:1)svrmgrl 启动服务管理器2)connect internal 以internal身份登陆3)startup 打开数据库6、ORA-12560:TNS:协议适配器错误(顽固性的)原因:未知。
解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写自己的 ora_startup.bat,执行之!PS:1、ora_startup.bat:net start OracleOraHome81TNSListenernet start ORACLESERVICEORADBsvrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。
在oracle设置ODBC及出现oracle提示TNS无监听程序的解决办法
在oracle设置ODBC及出现oracle提示TNS:无监听程序的解决办法设置ODBCODBC的全名是Open Database Connectivity(开放式数据库连接),是应用程序连接数据库的接口。
由于计算机的类型不同,从个人计算机到大型主机,都有自己处理数据的方式,ODBC则可以连接到相同或不相同的数据库管理系统,因此,ODBC可以给应用程序提供相同的存取数据库的接口,程序设计员在设计连接不同数据库时,只要处理与ODBC的连接就可以了,而不必针对不同的数据库设计完全不同的程序。
特别需要提醒的是,不同的数据库都有自己对应的ODBC驱动程序,在使用不同数据库的同时,务必设置正确的ODBC驱动程序。
就像在本节中,想要连接Oracle 10g数据库,就必须设置Oracle ODBC驱动程序,操作步骤如下:(1)选择Start→Programs→Oracle-OraDb10g_home1→Configuration and Migration Tools→Microsoft ODBC Administrator(2)打开ODBC Data Source Administrator,(3)单击System DSN标签(4)单击Add按钮(5)向下拖动滚动条,找到Oracle in OraDb10g_home1选项,选择该选项(6)单击Finish按钮,进入Oracle ODBC Driver Configuration对话框Data Source Name:自定义,程序调用时将使用这个名称,请输入misdbdsn。
TNS Service Name:Oracle TNS服务名称,在创建数据库时,一般默认TNS服务名称与数据库名称相同,请输入MISDB,读者也可以自定义。
User ID:用户的账户名称,这里使用System账户来测试。
(7)单击Test Connection按钮,出现Oracle ODBC Driver Connect对话框,如图13-10所示。
连接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-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就可以远程连接虚拟机上的数据库了.。
Oracle 10G数据库中ORA-12541 TNSno listener报错解决办法
查看文章Oracle 10G数据库中"ORA-12541: TNS:no listener"报错解决办法2007年09月29日星期六02:571、在计算机开始--->管理-->服务中没有看到OracleOraHome92TNSListener 服务,但服务已经启动2、C:\>lsnrctl start执行完后报open service error。
然后在计算机开始--->管理-->服务中看到了OracleOraHome92TNSListener 服务3、运行regedit.exe启动注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/下的Services和CurrentControlSet/Services下找到OracleOraHome92TNSListener项,在右边窗口按右键,新建/字符串,取名ImagePath。
双击新见的建,在“数值数据”项输入D:\oracle\ora92\bin\TNSLSNR.EXE(根据你自己的实际情况进行修改),确定完成。
再次在服务中双击打开OracleOraHome92TNSListener的服务看到其“可执行文件的路径”一栏已经显示了其正确的值。
这时你可以启动监听了。
4、C:>tnsping 数据库SID。
看看tns服务没有起来。
如果没有起来,用下面的命令c:\>lsnrctllsnrctl>start把这个服务起动起来。
c:\>lsnrctl start后open service error错误消失,但例程中有一个状态为UNKNOWN,另一个为READY.命令执行成功。
PL/SQL Developer连接Oracle报错:ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务解决办法:首先重启下对应的数据库监听服务(OracleOraDb10g_home1TNSListener)和数据库服务(OracleServiceORCL),如果还没解决,就按下面的进行操作:1.打开%Oracle安装目录%/network/admin/listener.ora文件(C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora)2.添加:(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)(SID_NAME = ORCL))3.最后文件改成SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)(SID_NAME = ORCL)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = zyk)(PORT = 1521)) ))以上粗体部件为增加的内容,修改后重启监听服务后即可。
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。
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文件过大,没有进行打开分析,后续会分割日志文件查看其详细错误原因进行具体排查。
oracle数据库ORA 12541TNS无监听程序 错误解决方法
Authentication
SNMP OFF
监听程序参数文件D:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件D:\oracห้องสมุดไป่ตู้e\product\10.2.0\db_1\network\log\listener.log
系统参数文件为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的跟踪信息
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
-2008 11:1
1:09
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
服务摘要..
服务PLSExtProc包含1个例程。
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务解决
ORA-12514:TNS:监听程序当前⽆法识别连接描述符中请求的服务解决环境: 11g R2 + PL SQL Developer + SQL Plus问题:Oracle主服务和监听器服务已经启动,使⽤SQL Plus能够正常连接,使⽤PL SQL Developer连接报次错误:ORA-12514: TNS: 监听程序当前⽆法识别连接描述符中请求的服务。
如图:解决:打开H:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(不同机器⽬录可能不同)⽬录下的listener.ora⽂件,发现此⽂件内容如下:1. #listener.ora Network Configuration File:2. H:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora3. #Generated by Oracle configuration tools.4.5. SID_LIST_LISTENER=6. (SID_LIST =7. (SID_DESC =8. (SID_NAME = CLRExtProc)9. (ORACLE_HOME =H:\Oracle\product\11.2.0\dbhome_1)10. (PROGRAM = extproc)11. (ENVS ="EXTPROC_DLLS=ONLY:H:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")12. )13. )14.15. LISTENER=16. (DESCRIPTION_LIST =17. (DESCRIPTION =18. (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))19. (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))20. )21. )22.23. ADR_BASE_LISTENER= H:\Oracle修改成如下内容(注意红⾊部分的内容):#listener.ora Network Configuration File:H:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora#Generated by Oracle configuration tools.SID_LIST_LISTENER=(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME =H:\Oracle\product\11.2.0\dbhome_1)(SID_NAME = ORCL))(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = H:\Oracle\product\11.2.0\dbhome_1)(PROGRAM = extproc)(ENVS ="EXTPROC_DLLS=ONLY:H:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")))LISTENER=(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))))ADR_BASE_LISTENER= H:\Oracle说明:每台电脑的Oracle安装⽬录和实例名不尽相同,修改此⽂件的ORACLE_HOME(本机Oracle安装⽬录)和SID_NAME应该按照你⾃⼰的设置。
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”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
5. 关闭后再启动listener
运行->cmd启动dos窗口,执行lsnrctl stop关闭,lsnrctl start启动。
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
将(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
改为(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
2. Oracle的listener已经启动。
3. 查看oracle\product\10.1.0\db_1\NETWORK\ADMIN\listener.ora
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora
改为(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
是计算机名
127.0.0.1也就是目前数据库正在用的ip地址。
4. 查看oracle\product\10.1.0\db_1\NETWORK\ADMIN\tnsnames.ora
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)))
找到下列语句:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
)
(CONNECT_DATA =
TNSLSNR for 32-bit Windows: Version 10.1.0.2.0 - Production on 04-1月 -2010 13:38:34
Copyright (c) 1991, 2004, Oracle. All rights reserved.
系统参数文件为D:\oracle\product\10.1.0\db_1\network\admin\listener.ora
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
)
)
)
把(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))
TNS-12542: TNS: 地址已被占用
TNS-12560: TNS: 协议适配器错误
TNS-00512: 地址已在使用
32-bit Windows Error: 48: Unknown error
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc)))
写入D:\oracle\product\10.1.0\db_1\network\log\listener.log的日志信息
写入D:\oracle\product\10.1.0\db_1\network\trace\listener.trc的跟踪信息
跟踪级别当前为0
ቤተ መጻሕፍቲ ባይዱ
以 pid=7180 开始
“ORA-12541:TNS:无监听程序”错误解决
* @author iam00@
* @version 1.0
* @2010-1-4
外地回来,登录pl/sql出现错误:ORA-12541:TNS:无监听程序。
1. 检查oracle\product\10.1.0\db_1\NETWORK\log\listener.log: