在启动tomcat的时候提示8080端口被占用,后来经过查找发现如下结论:
将oracle与tomcat、jboss等其它占用8080端口的服务器安装在一台机器上,会出现8080端口被占用的错误。
一、首先检查8080端口的使用情况
[root@olivenanroot]#lsof-i:8080-n
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
tnslsnr1031oracle12uIPv42013TCP*:webcache(LISTEN)
[root@olivenanroot]#lsof-itcp:8080-n
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
tnslsnr1031oracle12uIPv42013TCP*:webcache(LISTEN)
发现8080端口被oracle使用,注意lsof命令参数的使用。
[root@olivenanroot]#lsof-iudp:8080-n
[root@olivenanroot]#lsof-i|grep8080
[root@olivenanroot]#netstat-tln|grep8080
tcp000.0.0.0:80800.0.0.0:*LISTEN
[root@olivenanroot]#
二、解决方法一
查找解决方法
将*.dispatchers=''(PROTOCOL=TCP)(SERVICE=orclXDB)''
修改为#*.dispatchers=''(PROTOCOL=TCP)(SERVICE=orclXDB)''
[oracle@olivenandbs]$sqlplus"/assysdba"
SQL*Plus:Release9.2.0.4.0-ProductiononFriJul610:37:322007
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
Connectedto:
Oracle9iEnterpriseEditionRelease9.2.0.4.0-Production
WiththePartitioning,OLAPandOracleDataMiningoptions
JServerRelease9.2.0.4.0-Production
SQL>shutdownimmediate
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>createspfilefrompfile;
Filecreated.
SQL>startup
ORACLEinstancestarted.
TotalSystemGlobalArea236000356bytes
FixedSize451684bytes
VariableSize201326592bytes
DatabaseBuffers33554432bytes
RedoBuffers667648bytes
Databasemounted.
Databaseopened.
SQL>exit
[root@olivenanroot]#lsof-i:8080-n
[root@olivenanroot]
结果端口8080停止被占用
三、解决方法二
将xmlDB的端口转换为其它端口,此例转换为8082
SQL>calldbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),''/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text
()'',8082));
Callcompleted.
SQL>execdbms_xdb.cfg_refresh;
PL/SQLproceduresuccessfullycompleted.
将ftp端口由2100转换为2111
SQL>calldbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),''/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text
()'',2111));
Callcompleted.
SQL>commit;
Commitcomplete.
SQL>execdbms_xdb.cfg_refresh;
PL/SQLproceduresuccessfullycompleted.
SQL>
SQL>selectdbms_xdb.cfg_getfromdual;
CFG_GET
--------------------------------------------------------------------------------
SQL>
检查转换结果,发现8080,2100端口停止使用,而8082、2111端口开始使用。
[root@olivenanroot]#lsof-i:8080-n
[root@olivenanroot]#lsof-i:8082-n
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
tnslsnr1031oracle12uIPv418456TCP*:8082(LISTEN)
[root@olivenanbin]#lsof-i:2100-n
[root@olivenanroot]#lsof-i:2111-n
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
tnslsnr1031oracle13uIPv418462TCP*:2111(LISTEN)
[root@olivenanroot]#
四、lsof命令的使用
lsof-iTCP:port-n
lsof-iUDP:port-n
lsof-i:port-n
#lsof-itcp:8080-n
以下是转载
************************************
注:上面是解决和XDB冲突的,我发现大部分人问的是和OSE(oracleservletengine)冲突的,现象是访问8080端口时,看到的是一个倔强的小
飞猪,呵呵。
下面是解决方法:
我的oracle是装在D盘,大家可以根据自己情况找
D:oracleora90jisinstall>sess_sh-usys/change_on_install-roleSYSDBA-sjdbc:oracle:oci8:@oradb(这里填你的服务名,我的是
oradb)
--SessionShell--
--type"help"atthecommandlineforhelpmessage
$@serverendp.sshadmin43214322-register
$exit
就能把原来的8080换成4321,把9090换成4322.
(责任编辑:凌云通)
下载本文示例代码
阅读(367) | 评论(0) | 转发(0) |