当前位置: 首页 > 数据库 > oracle >

ORA-12537: TNS:connection closed问题解决

[root@db1 ~]# chmod 6751 /u01/app/oracle/product/11.2.0.4/db_1/bin/oracle
[root@db1 ~]# setasmgidwrap -o /u01/app/oracle/product/11.2.0.4/db_1/bin/oracle

问题一:客户端无法连接数据库,并报错:ORA-12537: TNS:connection closed
lsnrctl status 监听正常,lsnrclt stop/start 能正常启动,尝试连接,依然报同样的错,再查看监听日志,没发现明显的错误信息,然后在网上查找到解决办法(链接:http://blog.itpub.net/post/38575/530168):
        修改$ORACLE_HOME/bin 下的oracle文件的权限
  具体操作过程:
                   [oracle@rac1 ~]cdORACLE_HOME/bin/
                   [oracle@rac1 bin]$ ls -l oracle
                    -r-xr-sr-x 1 oracle asmadmin 173515905 Dec 21 16:46 oracle
                   [oracle@rac1 bin]$ chmod 6751 oracle
                   [oracle@rac1 bin]$ ls -l oracle
                     -rwsr-s--x 1 oracle asmadmin 173515905 Dec 21 16:46 oracle

问题二、在Oracle中,如果oracle用户下的$ORACLE_HOME/bin/oracle文件的属主或权限出了问题,那么该如何修复呢?

答案:如果可执行文件$ORACLE_HOME/bin/oracle的属主或权限设定出了问题,那么可能会造成很多问题。例如:无法登陆到数据库、ora-600错误、“TNS-12518: TNS:listener could not hand off client connection”、“Linux Error: 32: Broken pipe”、“ORA-12537: TNS:connection closed”、访问ASM磁盘出错等。解决办法很简单,可以在grid用户下运行setasmgidwrap命令重新配置$ORACLE_HOME/bin/oracle可执行文件的权限和属主或者直接将oracle文件的权限修改为6751。$ORACLE_HOME/bin/oracle可执行文件正确属主应该是oracle:asmadmin,并且权限必须有s才可以,如下所示:

 

[root@orclalhr ~]$ which setasmgidwrap
/u01/app/11.2.0/grid/bin/setasmgidwrap
[root@orclalhr ~]$ setasmgidwrap -o /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]$ ll /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21  2015 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]# ll /u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x. 1 grid oinstall 203972117 Jan  5  2015 /u01/app/11.2.0/grid/bin/oracle
[root@orclalhr ~]# chmod 6751 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]# ll /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21  2015 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr bin]# cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
[root@orclalhr bin]# which stat
/usr/bin/stat
[root@orclalhr bin]# stat oracle
  File: `oracle'
  Size: 210823844       Blocks: 411776     IO Block: 4096   regular file
Device: 802h/2050d      Inode: 1717737     Links: 1
Access: (6751/-rwsr-s--x)  Uid: (  501/  oracle)   Gid: (  504/asmadmin)
Access: 2017-03-16 12:33:44.809363974 +0800
Modify: 2014-05-18 17:09:50.508549983 +0800
Change: 2017-03-16 11:05:15.733816820 +0800

------分隔线----------------------------