Oracle监听器服务不能启动的问题

合集下载

浅析oracle监听无法启动

浅析oracle监听无法启动
标题:浅析oracle监听无法启动
本人机器上经常会调试多个项目的系统,各个应用环境不尽相同.
多次遇到oracle监听无法启动的问题,总结下来与大家分享:
1、服务器参数配置问题,如改变的IP、服务器名称(具体改了什么会造成无法监听取决于你的配置文件里用的是机器名还是IP还是域名)
2、安装了系统补丁,从而改变ORACLE服务的方式
TRACE_FILE_LISTENER = "listener"
lsnrctl stop
lsnrctl start
之后得到文件:/tmp/listener.trc看ቤተ መጻሕፍቲ ባይዱ没有异常信息?
三、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:
1)ORADIM -DELETE -SID oradb 删除数据库服务项
3、文件破坏、"病毒"等问题造成
一、最简单的解决办法,重建listener.ora(可以用图形界面,也可以直接修改文件内容)
二、诊断:
跟踪一下日志,编辑listener.ora这个文件并追加如下内容:
TRACE_LEVEL_LISTENER = 16
TRACE_DIRECTORY_LISTENER = /tmp
2)ORADIM -NEW -SID oradb 新增数据库服务项
注:这个过程中如果出错,就重启计算机!

Oracle12.2监听无法启动解决方法

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监听服务无法启动问题解决
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监听器启动出错:本地计算机上的oracleoradb11g home1tnsl

oracle监听器启动出错:本地计算机上的oracleoradb11g home1tnsl

Oracle监听器启动出错:本地计算机上的OracleOraDb11ghome1TNSL...分类:Oracle一、错误描述登陆PL/SQLDeveloper登陆本地数据库时先报没有监听程序,查看服务发现Oracle监听服务没有启动。

右击启动监听程序,报错:错误描述:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了。

一些服务自动停止,如果它们没有什么可做的,例如"性能日志和警报"服务。

二、原因分析你安装oracle的时候是连网的,那么listener.ora文件里的HOST=网络给你分配的IP地址,而在你断网的时候就会出现这样的情况。

三、解决办法方法一:监听器通过listener.ora或者NetManager修改监听器配置。

将原来本地字符串127.0.0.1或者localhost改为主机名。

首先查阅你的**product11.2.0dbhome_1NETWORKADMIN目录下的"tnsnames.ora"和"listener.ora"这两个文件,然后看看里面的"HOST"信息,看看是不是你当前的ip地址,如果不是尝试着把这个2个文件改成你的ip地址,或直接就改成127.0.0.1(或计算机名字):注意:此时的监听配置文件"listener.ora"里面的HOST=的内容(IP或者主机名)必须和,服务配置文件"tnsnames.ora"里面,你想要链接的服务的HOST=的内容完全一致。

意思就是说要么都是IP地址,要么都是主机名。

如果有多个服务(NetManager中配置的网络服务)那么查看"tnsnames.ora"文件中与监听HOST内容一致的PL/SQL才可正常登录进去,否则无监听程序。

如:上面这里是"listener.ora"里面的HOST,我的是主机名。

oracle 监听无法启动

