Linux中Oracle启动侦听报错TNS:permission denied的解决方法

前言

最近在开发环境 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 这个目录也是可以的,我没有尝试,不知道效果如何,这里仅作笔记。

总结

本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!


数据运维技术 » Linux中Oracle启动侦听报错TNS:permission denied的解决方法