日期:2014-05-16  浏览次数:20372 次

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

从9i开始,oracle的安装缺省包含了XDB。在数据库后,Oracle XDB的http服务自动霸占了8080端口,这给使用或JBoss、Tomcat进行java web开发的人造成了不小的麻烦。
这里介绍修改XDB的http和ftp服务端口的3种方法:

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

  使用sys登录sqlplus
sqlplus sys/syspassword as sysdba
然后执行如下的脚本
============================
--? Change? the? HTTP/WEBDAV? port? from? 8080? to? 8081
call? dbms_xdb.cfg_update(updateXML(
?? dbms_xdb.cfg_get()
?? ,? '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
?? ,? 8081))
/
--? Change? the? FTP? port? from? 2100? to? 2111
call? dbms_xdb.cfg_update(updateXML(
?????? dbms_xdb.cfg_get()
?? ,? '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()'
?? ,? 2111))
/
COMMIT;
EXEC? dbms_xdb.cfg_refresh;


  2.使用OEM? console

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

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

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

  重启计算机,或者在服务中重启OracleService[SID名]这个服务。重启后可能无法使用Enterprise? Manager? Console和其他客户端连接,这时请使用Oracle的Configuration? and? Migration? Tools/Net? Configuration? Assistant工具删除监听器,然后新建一个监听器,重启监听器。