Oracle 无监听程序解决办法(HZQ)
Oracle12.2监听无法启动解决方法

Oracle12.2监听⽆法启动解决⽅法在⾃⼰的虚拟机的做实验,突然发现使⽤PL/SQL Developer⽆法连接到数据库,报错ORA-12514,说是监听没有启动。
先介绍虚拟机⼀下环境:redhat7.2+GI 12.2.0.1+Oracle 12.2.0.1,为了测试12.2的ASM特性安装了GI。
平时监听程序默认是开启启动的。
但是今天不知道为什么没有启动。
使⽤crsctl查看资源状态:发现监听的状态确实是OFFLINE状态[root@rhel7 .oracle]# crsstat--------------------------------------------------------------------------------Name Target State Server State details--------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.DATA.dgONLINE ONLINE rhel7 STABLEora.LISTENER.lsnrONLINE OFFLINE rhel7 STABLEora.asmONLINE ONLINE rhel7 Started,STABLEora.onsOFFLINE OFFLINE rhel7 STABLE--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.cssd1 ONLINE ONLINE rhel7 STABLEora.diskmon1 OFFLINE OFFLINE STABLEora.driver.afd1 ONLINE ONLINE rhel7 STABLEora.evmd1 ONLINE ONLINE rhel7 STABLEora.ora12c.db1 ONLINE ONLINE rhel7 Open,HOME=/u01/app/oracle/product/12.2/db_home1,STABLE--------------------------------------------------------------------------------尝试⼿动启动监听,依然报错:[grid@rhel7 ~]$ srvctl start listenerPRCR-1079 : Failed to start resource ora.LISTENER.lsnrCRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-2674: Start of 'ora.LISTENER.lsnr' on 'rhel7' failed根据提⽰查看trc⽂件,看到如下报错:LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:03:28Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionSystem parameter file is /u01/app/grid/network/admin/listener.oraLog messages written to /u01/app/12.2/grid/diag/tnslsnr/rhel7/listener/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel7)(PORT=1521)))Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))TNS-12555: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00525: Insufficient privilege for operationLinux Error: 1: Operation not permittedListener failed to start. See the error message(s) above...看到Insufficient privilege for operation这个字样觉得很纳闷,怎么会权限不⾜呢,于是尝试⽤root直接启动监听,依然报错:[root@rhel7 .oracle]# lsnrctl startLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:22:30Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNS-12546: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00516: Permission deniedLinux Error: 13: Permission denied于是各种百度,下⾯把百度到内容列出来,可能会对看此⽂的同学有⽤,但是对我这种情况没有⽤:主要是说 /var/tmp/.oracle、/tmp/.oracle 这两个⽬录的权限访问问题。
oracle-其他机器链接提示无监听程序的解决方法

oracle:其他机器访问本机提示无监听程序的原因和解决方法--kernelboy 一、原因:在oracle安装路径中,D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 的文件夹中存在listener.ora和tnsnames.ora两个文件,如图其内容如下:其中本地监听和network监听均配置为localhost,所以导致在连接数据库是,本机可以连接,而远程机器则提醒:无监听程序。
二、解决方法:只要把两个文件中的所有localhost字样替换成本机的机器名或者是本机的ip地址即可。
1)找到本机机器名:右键桌面“我的电脑”->“属性”->“计算机名”:本机机器名为:“MICROSOF-7CC821”,不带后面的“.”号。
2)替换localhost3)重启oracle服务:打开计算机服务,把划红线的两个服务重新启动。
使用“sqlplus用户名/密码@ip:1521/实例名”即可登录到远程oracle。
三、总结:由于本地配置监听文件listener.ora和tnsnames.ora中为localhost,当远程访问时,远程机器读到的是localhost的ip,然后本机会把localhost的ip给远程机器返回(我怀疑是127.0.0.1,有待测试),所以远程计算机无法连接到本机的oracle。
四、提出问题:我想,如果两台计算机的实例名都一样(首先两台机器中oracle的其他配置也是一样的),(我设自己的机器为本机)当我访问远程机器时,远程计算机给我返回localhost的字样或者是(127.0.0.1),我突然就连接上oracle了,然而连接上的oracle不是远程计算机的oracle,而是我本机的oracle?(有待测试)谁测试过,可是分享一下。
mail:kernelboy@。
解决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监听服务无法启动问题解决

