首页 > 代码库 > 监听报错 TNS-00525: Insufficient privilege for operation 11gR2 + 连接报错ORA-12537: TNS:connection closed
监听报错 TNS-00525: Insufficient privilege for operation 11gR2 + 连接报错ORA-12537: TNS:connection closed
1.TNS-00525: Insufficient privilege for operation
Started with pid=30869Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(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 Linux Error: 1: Operation not permittedNo longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(PORT=1521)))2014-07-10 14:17:16.811000 +08:00System parameter file is /u01/app/11.2.0/grid/network/admin/listener.oraLog messages written to /u01/app/grid/diag/tnslsnr/ora11g/listener/alert/log.xmlTrace information written to /u01/app/grid/diag/tnslsnr/ora11g/listener/trace/ora_30888_47191985552112.trcTrace level is currently 0
检查/tmp/.oracle 和 /var/tmp/.oracle 这2个文件夹的属组是否正确,如果不正确,改为 chown -R grid:oinstall
2.在保证上面2个目录权限正确的情况下,连接报错ORA-12537: TNS:connection closed
[oracle@ora11g admin]$ tnsping 192.168.0.164/iscTNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 10-JUL-2014 14:20:44Copyright (c) 1997, 2011, Oracle. All rights reserved.Used parameter files:/u01/app/oracle/product/11.2.0/db_1/network/admin/sqlnet.oraUsed HOSTNAME adapter to resolve the aliasAttempting to contact (DESCRIPTION=(CONNECT_DATA=http://www.mamicode.com/(SERVICE_NAME=isc))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.164)(PORT=1521)))OK (0 msec)[oracle@ora11g admin]$ sqlplus isc/isc@192.168.0.164/iscSQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 10 14:21:09 2014Copyright (c) 1982, 2011, Oracle. All rights reserved.ERROR:ORA-12537: TNS:connection closedEnter user-name:
tnsping正常,监听状态正常,但是连接报错ora-12537。
检查$ORACLE_HOME/bin/oracle的权限应该为6751
[oracle@ora11g admin]$ ls -la $ORACLE_HOME/bin/oracle-rwxr-s--x 1 oracle asmadmin 232399473 Nov 11 2013 /u01/app/oracle/product/11.2.0/db_1/bin/oracle[oracle@ora11g admin]$ chmod 6751 $ORACLE_HOME/bin/oracle[oracle@ora11g admin]$ ls -la $ORACLE_HOME/bin/oracle-rwsr-s--x 1 oracle asmadmin 232399473 Nov 11 2013 /u01/app/oracle/product/11.2.0/db_1/bin/oracle
官方的解释:
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
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