在服务器上安装了Oracle DB XE 11g release 2, 开始运行一切正常,但突然有一天,不行了。SQL Developer说连接找不到,到了服务器上,运行
1 |
/etc/init.d/oracle-xe status |
得到的状态是“No listener”, “Connection Refused”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 16-MAY-2012 17:23:36 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 111: Connection refused Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bclnx64-4)(PORT=1521))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 111: Connection refused |
为啥呢?后来才发现是因为我安装了Jenkins, 这个万恶的东西,把很多目录的权限给改了。其中之一就是Oracle在/var/tmp目录下文件的权限。
1 |
drwxrwxrwt 2 root root 4096 Apr 16 17:47 .oracle |
修改成777就行了。
1 |
sudo chmod 777 -R /var/tmp/.oracle |
再
1 |
sudo /etc/init.d/oracle-xe restart |
好了,一切正常了!