解决Oracle XDB与Tomcat等的8080端口的冲突
从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工具删除监听器,然后新建一个监听器,重启监听器。