linux操作系统里面,有时候未停掉监听,然后就去修改监听参数文件,可能会出现后台进程死掉,导致端口被占用,提示
TNS:protocol is already in use。
TNS:protocol is already in use。
解决方法:
1.查找被占用的端口
netstat -tln 查看端口使用情况
netstat -tln | grep 1521则是只查看端口1521的使用情况
2.查看端口属于哪个程序?端口被哪个进程占用
[oracle@zhurui ~]$ lsof -i:1521
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
oracle 9408 oracle 12u IPv4 151216 0t0 TCP zhurui.oracle.com:13357->zhurui.oracle.com:ncube-lm (ESTABLISHED)
tnslsnr 13693 oracle 8u IPv6 151196 0t0 TCP *:ncube-lm (LISTEN)
tnslsnr 13693 oracle 12u IPv6 148802 0t0 TCP zhurui.oracle.com:ncube-lm->zhurui.oracle.com:13357 (ESTABLISHED)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
oracle 9408 oracle 12u IPv4 151216 0t0 TCP zhurui.oracle.com:13357->zhurui.oracle.com:ncube-lm (ESTABLISHED)
tnslsnr 13693 oracle 8u IPv6 151196 0t0 TCP *:ncube-lm (LISTEN)
tnslsnr 13693 oracle 12u IPv6 148802 0t0 TCP zhurui.oracle.com:ncube-lm->zhurui.oracle.com:13357 (ESTABLISHED)
3.杀掉占用端口的进程 根据pid杀掉
kill -9 进程id
kill -9 9408
4.或者使用其他的端口号,同样可以适用。
然后重启监听就可以了。
4.或者使用其他的端口号,同样可以适用。
然后重启监听就可以了。