Linux下Oracle Tomcat 8080端口沖突的解決 |
發(fā)布時間: 2012/8/4 17:09:55 |
在啟動tomcat的時候提示8080端口被占用,后來經(jīng)過查找發(fā)現(xiàn)如下結(jié)論: 將Oracle與tomcat、jboss等其它占用8080端口的服務(wù)器安裝在一臺機器上,會出現(xiàn)8080端口被占用的錯誤 一、首先檢查8080端口的使用情況 [root@olivenan root]# lsof -i :8080 -n COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME-
[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 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] 結(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 SQL> 檢查轉(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端口時,看到的是一個倔強的小飛豬。 下面是解決方法: 我的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 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |