oracle 9i 启动监听报错误 TNS-12555: TNS:permission denied 解决

启动监听报错误如下:

Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.


Starting /u01/app/oracle/ora9/9.2.0.8/db_1/bin/tnslsnr: please wait...


TNSLSNR for Linux: Version 9.2.0.8.0 - Production
System parameter file is /u01/app/oracle/ora9/9.2.0.8/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/ora9/9.2.0.8/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat48)(PORT=1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
TNS-12555: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00525: Insufficient privilege for operation
   Linux Error: 1: Operation not permitted

通过strace -Ff -o /tmp/listener.log lsnrctl start  跟踪日志分析

 4772  chmod("/var/tmp/.oracle", 01777)  = -1 EPERM (Operation not permitted)
4772  socket(PF_FILE, SOCK_STREAM, 0)   = 9
4772  getpid()                          = 4772
4772  access("/var/tmp/.oracle/s#4772.1", F_OK) = -1 ENOENT (No such file or directory)
4772  bind(9, {sa_family=AF_FILE, path="/var/tmp/.oracle/s#4772.1"}, 110) = 0
4772  chmod("/var/tmp/.oracle/s#4772.1", 0777) = 0
4772  listen(9, 100)                    = 0
4772  getsockname(9, {sa_family=AF_FILE, path="/var/tmp/.oracle/s#4772.1"}, [20495583936540]) = 0
4772  chmod("/var/tmp/.oracle/s#4772.1", 0777) = 0
4772  fcntl(9, F_SETFD, FD_CLOEXEC)     = 0
4772  rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
4772  socket(PF_FILE, SOCK_STREAM, 0)   = 10
4772  access("/var/tmp/.oracle/sEXTPROC", F_OK) = 0
4772  bind(10, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC"}, 110) = -1 EADDRINUSE (Address already in use)
4772  connect(10, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC"}, 110) = -1 ECONNREFUSED (Connection refused)
4772  access("/var/tmp/.oracle/sEXTPROC", F_OK) = 0
4772  unlink("/var/tmp/.oracle/sEXTPROC") = -1 EPERM (Operation not permitted)
4772  close(10)                         = 0

处理方法 通过注释listener.ora 参数中的extproc,启动监听正常。

解决过程如下:

ora9@redhat48 bin]$ lsnrctl start


LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 28-MAR-2017 10:01:14


Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.


Starting /u01/app/oracle/ora9/9.2.0.8/db_1/bin/tnslsnr: please wait...


TNSLSNR for Linux: Version 9.2.0.8.0 - Production
System parameter file is /u01/app/oracle/ora9/9.2.0.8/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/ora9/9.2.0.8/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat48)(PORT=1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
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...


[ora9@redhat48 bin]$ vi /tmp/listener.log 
4770  execve("/u01/app/oracle/ora9/9.2.0.8/db_1/bin/lsnrctl", ["lsnrctl", "start"], [/* 24 vars */]) = 0
4770  uname({sys="Linux", node="redhat48", ...}) = 0
4770  brk(0)                            = 0x6b1000
4770  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95556000
4770  access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
4770  open("/u01/app/oracle/ora9/9.2.0.8/db_1/lib/tls/x86_64/libclntsh.so.9.0", O_RDONLY) = -1 ENOENT (No such file or directory)
4770  stat("/u01/app/oracle/ora9/9.2.0.8/db_1/lib/tls/x86_64", 0x7fbfffee00) = -1 ENOENT (No such file or directory)
4770  open("/u01/app/oracle/ora9/9.2.0.8/db_1/lib/tls/libclntsh.so.9.0", O_RDONLY) = -1 ENOENT (No such file or directory)
4770  stat("/u01/app/oracle/ora9/9.2.0.8/db_1/lib/tls", 0x7fbfffee00) = -1 ENOENT (No such file or directory)
4770  open("/u01/app/oracle/ora9/9.2.0.8/db_1/lib/x86_64/libclntsh.so.9.0", O_RDONLY) = -1 ENOENT (No such file or directory)
4770  stat("/u01/app/oracle/ora9/9.2.0.8/db_1/lib/x86_64", 0x7fbfffee00) = -1 ENOENT (No such file or directory)
4770  open("/u01/app/oracle/ora9/9.2.0.8/db_1/lib/libclntsh.so.9.0", O_RDONLY) = 3
4770  read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P;\25\0\0\0\0\0"..., 832) = 832
4770  fstat(3, {st_mode=S_IFREG|0755, st_size=13386484, ...}) = 0
4770  mmap(NULL, 13576392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2a95557000
4770  mprotect(0x2a960d8000, 1513672, PROT_NONE) = 0
4770  mmap(0x2a961d7000, 393216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb80000) = 0x2a961d7000
4770  mmap(0x2a96237000, 75976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2a96237000
4770  close(3)                          = 0
"/tmp/listener.log" 716L, 49482C
4772  fstat(8, {st_mode=S_IFREG|0644, st_size=171, ...}) = 0
4772  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a969e3000
4772  read(8, "# Do not remove the following li"..., 4096) = 171
4772  close(8)                          = 0
4772  munmap(0x2a969e3000, 4096)        = 0
4772  getpid()                          = 4772
4772  open("/etc/hosts", O_RDONLY)      = 8
4772  fcntl(8, F_GETFD)                 = 0
4772  fcntl(8, F_SETFD, FD_CLOEXEC)     = 0
4772  fstat(8, {st_mode=S_IFREG|0644, st_size=171, ...}) = 0
4772  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a969e3000
4772  read(8, "# Do not remove the following li"..., 4096) = 171
4772  close(8)                          = 0
4772  munmap(0x2a969e3000, 4096)        = 0
4772  socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 8
4772  setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
4772  uname({sys="Linux", node="redhat48", ...}) = 0
4772  open("/etc/hosts", O_RDONLY)      = 9
4772  fcntl(9, F_GETFD)                 = 0
4772  fcntl(9, F_SETFD, FD_CLOEXEC)     = 0
4772  fstat(9, {st_mode=S_IFREG|0644, st_size=171, ...}) = 0
4772  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a969e3000
4772  read(9, "# Do not remove the following li"..., 4096) = 171
4772  close(9)                          = 0
4772  munmap(0x2a969e3000, 4096)        = 0
4772  bind(8, {sa_family=AF_INET, sin_port=htons(1521), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
4772  listen(8, 128)                    = 0
4772  getsockname(8, {sa_family=AF_INET, sin_port=htons(1521), sin_addr=inet_addr("0.0.0.0")}, [253403070480]) = 0
4772  getpeername(8, 0x7fbfff9720, [253403070480]) = -1 ENOTCONN (Transport endpoint is not connected)
4772  uname({sys="Linux", node="redhat48", ...}) = 0
4772  open("/etc/hosts", O_RDONLY)      = 9
4772  fcntl(9, F_GETFD)                 = 0
4772  fcntl(9, F_SETFD, FD_CLOEXEC)     = 0
4772  fstat(9, {st_mode=S_IFREG|0644, st_size=171, ...}) = 0
4772  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a969e3000
4772  read(9, "# Do not remove the following li"..., 4096) = 171
4772  close(9)                          = 0
4772  munmap(0x2a969e3000, 4096)        = 0
4772  fcntl(8, F_SETFD, FD_CLOEXEC)     = 0
4772  rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
4772  uname({sys="Linux", node="redhat48", ...}) = 0
4772  open("/etc/hosts", O_RDONLY)      = 9
4772  fcntl(9, F_GETFD)                 = 0
4772  fcntl(9, F_SETFD, FD_CLOEXEC)     = 0
4772  fstat(9, {st_mode=S_IFREG|0644, st_size=171, ...}) = 0
4772  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a969e3000
4772  read(9, "# Do not remove the following li"..., 4096) = 171
4772  close(9)                          = 0
4772  munmap(0x2a969e3000, 4096)        = 0
4772  lseek(6, 19456, SEEK_SET)         = 19456
4772  read(6, "\21\0+\4\0\0n\0.\4\0\0\211\0/\4\0\0\246\0000\4\0\0\266\0001\4\0\0\304\0"..., 512) = 512
4772  lseek(3, 0, SEEK_CUR)             = 24651
4772  write(3, "Listening on: (DESCRIPTION=(ADDR"..., 79) = 79
4772  access("/var/tmp/.oracle", F_OK)  = 0
4772  chmod("/var/tmp/.oracle", 01777)  = -1 EPERM (Operation not permitted)
4772  socket(PF_FILE, SOCK_STREAM, 0)   = 9
4772  getpid()                          = 4772
4772  access("/var/tmp/.oracle/s#4772.1", F_OK) = -1 ENOENT (No such file or directory)
4772  bind(9, {sa_family=AF_FILE, path="/var/tmp/.oracle/s#4772.1"}, 110) = 0
4772  chmod("/var/tmp/.oracle/s#4772.1", 0777) = 0
4772  listen(9, 100)                    = 0
4772  getsockname(9, {sa_family=AF_FILE, path="/var/tmp/.oracle/s#4772.1"}, [20495583936540]) = 0
4772  chmod("/var/tmp/.oracle/s#4772.1", 0777) = 0
4772  fcntl(9, F_SETFD, FD_CLOEXEC)     = 0
4772  rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
4772  socket(PF_FILE, SOCK_STREAM, 0)   = 10
4772  access("/var/tmp/.oracle/sEXTPROC", F_OK) = 0
4772  bind(10, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC"}, 110) = -1 EADDRINUSE (Address already in use)
4772  connect(10, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC"}, 110) = -1 ECONNREFUSED (Connection refused)
4772  access("/var/tmp/.oracle/sEXTPROC", F_OK) = 0
4772  unlink("/var/tmp/.oracle/sEXTPROC") = -1 EPERM (Operation not permitted)
4772  close(10)                         = 0
4772  lseek(6, 19456, SEEK_SET)         = 19456
4772  read(6, "\21\0+\4\0\0n\0.\4\0\0\211\0/\4\0\0\246\0000\4\0\0\266\0001\4\0\0\304\0"..., 512) = 512
4772  lseek(3, 0, SEEK_CUR)             = 24730
4772  write(3, "Error listening on: (DESCRIPTION"..., 72) = 72
[ora9@redhat48 bin]$ cd $ORACLE_HOME/network/admin
[ora9@redhat48 admin]$ ls
libnk59.def  listener.ora  samples  shrept.lst  snmp_ro.ora  sqlnet.log  sqlnet.ora  sqlnet.ora.1
[ora9@redhat48 admin]$ vi listener.ora
# LISTENER.ORA Network Configuration File: /u01/app/oracle/ora9/9.2.0.8/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/ora9/9.2.0.8/db_1)
#      (PROGRAM = extproc)
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = redhat48)(PORT = 1521) (IP=FIRST))
      )
      (ADDRESS_LIST =
#        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
    )
  )
"listener.ora" 24L, 576C written
[ora9@redhat48 admin]$ lsnrctl start


LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 28-MAR-2017 10:04:02


Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.


Starting /u01/app/oracle/ora9/9.2.0.8/db_1/bin/tnslsnr: please wait...


TNSLSNR for Linux: Version 9.2.0.8.0 - Production
System parameter file is /u01/app/oracle/ora9/9.2.0.8/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/ora9/9.2.0.8/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat48)(PORT=1521)))


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=redhat48)(PORT=1521)(IP=FIRST)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 9.2.0.8.0 - Production
Start Date                28-MAR-2017 10:04:02
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  OFF
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/ora9/9.2.0.8/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/ora9/9.2.0.8/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat48)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值