公文素材库 首页

无法启动oracle监听处理

时间:2019-05-29 22:25:18 网站:公文素材库

无法启动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>statusConnecting

to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=144.194.192.183)(PORT=1521)))

STATUSoftheLISTENER------------------------

AliasLISTENER

VersionTNSLSNRforLinux:Version10.2.0.1.0-Production

StartDate21-JUL-201*14:34:20

Uptime0days0hr.0min.36secTraceLeveloff

SecurityON:LocalOSAuthenticationSNMPOFFListenerParameterFile/oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.oraListenerLogFile/oracle/app/oracle/product/10.2.0/db_1/network/log/listener.log

ListeningEndpointsSummary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=144.194.192.183)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))ServicesSummary...

Service"PLSExtProc"has1instance(s).

Instance"PLSExtProc",statusUNKNOWN,has1handler(s)forthisservice...

Thecommandcompletedsuccessfully

.【问题原因】

罪魁祸首在/etc/hosts文件!!

先看一下在我处理之前该文件的内容:[root@testdb~]#cat/etc/hosts

#Donotremovethefollowingline,orvariousprograms#thatrequirenetworkfunctionalitywillfail.

127.0.0.1testdblocalhost.localdomainlocalhost::1localhost6.localdomain6localhost6

在这种默认配置下(操作系统安装后的状态),主机名字和本机的IP地址没有对应起来..【问题解决】

(1)将/etc/hosts内容修改为:

[root@testdb~]#cat/etc/hosts

#Donotremovethefollowingline,orvariousprograms#thatrequirenetworkfunctionalitywillfail.127.0.0.1localhost.localdomainlocalhost::1localhost6.localdomain6localhost6144.194.192.183testdb

比较一下与之前文件的不同,这里修改的内容如下:1)将127.0.0.1后面的testdb主机名删除

2)添加IP地址和主机名对应关系144.194.192.183testdb

通过ping主机名testdb的方式验证一下修改后的效果:ora10g@testdb/home/oracle$pingtestdb

PINGtestdb(144.194.192.183)56(84)bytesofdata.

64bytesfromtestdb(144.194.192.183):icmp_seq=1ttl=64time=0.082ms

64bytesfromtestdb(144.194.192.183):icmp_seq=2ttl=64time=0.047ms

64bytesfromtestdb(144.194.192.183):icmp_seq=3ttl=64time=0.050ms

到此,主机名testdb与IP地址144.194.192.183建立起了对应关系。

(2)重新启动监听

oracle监听器启动错误-TNS-12546:TNS:permissiondenied

看下监听器状态

oracle@linux-34:~>lsnrctlstatus

LSNRCTLforLinux:Version11.1.0.6.0-Productionon14-OCT-201*09:12:37

Copyright(c)1991,201*,Oracle.Allrightsreserved.Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux-34.site)(PORT=1521)))

TNS-12541:TNS:nolistener

TNS-12560:TNS:protocoladaptererrorTNS-00511:Nolistener

LinuxError:111:ConnectionrefusedConnectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))TNS-12541:TNS:nolistener

TNS-12560:TNS:protocoladaptererrorTNS-00511:Nolistener

LinuxError:111:Connectionrefused

启动下试试

oracle@linux-34:~>lsnrctlstart

LSNRCTLforLinux:Version11.1.0.6.0-Productionon14-OCT-201*09:12:45

Copyright(c)1991,201*,Oracle.Allrightsreserved.

Starting/home/oracle/product/11.1.0/db_1/bin/tnslsnr:pleasewait...

TNSLSNRforLinux:Version11.1.0.6.0-ProductionSystemparameterfileis/home/oracle/product/11.1.0/db_1/network/admin/listener.ora

Logmessageswrittento/home/oracle/diag/tnslsnr/linux-34/listener/alert/log.xmlErrorlisteningon:(ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))Nolongerlisteningon:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=linux-34.site)(PORT=1521)))

TNS-12546:TNS:permissiondeniedTNS-12560:TNS:protocoladaptererrorTNS-00516:PermissiondeniedLinuxError:13:Permissiondenied

Listenerfailedtostart.Seetheerrormessage(s)above...

