在一次安装好oracle软件,创建好数据库后,准备启动监听,却发现除了问题,非常诡异
[Testserver@15:30:38 ]$ lsnrctl
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production on 30-OCT-2011 15:30:45
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> stat
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.18.30)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
LSNRCTL> start
Starting /db/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production
System parameter file is /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /db/app/oracle/diag/tnslsnr/Testserver/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.18.30)(PORT=1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
IBM/AIX RISC System/6000 Error: 1: Not owner
Listener failed to start. See the error message(s) above...
看到两个非常明显的错误:TNS-12555: TNS:permission denied,IBM/AIX RISC System/6000 Error: 1: Not owner
从来没遇到过,估计是操作系统权限问题。
通过查阅文档,发现一个隐藏信息,在/TMP目录下有个目录是.oracle
[Testserver@15:35:42 /tmp]$ ls -la
total 308240
drwxrwxrwt 14 bin bin 4096 Oct 30 15:35 .
drwxr-xr-x 28 root system 4096 Oct 29 15:11 ..
drwxrwxrwt 17 root system 4096 Oct 08 15:19 .com_ibm_tools_attach
-rw-r--r-- 1 root system 5095 Nov 02 2011 .ctinst.log
-rw-r--r-- 1 root system 742 Jun 24 09:17 .list_filesets.out
-rw-r--r-- 1 root system 379 Jun 24 09:17 .list_filesets.toc
drwxrwxrwt 2 root system 256 Oct 30 15:34 .oracle
drwxr-xr-x 2 root system 256 Oct 30 15:21 .oslevel.datafiles
-rw-r--r-- 1 root system 406 Nov 02 2011 .sr_migrate.log
-rw------- 1 root system 0 Nov 02 2011 .strload.mutex
-rw-r--r-- 1 root system 41537 Jun 23 23:25 .toc
drwxr-xr-x 3 518 519 256 Jun 24 15:30 CVU_11.2.0.1.0_oracle
-rw-r--r-- 1 root system 527 Nov 02 2011 IBM.CSMAgentRM_dr.sh.dbg
drwxr-x--- 2 root system 256 Jun 28 14:29 JLU-Log
-rw-r--r-- 1 root system 156005376 Jun 23 23:22 Java6_64.sdk
-rw-r--r-- 1 root system 10 Jun 24 09:18 SM_OP8hanyt
-rw-r--r-- 1 root system 3597 Jun 28 14:29 SYMCnbp-inittab.8192060.i
-r-Sr-xr-- 1 root system 0 Nov 02 2011 Spmi.lock
-rw-r----- 1 root system 0 Oct 08 15:19 Spmi_shm_hook.v61
-rw-r----- 1 root system 0 Oct 08 15:19 Spmi_shm_hook2.v61
-rw-r----- 1 root system 1429004 Jun 23 17:40 bash-3.2-1.aix5.2.ppc.rpm
-rw-r--r-- 1 root system 704 Nov 02 2011 ctrmc_MDdr.dbg
drwxr-xr-x 9 oracle oinstall 4096 Oct 30 14:53 database
srwxrwxrwx 1 root system 0 Sep 03 17:08 dpi_socket
-rw-r--r-- 1 root system 302 Nov 02 2011 dtappint.log
d-w------- 2 root system 256 Nov 02 2011 errmbatch
-rw-r--r-- 1 root system 30793 Jun 28 14:29 install_trace.4128940
drwxrwxrwx 2 pconsole system 256 Oct 08 15:19 javasharedresources
-rw-rw-rw- 1 root system 35 Jun 28 14:29 jlucache.xml
drwxr-xr-x 2 518 519 256 Jun 24 15:30 logs
drwx------ 2 root system 256 Nov 02 2011 lost+found
-rw-rw-r-- 1 root system 204800 Oct 30 15:21 lvmt.log
-rwxrwxrwx 1 518 519 473 Jun 30 11:42 make_trace.5832716
-rwxrwxrwx 1 518 519 440 Jun 28 14:38 make_trace.5832784
-rwxrwxrwx 1 518 519 377 Jun 28 14:32 make_trace.6094966
-rw------- 1 root system 544 Oct 08 09:53 portmap.file
-rw-r--r-- 1 root system 424 Oct 08 15:18 rc.net.out
-rw-r--r-- 1 root system 0 Oct 08 15:18 rc.net.serial.out
-rw-r--r-- 1 root system 2543 Jun 24 15:30 rootpre.out_11-06-24.15:30:11
-rw-r--r-- 1 root system 2623 Oct 30 14:55 rootpre.out_11-10-30.14:55:36
-rw------- 1 root system 1432 Oct 08 09:53 rpcbind.file
d-w------- 2 root system 256 Nov 02 2011 saved_errmbatch
-rw-r--r-- 1 root system 0 Aug 04 04:24 sf33226836.00000000
-rw-r--r-- 1 root system 0 Aug 04 04:24 sf33226836.10000000
-rw-r--r-- 1 root system 0 Aug 04 04:24 sf33226836.20000000
drwxr-xr-x 23 root system 4096 Jun 29 13:52 test_backup
居然是root用户,果断改成oracle:oinstall
[Testserver@15:35:51 /tmp]$ su - root
root's Password:
[Testserver@15:36:09 /]# cd tmp/
[Testserver@15:36:15 /tmp]# chown oracle:oinstall .oracle
[Testserver@15:36:34 /tmp]# su - oracle
[Testserver@15:36:39 ~]$ lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production on 30-OCT-2011 15:36:44
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /db/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production
System parameter file is /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /db/app/oracle/diag/tnslsnr/Testserver/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.18.30)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.18.30)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production
Start Date 30-OCT-2011 15:36:46
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP ON
Listener Parameter File /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /db/app/oracle/diag/tnslsnr/Testserver/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.18.30)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
[Testserver@15:36:46 ~]$
正常了
但是这个东西是做什么的呢?查了下资料,官方给出的解释是:
The folder /tmp/.oracle is used to record socket numbers which the listener establish. If oracle user don't have full permission on this folder, the listener cannot be started and raise the errors mentioned above.
意思就是说这个是用来记录监听所建立的接口数量,所以必须要给他赋予足够的oracle权限。
[Testserver@15:30:38 ]$ lsnrctl
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production on 30-OCT-2011 15:30:45
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> stat
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.18.30)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
IBM/AIX RISC System/6000 Error: 79: Connection refused
LSNRCTL> start
Starting /db/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production
System parameter file is /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /db/app/oracle/diag/tnslsnr/Testserver/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.18.30)(PORT=1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
IBM/AIX RISC System/6000 Error: 1: Not owner
Listener failed to start. See the error message(s) above...
看到两个非常明显的错误:TNS-12555: TNS:permission denied,IBM/AIX RISC System/6000 Error: 1: Not owner
从来没遇到过,估计是操作系统权限问题。
通过查阅文档,发现一个隐藏信息,在/TMP目录下有个目录是.oracle
[Testserver@15:35:42 /tmp]$ ls -la
total 308240
drwxrwxrwt 14 bin bin 4096 Oct 30 15:35 .
drwxr-xr-x 28 root system 4096 Oct 29 15:11 ..
drwxrwxrwt 17 root system 4096 Oct 08 15:19 .com_ibm_tools_attach
-rw-r--r-- 1 root system 5095 Nov 02 2011 .ctinst.log
-rw-r--r-- 1 root system 742 Jun 24 09:17 .list_filesets.out
-rw-r--r-- 1 root system 379 Jun 24 09:17 .list_filesets.toc
drwxrwxrwt 2 root system 256 Oct 30 15:34 .oracle
drwxr-xr-x 2 root system 256 Oct 30 15:21 .oslevel.datafiles
-rw-r--r-- 1 root system 406 Nov 02 2011 .sr_migrate.log
-rw------- 1 root system 0 Nov 02 2011 .strload.mutex
-rw-r--r-- 1 root system 41537 Jun 23 23:25 .toc
drwxr-xr-x 3 518 519 256 Jun 24 15:30 CVU_11.2.0.1.0_oracle
-rw-r--r-- 1 root system 527 Nov 02 2011 IBM.CSMAgentRM_dr.sh.dbg
drwxr-x--- 2 root system 256 Jun 28 14:29 JLU-Log
-rw-r--r-- 1 root system 156005376 Jun 23 23:22 Java6_64.sdk
-rw-r--r-- 1 root system 10 Jun 24 09:18 SM_OP8hanyt
-rw-r--r-- 1 root system 3597 Jun 28 14:29 SYMCnbp-inittab.8192060.i
-r-Sr-xr-- 1 root system 0 Nov 02 2011 Spmi.lock
-rw-r----- 1 root system 0 Oct 08 15:19 Spmi_shm_hook.v61
-rw-r----- 1 root system 0 Oct 08 15:19 Spmi_shm_hook2.v61
-rw-r----- 1 root system 1429004 Jun 23 17:40 bash-3.2-1.aix5.2.ppc.rpm
-rw-r--r-- 1 root system 704 Nov 02 2011 ctrmc_MDdr.dbg
drwxr-xr-x 9 oracle oinstall 4096 Oct 30 14:53 database
srwxrwxrwx 1 root system 0 Sep 03 17:08 dpi_socket
-rw-r--r-- 1 root system 302 Nov 02 2011 dtappint.log
d-w------- 2 root system 256 Nov 02 2011 errmbatch
-rw-r--r-- 1 root system 30793 Jun 28 14:29 install_trace.4128940
drwxrwxrwx 2 pconsole system 256 Oct 08 15:19 javasharedresources
-rw-rw-rw- 1 root system 35 Jun 28 14:29 jlucache.xml
drwxr-xr-x 2 518 519 256 Jun 24 15:30 logs
drwx------ 2 root system 256 Nov 02 2011 lost+found
-rw-rw-r-- 1 root system 204800 Oct 30 15:21 lvmt.log
-rwxrwxrwx 1 518 519 473 Jun 30 11:42 make_trace.5832716
-rwxrwxrwx 1 518 519 440 Jun 28 14:38 make_trace.5832784
-rwxrwxrwx 1 518 519 377 Jun 28 14:32 make_trace.6094966
-rw------- 1 root system 544 Oct 08 09:53 portmap.file
-rw-r--r-- 1 root system 424 Oct 08 15:18 rc.net.out
-rw-r--r-- 1 root system 0 Oct 08 15:18 rc.net.serial.out
-rw-r--r-- 1 root system 2543 Jun 24 15:30 rootpre.out_11-06-24.15:30:11
-rw-r--r-- 1 root system 2623 Oct 30 14:55 rootpre.out_11-10-30.14:55:36
-rw------- 1 root system 1432 Oct 08 09:53 rpcbind.file
d-w------- 2 root system 256 Nov 02 2011 saved_errmbatch
-rw-r--r-- 1 root system 0 Aug 04 04:24 sf33226836.00000000
-rw-r--r-- 1 root system 0 Aug 04 04:24 sf33226836.10000000
-rw-r--r-- 1 root system 0 Aug 04 04:24 sf33226836.20000000
drwxr-xr-x 23 root system 4096 Jun 29 13:52 test_backup
居然是root用户,果断改成oracle:oinstall
[Testserver@15:35:51 /tmp]$ su - root
root's Password:
[Testserver@15:36:09 /]# cd tmp/
[Testserver@15:36:15 /tmp]# chown oracle:oinstall .oracle
[Testserver@15:36:34 /tmp]# su - oracle
[Testserver@15:36:39 ~]$ lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production on 30-OCT-2011 15:36:44
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /db/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production
System parameter file is /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /db/app/oracle/diag/tnslsnr/Testserver/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.18.30)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.18.30)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.1.0 - Production
Start Date 30-OCT-2011 15:36:46
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP ON
Listener Parameter File /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /db/app/oracle/diag/tnslsnr/Testserver/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.18.30)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
[Testserver@15:36:46 ~]$
正常了
但是这个东西是做什么的呢?查了下资料,官方给出的解释是:
The folder /tmp/.oracle is used to record socket numbers which the listener establish. If oracle user don't have full permission on this folder, the listener cannot be started and raise the errors mentioned above.
意思就是说这个是用来记录监听所建立的接口数量,所以必须要给他赋予足够的oracle权限。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25915379/viewspace-714791/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25915379/viewspace-714791/