关于listener无法启动的问题解决

今天照例开始学习oracle,实例启动了,但是listener却突然很奇怪,怎么都起不来。

我检查了下listener配置,网络配置,ssh服务,一切都正常,最后看防火墙开着,关了以后,问题还是照旧。

[oracle@oel log]$ lsnrctl
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 02-MAY-2013 12:11:38
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
sWelcome to LSNRCTL, type "help" for information.
LSNRCTL> tatus
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=oel.oracle.com)(PORT=1521))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
start
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
LSNRCTL> Starting /u01/app/ora10g/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/ora10g/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/ora10g/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel.oracle.com)(PORT=1521)))
Error listening on: (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
TNS-12555: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00525: Insufficient privilege for operation
   Linux Error: 1: Operation not permitted
Listener failed to start. See the error message(s) above...

最后各处查找,总算找到了问题根源。在 /var/tmp下的 .oracle权限有问题

[root@oel tmp]# ll -a
total 24
drwxrwxrwt  4 root   root 4096 May  2 12:10 .
drwxr-xr-x 24 root   root 4096 Jun 16  2012 ..
drwxrwxrwt  2 root   root 4096 May  2 12:11 .oracle
drwx------  2 oracle dba  4096 May  1 12:36 yum-oracle-n3UNcY
[root@oel tmp]# cd .oracle
[root@oel .oracle]# ll
total 0
srwxrwxrwx 1 oracle dba 0 Apr  1 16:44 s#16480.1
srwxrwxrwx 1 oracle dba 0 Apr  1 16:44 s#16480.2
srwxrwxrwx 1 ora11g dba 0 Apr 21 16:59 s#2171.1
srwxrwxrwx 1 ora11g dba 0 Apr 21 16:59 s#2171.2
srwxrwxrwx 1 ora11g dba 0 Apr 21 16:59 sPNPKEY
[root@oel .oracle]# 

改正一下,应该是上次启动的时候用root来启动,之后再用oracle用户就启动不了了。

[root@oel tmp]# chown oracle:dba .oracle
[root@oel tmp]# ll
total 4
drwx------ 2 oracle dba 4096 May  1 12:36 yum-oracle-n3UNcY
[root@oel tmp]# ll -a
total 24
drwxrwxrwt  4 root   root 4096 May  2 12:10 .
drwxr-xr-x 24 root   root 4096 Jun 16  2012 ..
drwxrwxrwt  2 oracle dba  4096 May  2 12:11 .oracle
drwx------  2 oracle dba  4096 May  1 12:36 yum-oracle-n3UNcY

修改以后,再启动一次试试。成功了。

LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=oel.oracle.com)(PORT=1521))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
startTNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
LSNRCTL> 
Starting /u01/app/ora10g/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/ora10g/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/ora10g/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel.oracle.com)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=oel.oracle.com)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                02-MAY-2013 12:15:07
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/ora10g/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/ora10g/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel.oracle.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
Services Summary...
Service "CUST01" has 1 instance(s).
  Instance "CUST01", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL> 

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-03-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop数据仓库

Oracle通过HSODBC访问mysql

一、环境 OS:Linux myhostname 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686...

1739
来自专栏数据库新发现

Dataguard配置Step by Step

http://www.eygle.com/ha/dataguard-step-by-step.htm

602
来自专栏乐沙弥的世界

配置客户端连接到ASM实例

   对于Oracle 网络配置,我们通常通过negmgr或者netca来完成客户端连接到数据库实例。而对于连接到ASM实例,同样可以实现从客户端来进行连接。不...

644
来自专栏杨建荣的学习笔记

一封备库报警邮件的分析(r6笔记第82天)

对于orabbix报出的警报,自己都是心怀敬畏,因为这些表面的现象如果深入分析没准就能有所收获,当然目的还是解决问题,不是一味追求指标。 今天收到的报警邮件如下...

2634
来自专栏乐沙弥的世界

使用 resource_limit 及 profile 限制用户连接

      数据库性能是一个永恒的话题,那就是如何使用更少的资源以达到更高效的性能。Oracle系统参数RESOURCE_LIMIT是一个用于控制用户对于数据库...

901
来自专栏乐沙弥的世界

ORA-00119,ORA-00132 错误处理

最近系统启动时,收到了ORA-00119以及ORA-00132的错误,该错误实际上跟LISTENER有关,通常的处理办法是将spfile转储为pfile然后从...

832
来自专栏乐沙弥的世界

基于同一主机配置 Oracle 11g Data Guard

       Oracle Data Guard 为企业数据库提供了最有效和最全面的数据可用性、数据保护和灾难恢复解决方案。它集成管理、监视和自动化软件基础架构...

621
来自专栏乐沙弥的世界

Oracle 11g RAC 环境下单实例非缺省监听及端口配置

      如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器。大多数情况下我们使用...

702
来自专栏雨过天晴

centos 配置 nginx + fcgiwrap + git

1182
来自专栏数据库新发现

Linux上配置Unix ODBC连接Oracle数据库

Oracle10g前,Oracle并不提供UNIX/Linux下的ODBC驱动,用的最为广泛的是UnixOdbc,UnixOdbc的配置不算复杂,但是如果不顺利...

512

扫码关注云+社区