记一次监听无法启动 之 TNS-12555: TNS:permission denied

今天启动oracle监听发现报:

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

以前都是OK的,于是跟踪启动执行过程:

strace lsnrctl start

"start\n", 1024)                = 6
getuid32()                              = 501
open("/etc/passwd", O_RDONLY)           = 5
fcntl64(5, F_GETFD)                     = 0
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
fstat64(5, {st_mode=S_IFREG|0644, st_size=2751, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6f76000
read(5, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2751
close(5)                                = 0
munmap(0xf6f76000, 4096)                = 0
gettimeofday({1256161691, 700999}, NULL) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
chmod(umovestr: Input/output error
0x2, 0777)                        = -1 EFAULT (Bad address)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161691, 777393}, NULL) = 0
nanosleep({0, 100000000}, NULL)         = 0
gettimeofday({1256161691, 892650}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161691, 934364}, NULL) = 0
nanosleep({0, 200000000}, NULL)         = 0
gettimeofday({1256161692, 167237}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161692, 281844}, NULL) = 0
nanosleep({0, 10000000}, NULL)          = 0
gettimeofday({1256161692, 339362}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161692, 490320}, NULL) = 0
nanosleep({0, 20000000}, NULL)          = 0
gettimeofday({1256161692, 557319}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161692, 701283}, NULL) = 0
nanosleep({0, 40000000}, NULL)          = 0
gettimeofday({1256161692, 791268}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161692, 974221}, NULL) = 0
nanosleep({0, 80000000}, NULL)          = 0
gettimeofday({1256161693, 114147}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161693, 273149}, NULL) = 0
nanosleep({0, 160000000}, NULL)         = 0
gettimeofday({1256161693, 476978}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161693, 627450}, NULL) = 0
nanosleep({0, 320000000}, NULL)         = 0
gettimeofday({1256161694, 2784}, NULL)  = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161694, 131925}, NULL) = 0
nanosleep({0, 10000000}, NULL)          = 0
gettimeofday({1256161694, 188909}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161694, 359530}, NULL) = 0
nanosleep({0, 20000000}, NULL)          = 0
gettimeofday({1256161694, 426892}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161694, 567824}, NULL) = 0
nanosleep({0, 40000000}, NULL)          = 0
gettimeofday({1256161694, 654494}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161694, 802878}, NULL) = 0
nanosleep({0, 80000000}, NULL)          = 0
gettimeofday({1256161694, 927949}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161695, 73586}, NULL) = 0
nanosleep({0, 160000000}, NULL)         = 0
gettimeofday({1256161695, 267671}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161695, 306543}, NULL) = 0
nanosleep({0, 320000000}, NULL)         = 0
gettimeofday({1256161695, 641420}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161695, 682471}, NULL) = 0
nanosleep({0, 10000000}, NULL)          = 0
gettimeofday({1256161695, 709874}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161695, 736598}, NULL) = 0
nanosleep({0, 20000000}, NULL)          = 0
gettimeofday({1256161695, 773469}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
gettimeofday({1256161695, 817491}, NULL) = 0
nanosleep({0, 40000000}, NULL)          = 0
gettimeofday({1256161695, 871378}, NULL) = 0
close(5)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = -1 ECONNREFUSED (Connection refused)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
close(5)                                = 0
gettimeofday({1256161695, 922622}, NULL) = 0
open("/etc/hosts", O_RDONLY)            = 5
fcntl64(5, F_GETFD)                     = 0
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
fstat64(5, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6f76000
read(5, "# Do not remove the following li"..., 4096) = 146
close(5)                                = 0
munmap(0xf6f76000, 4096)                = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 5
connect(5, {sa_family=AF_INET, sin_port=htons(1521), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
close(5)                                = 0
getsockopt(5, SOL_SOCKET, SO_SNDBUF, 0xfeff7ff8, 0xfeff7ff4) = -1 EBADF (Bad file descriptor)
getsockopt(5, SOL_SOCKET, SO_RCVBUF, 0xfeff7ff8, 0xfeff7ff4) = -1 EBADF (Bad file descriptor)
lseek(4, 19456, SEEK_SET)               = 19456
read(4, "\17\0$\4\0\0b\0%\4\0\0\207\0&\4\0\0\245\0\'\4\0\0\311\0"..., 512) = 512
write(1, "Starting /u01/app/oracle/bin/tns"..., 54Starting /u01/app/oracle/bin/tnslsnr: please wait...
 
) = 54
gettimeofday({1256161696, 61302}, NULL) = 0
pipe([5, 6])                            = 0
pipe([7, 8])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf6fdd708) = 1091
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
rt_sigaction(SIGPIPE, {0x1aca520, ~[ILL ABRT BUS FPE SEGV USR2 XCPU XFSZ SYS RTMIN RT_1], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x143890}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
waitpid(1091, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 1091
close(5)                                = 0
close(8)                                = 0
read(7, "NTP0 1092\n", 64)              = 10
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
gettimeofday({1256161696, 773573}, NULL) = 0
write(6, "\0\254\0\0\1\0\0\0\0019\1,\0\0\10\0\20\0O\230\0\0\1\0\0"..., 172) = 172
read(7, "\0\f\0\0\4\0\0\0\"\0\1\246", 2064) = 12
read(7, "\1\260\0\0\6\0\0\0\0@TNSLSNR for Linux: Ver"..., 2064) = 432
close(6)                                = 0
close(7)                                = 0
write(1, "TNSLSNR for Linux: Version 10.2."..., 422TNSLSNR for Linux: Version 10.2.0.4.0 - Production
System parameter file is /u01/app/oracle/network/admin/listener.ora
Log messages written to /u01/app/oracle/network/log/listener.log
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12555: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00525: Insufficient privilege for operation
   Linux Error: 1: Operation not permitted
) = 422
write(1, "\n", 1
)                       = 1
lseek(4, 19968, SEEK_SET)               = 19968
read(4, "\f\0005\4\0\0P\0006\4\0\0j\0007\4\0\0\206\0008\4\0\0\240"..., 512) = 512
write(1, "Listener failed to start. See th"..., 61Listener failed to start. See the error message(s) above...

 

发现许多的:Connection refused错误,进入目录:/var/tmp

[root@localhost tmp]# ll -a
总用量 24
drwxrwxrwx   3 root root 4096 10月 21 00:06 .
drwxrwxrwx  25 root root 4096 2008-10-16  ..
drwxrwxrwt   2 root root 4096 10月 22 04:19 .oracle

属于root用户,但是其他用户有全部的控制权。。迷糊了。。。。。。。。

[root@localhost tmp]# chown oracle:dba .oracle
[root@localhost tmp]# ll
总用量 0
[root@localhost tmp]# ll -a
总用量 24
drwxrwxrwx   3 root   root 4096 10月 21 00:06 .
drwxrwxrwx  25 root   root 4096 2008-10-16  ..
drwxrwxrwt   2 oracle dba  4096 10月 22 05:51 .oracle

重新启动:

read(0, start
"start\n", 1024)                = 6
getuid32()                              = 501
open("/etc/passwd", O_RDONLY)           = 5
fcntl64(5, F_GETFD)                     = 0
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
fstat64(5, {st_mode=S_IFREG|0644, st_size=2751, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6f76000
read(5, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2751
close(5)                                = 0
munmap(0xf6f76000, 4096)                = 0
gettimeofday({1256161942, 583858}, NULL) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 5
chmod(umovestr: Input/output error
0x2, 0777)                        = -1 EFAULT (Bad address)
access("/var/tmp/.oracle/sEXTPROC1", F_OK) = 0
connect(5, {sa_family=AF_FILE, path="/var/tmp/.oracle/sEXTPROC1"}, 110) = 0
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
gettimeofday({1256161942, 723899}, NULL) = 0
write(5, "\0\321\0\0\1\0\0\0\0019\1,\0\201\10\0\177\377s\10\0\0\1"..., 209) = 209
read(5, "\0I\0\0\4\0\0\0\"\0\0=(DESCRIPTION=(TMP=)("..., 2064) = 73
close(5)                                = 0
lseek(4, 20992, SEEK_SET)               = 20992
read(4, "\n\0R\4\0\0D\0S\4\0\0|\0T\4\0\0\241\0U\4\0\0\300\0V\4\0"..., 512) = 512
write(1, "TNS-01106: Listener using listen"..., 74TNS-01106: Listener using listener name LISTENER has already been started
) = 74
write(1, "LSNRCTL> ", 9LSNRCTL> )                = 9
read(0,

 

OK了。。。。。。

请使用浏览器的分享功能分享到微信等