在啟動tomcat的時候提示8080端口被占用,後來經過查找發現如下結論:
將Oracle與tomcat、jboss等其它占用8080端口的服務器安裝在一台機器上,會出現8080端口被占用的錯誤。
一、首先檢查8080端口的使用情況
[root@olivenan root]# lsof -i :8080 -n
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
tnslsnr 1031 oracle 12u IPv4 2013 TCP *:webcache (LISTEN)
[root@olivenan root]# lsof -i tcp:8080 -n
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
tnslsnr 1031 oracle 12u IPv4 2013 TCP *:webcache (LISTEN)
發現8080端口被oracle使用,注意lsof命令參數的使用。
[root@olivenan root]# lsof -i udp:8080 -n
[root@olivenan root]# lsof -igrep 8080
[root@olivenan root]# netstat -tlngrep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
[root@olivenan root]#
二、解決方法一
查找解決方法
將*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
修改為#*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
[oracle@olivenan dbs]$ sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.4.0 - ProdUCtion on Fri Jul 6 10:37:32 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> create spfile from pfile;
File created.
SQL> startup
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> exit
[root@olivenan root]# lsof -i :8080 -n
[root@olivenan root]
結果端口8080停止被占用
三、解決方法二
將XMLDB的端口轉換為其它端口,此例轉換為8082
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text
()', 8082));
Call completed.
SQL> exec dbms_xdb.cfg_refresh;
PL/SQL procedure successfully completed.
將FTP端口由2100轉換為2111
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text
()',2111));
Call completed.
SQL> commit;
Commit complete.
SQL> exec dbms_xdb.cfg_refresh;
PL/SQL procedure successfully completed.
SQL>
SQL> select dbms_xdb.cfg_get from dual;
CFG_GET
--------------------------------------------------------------------------------