Oracle 9i开始,创建数据库时默认包含了XDB特性。一旦启动了数据库和Listener,Oracle XDB的http服务就占用8080端口,刚好和JBoss、Tomcat等默认端口冲突。因此,必须有一个做出更改。改Tomcat等容易,只是一时不知道怎么改XDB的配置。 

 

原来Oracle XDB的端口设置不在配置文件中,而是在数据库里。

总的来说,修改XDB的http和ftp服务端口的方法总共有3种: 

 

1。使用sys登录Oracle,利用dbms_xdb修改端口设置,修改过程如下:



SQL> -- Change the HTTP/WEBDAV port from 8080 to 8081

SQL> call dbms_xdb.cfg_update(updateXML(

2 dbms_xdb.cfg_get()

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

4 , 8081))

5 /

 

Call completed.

 

 

SQL> -- Change the FTP port from 2100 to 2111

SQL> call dbms_xdb.cfg_update(updateXML(

2 dbms_xdb.cfg_get()

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

4 , 2111))

5 /

 

Call completed.

 

 

SQL> COMMIT;

 

Commit complete.

 

 

SQL> EXEC dbms_xdb.cfg_refresh;

 

PL/SQL procedure successfully completed.

 


 

2。使用OEM console,选择数据库,XML Database,Configuration。更改XDB的有关设置。

3。去掉数据库的初始化参数: dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)',将会禁止XDB的http和ftp服务。

这篇文档(​​http://www.idevelopment.info/data/Oracle/DBA_tips/xmldb/XMLDB_2.shtml​​)

很详细解释了XDB的端口设置问题。