oracle 监听无法启动
oracle7 =
(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中监听无法启动找不到系统路径

如何解决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退出注册表。

Oracle数据库监听配置与报错解决方法

Oracle数据库监听配置与报错解决方法

Oracle数据库监听配置与报错解决方法作者:范美卉张俊萌来源:《电脑知识与技术》2023年第24期关键词:监听日志;Oracle数据库;监听器中图分类号:TP311 文献标识码:A文章编号:1009-3044(2023)24-0073-030 引言想要使用Oracle数据库,首先需要用户与数据库建立连接,而怎么在两者之间建立连接,Oracle使用了一个叫网络服务的概念,从而客户端或者中间层的应用服务器与数据库服务器能建立连接,并能在两者之间传递数据。

在客户端,网络服务作为后台运行的进程,在数据库服务器端,网络服务则通过一个叫“监听器”的组件接收来自客户端的连接请求。

监听器(LIS⁃TENER)是位于服务器端的、独立运行的一个后台进程,运行在服务器端,但独立于数据库服务器单独运行,在数据库没有启动的时候,监听器也能独立运行。

1 Oracle 数据库监听配置Oracle监听负责监听客户端传入的连接请求,同时也负责调整服务器的连接负荷。

客户端试图连接数据库服务器时,监听器将接收到客户端的请求并将其传递给服务器进行处理。

一旦客户端与服务器建立连接,它们之后将直接进行通信,而不再需要监听器的介入,监听器将保持空闲状态。

dbca建库后一般会有默认配置好的监听,默认服务端口是1521,通常一个库一个监听就足够,但如果需要处理大量并发请求数,就可能需要配置多个监听,非默认监听的端口号设置成大于1024,不同监听之间服务名和端口号不能一样[1]。

配置监听器有两种方法。

1.1 通过图形界面工具Net Manager如图1所示,选中图中的Oracle Net配置下的本地树形目录中的监听程序项,再点击左侧绿色的“+”按钮添加监听程序,点击监听程序目录,新加的监听器名称默认为LISTENER。

选中该名称,窗口右侧栏的下拉选项中含有四个选项:一般参数、监听位置、数据库服务、其他服务,选中“监听位置”,点击添加地址按钮。

在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口[2]。

无法启动oracle监听处理

无法启动oracle监听处理

无法启动oracle监听处理【LISTENER】主机名修改为IP地址后LISTENER无法监听到实例----为什么listener.ora文件里面HOST右边到底应该输入IP地址还是主机名。

我的经验告诉我,这边最好使用主机名。

很多的时候,一个机器绑定的不够只一个IP地址,如HOST后面是IP地址,那么ORACLE的listener只会监听指定的IP地址的访问请求,本机其它IP地址的连接都会拒绝的。

另外,创建监听的时候,listener.ora文件默认创建的就是主机名。

那么,如果没有特别的需要,就不要再去未免画蛇添足的修改host_name为IP地址了。

将listener.ora和tnsnames.ora文件中的HOST信息从原来的主机名字修改为IP地址后,监听可以启动,但是无论如何也监听不到数据库实例的信息(即使反复重启数据库)。

修改后重新启动监听,但是监听列举如下一直保持在如下的状态LSNRCTL>statusConnectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=144.194.192.183)( PORT=1521)))STATUSoftheLISTENER------------------------AliasLISTENERVersionTNSLSNRforLinux:Version10.2.0.1.0-ProductionStartDate21-JUL-201*14:34:20Uptime0days0hr.0min.36secTraceLeveloffSecurityON:LocalOSAuthenticationSNMPOFFListenerParameterFile/ oracle/app/oracle/product/10.2.0/db_1/network/admin/listener. oraListenerLogFile/oracle/app/oracle/product/10.2.0/db_1/netw ork/log/listener.logListeningEndpointsSummary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=144.194.192.183)(PO RT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))ServicesS ummary...Service"PLSExtProc"has1instance(s).Instance"PLSExtProc",statusUNKNOWN,has1handler(s)forthisservi ce...Thecommandcompletedsuccessfully.【问题原因】罪魁祸首在/etc/hosts文件!!先看一下在我处理该文件的内容:[root@testdb~]#cat/etc/hosts#Donotremovethefollowingline,orvariousprograms#thatrequirenet workfunctionalitywillfail.127.0.0.1testdblocalhost.localdomainlocalhost::1localhost6.lo caldomain6localhost6在这种默认配置下(操作系统安装前的状态),主机名字和本机的IP地址没有一一对应起来..【问题解决】(1)将/etc/hosts内容修改为:[root@testdb~]#cat/etc/hosts#Donotremovethefollowingline,orvariousprograms#thatrequirenet workfunctionalitywillfail.127.0.0.1localhost.localdomainlocal host::1localhost6.localdomain6localhost6144.194.192.183testdb很一下与之前文件的不同,这里修改的全部内容如下:1)将127.0.0.1后面的testdb主机名删除2)添加IP地址和主机名对应关系144.194.192.183testdb通过ping主机名testdb的方式验证一下修改后的效果:ora10g@testdb/home/oracle$pingtestdbPINGtestdb(144.194.192.183)56(84)bytesofdata.64bytesfromtestdb(144.194.192.183):icmp_seq=1ttl=64time=0.082 ms64bytesfromtestdb(144.194.192.183):icmp_seq=2ttl=64time=0.047 ms64bytesfromtestdb(144.194.192.183):icmp_seq=3ttl=64time=0.050 ms到此,主机名testdb与IP地址144.194.192.183建立起了对应关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle监听器服务不能启动的问题
从客户端连接到服务器,出现了这个错误,ora12541-TNS : 没有监听器
于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。

原因:Windows优化大师将Oracle的监听服务给"优化"了
一、连接主机字符串,说没有监听器
SVRMGR> connect internal/oracle@orcl;
ORA-12541: TNS:no listener
SVRMGR>
二、运行监听器,说地址的协议专用组件指定不正确
C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:17 :51
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
欢迎来到LSNRCTL,请键入"help"以获得信息。

LSNRCTL> status
连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))
TNS-01103: 地址的协议专用组件指定不正确
TNS-12541: TNS:无监听器
TNS-12560: TNS:协议适配器出现错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start
启动tnslsnr:请稍候...
Failed to start service, error 3.
TNS-12536: TNS:可能会阻碍*作
TNS-12560: TNS:协议适配器出现错误
TNS-00506: *作可能阻塞
32-bit Windows Error: 997: Unknown error
LSNRCTL>
三、在控制面板中启动服务,出现以下错误
服务:在本地计算机无法启动 OracleOraHome81TNSListener 服务。

错误3:系统找不到指定的路径
而且OracleOraHome81TNSListener服务的可执行文件的路径是空的。

四、进入注册表中修改ImagePath
在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome81TNSListener 发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:f:\Oracle\Ora81\BIN\TNSLSNR
退出注册表。

五、再去启动服务,服务启动正常
六、启动监听器
C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:42 :10
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
欢迎来到LSNRCTL,请键入"help"以获得信息。

LSNRCTL> start
TNS-01106: 使用名称LISTENER的监听器已经启动
LSNRCTL> status
连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 8.1.6.0.0 - Produc
tion
启动日期 14-3月 -2003 14:40:15
正常运行时间 0 天 0 小时 2 分 6 秒
跟踪级别 off
安全性 OFF
SNMP OFF
监听器参数文件 f:\Oracle\Ora81\network\admin\listener.ora
监听器日志文件 f:\Oracle\Ora81\network\log\listener.log
服务摘要..
PLSExtProc 具有1个服务处理程序
orc2 具有1个服务处理程序
orcl 具有1个服务处理程序
orcl 具有2个服务处理程序
命令执行成功
LSNRCTL>
七、再去连接,成功
SVRMGR> connect internal/sys@orcl;
连接成功。

SVRMGR>。

相关文档
最新文档