前言
最近在开发环境 oracle 启动侦听的时候,出现了 tns:permission denied 的问题,通过网上和咨询朋友,最终找到了解决方案,现在共享出来给有需要的朋友。
错误描述
[oracle@oracle ~]$ lsnrctl start lsnrctl for linux: version 11.2.0.1.0 - production on 27-mar-2015 15:37:59 copyright (c) 1991, 2009, oracle. all rights reserved. starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait... tnslsnr for linux: version 11.2.0.1.0 - production system parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora log messages written to /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml 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 permitted listener failed to start. see the error message(s) above...
解决方案
出现这个错误是由于没有 /var/tmp/.oracle
的读写权限引起的。由于开发环境没有严格管理,不知道哪位同学把此目录的所有者改成了root,导致 oracle 用户没有权限操作此目录。使用下面方式修正过来即可。
cd /var/tmp chown oracle .oracle chgrp oinstall .oracle chmod 777 .oracle
看到网上有资料说 直接干掉 /var/tmp/.oracle
这个目录也是可以的,我没有尝试,不知道效果如何,这里仅作笔记。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。