原因:
Oracle 9i开始,创建数据库时默认包含了XDB特性。一旦启动了数据库和Listener,Oracle XDB的http服务就占用8080端口,刚好和JBoss、Tomcat等默认端口冲突。


解决方法
1、改动tomcat端口,
打开D:\Tomcat5\conf\server.xml,查找如下文本位置:

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified during installation --> 

 <Connector port="8080" 

 maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 

 enableLookups="false" redirectPort="8443" acceptCount="100" 

 debug="0" connectionTimeout="20000" 

 disableUploadTimeout="true" /> 修改port="8080"即可。




2.改动oracle 的XDB 8080端口
方法1:(未测试)
进入 database configuration assistant ,一路Next后会看到,“在数据库中配置数据库选项”,选择你要修改的数据库—>出现“数据库特性”标签,点“标准数据库功能”,再点“自定义”按钮,就能看到配置端口的修改地方。

方法2:(已测试)
使用sys(SYSTEM)登录Oracle SQL Plus,利用dbms_xdb修改端口设置.输入以以下代码:

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

SQL> call dbms_xdb.cfg_update(updateXML( 

 dbms_xdb.cfg_get() 

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

 , 8081)) 

 /



成功提示:

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.



tomcat与oracle端口冲突问题