tomcat与oracle端口冲突有关问题

tomcat与oracle端口冲突问题
原因:
     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端口冲突问题