解決11gR2 Rac ORA-12537: TNS:connection closed 一例

快樂的大個子發表於2012-06-12

Solaris 10, oracle 11.2.0.3, RAC, 非ASM, 使用SCAN和DNS

狀況:

oracle@US1S-ISTORDB03A # tnsping ISUITE

TNS Ping Utility for Solaris: Version 11.2.0.3.0 - Production on 12-JUN-2012 08:04:45

Copyright (c) 1997, 2011, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=us1s-istordb03-scan)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ISUITE)))
OK (10 msec)

oracle@US1S-ISTORDB03A # tnsping ISUITE1

TNS Ping Utility for Solaris: Version 11.2.0.3.0 - Production on 12-JUN-2012 08:04:55

Copyright (c) 1997, 2011, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=us1s-istordb03a-vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=us1s-istordb03b-vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ISUITE)))
OK (0 msec)

oracle@US1S-ISTORDB03A # sqlplus xxx/xxxxxx@isuite

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 12 06:12:38 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

ERROR:
ORA-12537: TNS:connection closed

oracle@US1S-ISTORDB03A # sqlplus xxx/xxxxx@isuite1

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 12 06:12:38 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

ERROR:
ORA-12537: TNS:connection closed

tnsping可以通說明tnsnames.ora寫的沒問題,但是怎麼還回有連線問題呢?

由於是11G的RAC,listener不歸oracle使用者管,是grid使用者管的。查了GI下listener相關,也沒發現異常。

在metalink上找到一篇,ID 1069517.1相關的,開始檢查

1. 用listener的owner使用者檢查rdbms_home目錄下是否有許可權

grid@US1S-ISTORDB03A # ls -l /xxx/app/oracle/product/11.2.0.3/db/bin/oracle
-rwsr-s--x   1 oracle   oinstall 233186712 May 10 09:00 /xxx/app/oracle/product/11.2.0.3/db/bin/oracle

這項沒有問題。

2. 檢視該目錄許可權 是否是6751:

-rwsr-s--x  也沒有問題,如果這裡不是這樣,請使用:

chmod 6751  /xxx/app/oracle/product/11.2.0.3/db/bin/oracle

修改。

3. 檢查oracle軟體目錄的檔案系統是否支援setuid/suid,或者是被設定成了nosetuid。我開始流汗了。。。。

grid@US1S-ISTORDB03A # mount| grep /xxx
/xxx on /dev/md/dsk/d56 read/write/nosetuid/nodevices/intr/largefiles/logging/xattr/onerror=panic/dev=1540038 on Fri May 11 23:22:40 2012

我靠,居然中招了,系統組的同事,我要吐槽!!!

@*((*&(*&(!(&$))%)*(&

發郵件,15分鐘反饋,改好了,變成setuid了。問題解決。

grid@US1S-ISTORDB03A # mount| grep /xxx
/xxx on /dev/md/dsk/d56 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1540038 on Tue Jun 12 07:43:59 2012


oracle@US1S-ISTORDB03A # sqlplus xxx/xxxxxx@ISUITE1

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 12 07:50:30 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters and Real Application Testing options

SQL>

MOS ID 1069517

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22128702/viewspace-732589/,如需轉載,請註明出處,否則將追究法律責任。

相關文章