解决Oracle XDB与Tomcat等的8080端口的冲突

zgxzowen 2007-10-08

从9i开始,oracle的安装缺省包含了XDB。在数据库后,OracleXDB的http服务自动霸占了8080端口,这给使用或JBoss、Tomcat进行javaweb开发的人造成了不小的麻烦。

这里介绍修改XDB的http和ftp服务端口的3种方法:

1.使用dbms_xdb包修改端口设置

使用sys登录sqlplus

sqlplussys/syspasswordassysdba

然后执行如下的脚本

============================

--ChangetheHTTP/WEBDAVportfrom8080to8081

calldbms_xdb.cfg_update(updateXML(

dbms_xdb.cfg_get()

,'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'

,8081))

/

--ChangetheFTPportfrom2100to2111

calldbms_xdb.cfg_update(updateXML(

dbms_xdb.cfg_get()

,'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()'

,2111))

/

COMMIT;

EXECdbms_xdb.cfg_refresh;

2.使用OEMconsole

选择数据库,XMLDatabase,Configuration。更改XDB的有关设置。

3.修改SPFILE[SID名].ORA文件,去掉数据库的初始化参数:

这个文件是Oracle的启动配置文件dispatchers='(PROTOCOL=TCP)(SERVICE=XDB)',将会禁止XDB的http和ftp服务。

重启计算机,或者在服务中重启OracleService[SID名]这个服务。重启后可能无法使用EnterpriseManagerConsole和其他客户端连接,这时请使用Oracle的ConfigurationandMigrationTools/NetConfigurationAssistant工具删除监听器,然后新建一个监听器,重启监听器。

相关推荐