时间:2021-07-01 10:21:17 帮助过:45人阅读
Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决
[oracle@rac01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 29 21:06:10 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> connect system/***@astt
ERROR:
ORA-12537: TNS:connection closed
[root@rac01 app]# ls -ltr
drwxr-xr-x 3 root oinstall 4096
08-28 19:05 grid
drwxrwx--- 6 grid oinstall 4096
08-29 00:03 oraInventory
drwxrwxr-x 7 oracle oinstall 4096 08-29 00:20 oracle
[root@rac01 app]# chmod 755 oracle
[root@rac01 app]# chmod 755 grid
[root@rac01 app]# ls -ltr
drwxr-xr-x 3 root oinstall 4096
08-28 19:05 grid
drwxrwx--- 6 grid oinstall 4096
08-29 00:03 oraInventory
drwxr-xr-x 7 oracle oinstall 4096 08-29 00:20 oracle
[oracle@rac01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 29 21:28:23 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> connect system/***@astt;
????
SQL>
SQL> select instance_name from gv$instance;
INSTANCE_NAME
----------------
astt1
astt2
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
astt1
SQL>
参考:
metalink [ID 1069517.1]:
官方解释如下:
Applies to:
Oracle Net Services - Version: 8.1.7.0
to 11.2.0.1 - Release: 8.1.7 to 11.2
Generic UNIX
Checked for relevance on 30-Apr-2010
Symptoms
Connection to the database server fails with ORA-12546 or
ORA-12537
Local connections working fine but the connection via listener fails with ORA-12537 or ORA-12547
[oracle@myhost]$ sqlplusmyuser/mypass@mytns
SQL*Plus: Release 11.1.0.7.0 - Production on Fri Apr 30 21:32:18 2010
Copyright (c) 1982, 2008, Oracle. All rights reserved.
ERROR:
ORA-12537: TNS:connection closed
The listener log for the failing connection shows following error message -
TNS-12518: TNS:listener could not hand off client
connection
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied
Linux Error: 13: Permission denied
Or
TNS-12518: TNS:listener could not hand off client
connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
IBM/AIX RISC System/6000 Error: 32: Broken pipe
Cause
Permissions on oracle binary ( $ORACLE_HOME/bin/oracle ) are not
set correctly.
Solution
The OS level error message in the listener log "Linux Error: 13:
Permission denied" indicates that the listener was not able to hand
off the connection to oracle processes or not able to spawn a new
dedicated user process because of lack of permission at the OS
level. To resolve the error -
1. Check and correct the permission on /var/tmp/.oracle directory. Permissions on this directory should be 777 with sticky bit set.
# chmod 01777 /var/tmp/.oracle
2. Check and correct permissions on $ORACLE_HOME/bin/oracle binary and make sure that it is set to 6751.
$ chmod 6751 $ORACLE_HOME/bin/oracle
检查自己环境,确实发现不是正确的权限
[root@ract1 bin]# pwd
/oracle/product/11.2.0/bin
[root@ract1 bin]# ls -la oracle
-rwxr-s--x 1 oracle asmadmin 228886426 Jan 7 15:46 oracle
[root@ract1 bin]# chmod 6751 oracle- -注意使用root用户给权限
[root@ract1 bin]# ls -la oracle
-rwsr-s--x 1 oracle asmadmin 228886426 Jan 7 15:46 oracle
修改后登陆正常:
[oracle@ract2 ~]$ sqlplussys/oracle@10.20.31.36:1521/racdbas sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Thu Jan 17 14:48:25 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit
Production
With the Partitioning, Real Application Clusters, Automatic Storage
Management, OLAP,
Data Mining and Real Application Testing options
SQL>
Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决
标签:mail directory ann nod ups oms apt content detail