在啟動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 -i|grep 8080
[root@olivenan root]# netstat -tln|grep 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 t
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
--------------------------------------------------------------------------------
檢查轉換結果,發現8080,2100端口停止使用,而8082、2111端口開始使用。
[root@olivenan root]# lsof -i :8080 -n
[root@olivenan root]# lsof -i :8082 -n
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
tnslsnr 1031 oracle 12u IPv4 18456 TCP *:8082 (LISTEN)
[root@olivenan bin]# lsof -i :2100 -n
[root@olivenan root]# lsof -i :2111 -n
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
tnslsnr 1031 oracle 13u IPv4 18462 TCP *:2111 (LISTEN)
[root@olivenan root]#
四、lsof命令的使用
lsof -i TCP:port -n
lsof -i UDP:port -n
lsof -i :port -n
# lsof -i tcp:8080 -n
以下是轉載
************************************
注:上面是解決和XDB沖突的,我發現大部分人問的是和OSE(oracle servlet engine)沖突的,現象是訪問8080端口時,看到的是一個倔強的小
飛豬,呵呵。
下面是解決方法:
我的oracle是裝在D盤,大家可以根據自己情況找
D:oracleora90jisinstall>sess_sh -u sys/change_on_install -role SYSDBA -s jdbc:oracle:oci8:@oradb(這里填你的服務名,我的是
oradb)
--Session Shell--
--type "help" at the command line for help message
@serverendp.ssh admin 4321 4322 -register
exit
就能把原來的8080換成4321,把9090換成4322.
新聞熱點
疑難解答