竟然报TNS-12546:TNS:permissiondenied

查看下/var/tmp/.oracle、/tmp/.oracle这两个目录的权限访问。

linux-34:~#ls-lrtd/tmp/.oracle

drwxrwxrwx2rootroot4096May916:01/tmp/.oracle

linux-34:~#ls-lrtd/var/tmp/.oracle

drwxr-xr-x2rootroot4096Oct1409:45/var/tmp/.oracle

原因应该就在这了,/var/tmp/.oracle是755权限,把它修改为777。viewplainprint?

linux-34:~#chmod-R777/var/tmp/.oracle

扩展阅读:oracle 监听无法启动

经常遇到oracle监听无法启动的情况,感觉很莫名其妙,遇到的多了,逐渐总结出来一些原因。

首先,在安装oracle的时候后,处于联网状态,而下次启动的时候是断网状态,会导致监听无法启动,反之亦然。

其次,主机名,ip发生变化也会导致监听无法启动。

解决办法,运行cmd输入lsnrctlstart查看错如信息

然后去E:\\oracle\\product\\10.2.0\\db_1\\NETWORK\\ADMIN路径下,修改

listener.ora中的HOST的值改成现在的机器名或IP地址,然后再启动监听,监听服务正常启动。

但由于不是很熟悉oracle,更改listener.ora有时候会引发别的问题。

我建议用如下方法,屡试不爽

1.cmd然后sqlplus/nolog在不登录情况下运行sqlplus2.connect/assysdba链接oracle3.shutdownimmediate关闭当前例程

4.用oracle自带工具NetConfiggurationAssistont删除先有监听然后从新创建一个监听

5.startupopen启动oracle历程

前天装好的Oracle,昨天突然不好用了,从Oracle的错误提示来看,是说TNS:nolistener,估计是某种服务没有启动,打开windows管理工具->服务,一看,有一个OracleOraHome90TNSListener这样的服务,和错误信息题是一致,基本就可以肯定是这个服务所引发的问题。再一看,该服务没有启动,遂手工启动,刷新后一看,该服务居然马上就自动关闭了。重试N次,结果一样。到Google搜索看看,没想到这还是一个普遍的问题,有一个人提出,把安装目录下的listener.ora打开察看。如:d:\\oracle\\ora90\\network\\admin\\listener.ora。打开该配置文件后发现如下一段配置信息:LISTENER=

(DESCRipTION_LIST=(DESCRIPTION=(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=IBMThinkPad)(PORT=1521)))))

当看到这一行HOST=IBMThinkPad的时候,问题解决了。原来是由于几天装好Oracle后,又改了Windows的计算机名,而这个配置文件中记录的监听主机名还是原来的名称,这也就怪不得,OracleOraHome90TNSListener服务无法启动了,马上修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功,PL/SQLDeveloper连接Oracle数据库成功,不能登陆故障排除。

资料引用:

tnslistener

、编辑$ORACLE_HOME/network/admin下的listener.ora文件为LISTENER=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=oracle7))(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)))

STARTUP_WAIT_TIME_LISTENER=0CONNECT_TIMEOUT_LISTENER=10TRACE_LEVEL_LISTENER=OFF

2、编辑$ORACLE_HOME/network/admin下的tnsnames.ora文件为:oracle7=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(Host=test)(Port=1521))(CONNECT_DATA=(SID=oracle7)))

然后修改hosts文件

、编辑$ORACLE_HOME/network/admin下的listener.ora文件为LISTENER=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=oracle7))(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)))

STARTUP_WAIT_TIME_LISTENER=0CONNECT_TIMEOUT_LISTENER=10TRACE_LEVEL_LISTENER=OFF

2、编辑$ORACLE_HOME/network/admin下的tnsnames.ora文件为:oracle7=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(Host=test)(Port=1521))(CONNECT_DATA=(SID=oracle7)))

然后修改hosts文件

友情提示:本文中关于《无法启动oracle监听处理》给出的范例仅供您参考拓展思维使用,无法启动oracle监听处理:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


无法启动oracle监听处理
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/747136.html
相关阅读
最近更新
推荐专题