办法一:修改注册表
解决办法就是修改注册表,ImagePath
开始-->运行REGEDIT -->进入注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleXXXTNSListener
5.再启动Listener1监听服务,可以连接到数据库。
本文来自CSDN博客,转载请标明出处:/hittata/archive/2009/04/10/4061562.aspx
2.进入“命令提示符”,运行“监听控制程序——LSNRCTL”,再运行“start listener1”,首次启动Listener1监听程序,为Listener1在操作系统服务里生成相关服务项。为了后面的修改操作能够生效,再运行“stop listener1”停止Listener1。
3.将服务中原Listener服务的“启动类型”改为“已禁用”,将已生成的Listener1服务的“启动类型”改为“自动”。
4.用“记事本”打开监听服务配置文件“ORACLE_HOME \ network \ admin \ listener.ora”,将“LISTENER =”、“SID_LIST_LISTENER =”分别改为“LISTENER1 =”、“SID_LIST_LISTENER1 =”,并删除当前的“LISTENER1 =”、“SID_LIST_LISTENER1 =”项。该操作的作用为:不用费力为Listener1监听服务再配置常规参数、数据库监听等,直接采用原Listener服务的配置。
发现ImagePath关键值没有了,新建一个名为ImagePath的可扩充字符串值,编辑字符串的数值数据为:Oracle安装路径\BIN\TNSLSNR
oracle 监听无法启动

(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= test)(Port= 1521))
(CONNECT_DATA = (SID = oracle7))
)
)
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
2、 编辑$ORACLE_HOME/network/admin下的tnsnames.ora文件为:
(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
(ADDRESS= (PROTOCOL= TCP)(Host= test)(Port= 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME= test.)
(ORACLE_HOME= /usr/oracle/app/oracle/product/7.3.4)
(SID_NAME = oracle7)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBMThinkPad)(PORT = 1521))
)
)
)
当看到这一行HOST=IBMThinkPad的时候,问题解决了。原来是由于几天装好Oracle后,又改了Windows的计算机名,而这个配置文件中记录的监听主机名还是原来的名称,这也就怪不得,OracleOraHome90TNSListener服务无法启动了,马上修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功,PL/SQL Developer连接Oracle数据库成功,不能登陆故障排除。
Oracle监听启动时由“监听程序不支持服务”引出的一系列问题--解决方案

Oracle监听启动时由“监听程序不⽀持服务”引出的⼀系列问题--
解决⽅案
由于甲⽅服务器短缺,GB领导叫在⼀个数据库上建三个oracle实例,由于之前没尝试过这样做,故⽽在本地做了⼀下测试,新建完三个实例的时候重启监听程序,就报了“监听程序不⽀持服务”的错误(只想X狗)。
然后⽤plsql连接oracle服务端是连不上的,具体错误五花⼋门。
然后⽹上⼀顿查找,最终锁定是oracle的listerner.ora配置的不对(⾃⼰意淫是由于配置了多个实例,导致此⽂件在启动的时候不知道找哪⼀个实例了)
于是乎在listerner.ora最上边加上⼀⼩段配置,指定⼀下实例就⾏了。
然后重启⼀下监听。
⼀切正常,plsql也可以愉快的连接了。
希望有问题⼤家⼀起交流,⼀起进步,完结撒花~。
OracleTNS无监听程序

OracleTNS⽆监听程序
这个问题上次给单位服务器重启的时候也发现了,今天再次⼜出现了同样的问题。
上次没有记录,这次记录⼀下吧。
以免⾃⼰后⾯⼜忘记了。
打开的oracle读取的时候,会报错没有监听程序。
⼤部分帖⼦都是说去重新配置监听程序。
上次我查找这个问题也查找了半天,后来,才偶然看到⼀个帖⼦说,应该是⽇志⽂件太⼤了。
真是柳暗花明⼜⼀村啊。
于是赶紧查找路径,在diag/tnslsnr/⽬录下,有个listener.log⽇志。
我⼀看,居然4个GB了。
于是通过windows 服务,停⽌oracle监听服务器OracleOraDb11g_home1TNSListener 停⽌后,将listener.log改名备份。
再启动监听服务就可以了。
世界终于安静了。
如何解决oracle中监听无法启动找不到系统路径

如何解决oracle中监听无法启动找不到系统路径!2007-09-15 11:33今天上午,在登入oracle时空然我提示找不到监听.在启动监听服务时出现无法启动OracleOraHome92TNSListener服务错误3系统找不到指定的路径!从客户端连接到服务器,出现了这个错误,ora12541-TNS 没有监听器于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。
原因:Windows优化大师将Oracle的监听服务给优化了还有一种造成本地oracle无法启动的原因是安装时的主机名与当前主机名不同,也就是说安装完oracle后更改了主机名造成。
解决办法1;打开注册表(regedit)找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentContorlSet/Services/OracleOraHome92T NSListener找到后单击,在右侧里面单击右键,新建一个(可扩充字符串值)起名字为 ImagePath 在数值数据中写入C:\oracle\ora92\BIN\TNSLSNR 后退出注册表,重新启动即可。
(其中C:\oracle\ora92\BIN\TNSLSNR 是你oracle安装目录中的一个.exe文件:方法2:进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
启动监听器即可!进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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”,然后重启计算机。
参见上面的解决方法。