最近在学习oracle数据库,在启动监听的时候发生了TNS-12555/ TNS-12560 TNS-00525错误,详细报错信息如下:
TNSLSNR for Linux: Version 11.2.0.3.0 - Production
System parameter file is /dba/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /dba/oracle/diag/tnslsnr/ol6-single/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle_test)(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 permitted
上面报错信息,其实是很清晰的报出,是因为权限问题所导致的不能正常启动。但是,到底是哪个文件的权限不足所导致的呢?这个很关键。通过查找相关技术资料,提供了下面的信息:
Some IPC keys have been reused from older listener(s)
Same listener has previously been started under different OS users
Listeners running under different OS users are using the same IPC keys
Permissions in /var/tmp have been previously reset.
/var/tmp目录下只有一个隐藏文件夹,那就是.oracle,现在看到是/var/tmp/.oracle文件夹或其下级文件夹的权限问题了。
将/var/tmp/.oracle授权之后 chmod -R 777 /var/tmp/.oracle,再次启动监听没有问题。