在啟動(dòng)tomcat的時(shí)候提示8080端口被占用,后來經(jīng)過查找發(fā)現(xiàn)如下結(jié)論:
將oracle與tomcat、jboss等其它占用8080端口的服務(wù)器安裝在一臺(tái)機(jī)器上,會(huì)出現(xiàn)8080端口被占用的錯(cuò)誤。
一、首先檢查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)
發(fā)現(xiàn)8080端口被oracle使用,注意lsof命令參數(shù)的使用。
[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]
結(jié)果端口8080停止被占用
三、解決方法二
將xmlDB的端口轉(zhuǎn)換為其它端口,此例轉(zhuǎn)換為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轉(zhuǎn)換為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
--------------------------------------------------------------------------------
檢查轉(zhuǎn)換結(jié)果,發(fā)現(xiàn)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
以下是轉(zhuǎn)載
************************************
注:上面是解決和XDB沖突的,我發(fā)現(xiàn)大部分人問的是和OSE(oracle servlet engine)沖突的,現(xiàn)象是訪問8080端口時(shí),看到的是一個(gè)倔強(qiáng)的小
飛豬,呵呵。
下面是解決方法:
我的oracle是裝在D盤,大家可以根據(jù)自己情況找
D:oracleora90jisinstall>sess_sh -u sys/change_on_install -role SYSDBA -s jdbc:oracle:oci8:@oradb(這里填你的服務(wù)名,我的是
oradb)
--Session Shell--
--type "help" at the command line for help message
@serverendp.ssh admin 4321 4322 -register
exit
就能把原來的8080換成4321,把9090換成4322.
新聞熱點(diǎn)
疑難解答
圖片精選