当前位置: 首页 > 图文教程 > 数据库 > Oracle > 解决Oracle 9i和Tomcat端口冲突

Oracle
Oracle数据库系统紧急故障处理方法
Oracle SQL性能优化系列学习一
Oracle 数据库操作技巧集
Oracle组件实现动态Web数据库
ORACLE常见错误代码的分析与解决二
ORACLE常见错误代码的分析与解决三
在Oracle 8x实现自动断开后再连接
深刻理解Oracle数据库的启动和关闭
Oracle对两个数据表交集的查询
Oracle 8i字符集乱码问题析及其解决办法
Oracle 数据库管理脚本命名规范
Oracle不同数据库间对比分析脚本
Oracle数据库安全策略
Oracle数据库的空间管理技巧
Oracle数据库系统使用经验六则
ORACLE数据库应用开发常见问题及排除
Oracle系统表外键的更名
Oracle约束管理脚本
如何确定Oracle数据库表重复的记录
Oracle数据库索引的维护

解决Oracle 9i和Tomcat端口冲突


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 153 ::
收藏到网摘: n/a

    问题:
 1、同时安装Desktop、Engine,Engine部分控件不能用,老是提示要授权。
 2、将Desktop卸载,Engine大多数控件能用,少部分不能用。


    问题关键:
 Engine授权文件有问题。现在网上Engine9.0的授权文件版本太多了,但有些可以,有些是不能用的。其实我就是被这个问题所困,迟迟不能解决,现将可用的Engine9.0授权文件公布如下(绝对可用):
3dengine,9,ecp379783729,none,D7MGJE2110L5J9HSX169
designer,9,ecp240010879,none,GB20C3RM03HXNTNE9005
gdbedit,9,ecp180013971,none,PMYP34S0PBAM2T8AG239
spatialengine,9,ecp339810398,none,8SJA84S0PDJ94P7EJ048
standardengine,9,ecp100001222,none,6PC42XLJH4C5LMZ59217
streetmapengine,9,ecp299948323,none,1JHDJK988L2MC2EN0146 

    解决方法:
 1、安装Desktop,配置License Manager,过程我就不说了吧;
 2、安装Engine,用以上授权文件注册。
 3、此时部分控件仍然不能用。
 4、请将license.dat中的Feature Designe项删除并保存,重启License Manager;
 5、问题解决。

    方案一:
    新装了系统后,发现在调试程序时TOMCAT提示8080端口已被占用,于是运行NETSTAT -ANO查看端口使用情况,发现8080端口被ORACLE的监听器给占用了,于是结合上网查到方法,将ORACLE XDB的HTTP服务端口改成8081,问题解决。
 
    总结一下可解决的方法:
一、更改TOMCAT的默认端口
     相关文件:"TOMCAT ROOT"\conf\server.xml
 
二、使用sys登录Oracle,利用dbms_xdb修改端口设置
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> COMMIT;
    提示:Commit complete.
SQL> EXEC dbms_xdb.cfg_refresh;
    提示:PL/SQL procedure successfully completed.
三、使用Enterprise Manager Console,选择数据库——XML 数据库——配置,更改http-port的默认值为8081。

    方案二:
    安装Oracle数据库后,当我们访问8080端口时,会弹出一个XDB窗口,要求输入用户名和密码。这样将和我们本地一些使用该端口的应用冲突,比如tomcat、jboss等,虽然这些端口是可以修改的,但总是不爽oracle一直占用这个端口。
    Oracle数据库可以使用TCP协议通过8080端口进行连接,所以占用了8080端口。
要取消占用,可以打开Oracle安装目录下的database目录内的SPFILE[SID名].ORA文件进行修改。这个文件是Oracle的启动配置文件。
把其中的*.dispatchers='(PROTOCOL=TCP) (SERVICE=or9iXDB)'这一行去掉即可。
然后重启计算机,或者在服务中重启OracleService[SID名]这个服务。重启后可能无法使用Enterprise Manager Console和其他客户端连接,这时请使用Oracle的Configuration and Migration Tools/Net Configuration Assistant工具删除监听器,然后新建一个监听器,重启监听器。
使用Configuration and Migration Tools/Net Manager工具,将服务命名删除,然后新建一个。
现在Oracle应该就可以正常使用,8080也不会占用了。
    补充:
其实这与服务的启动顺序有关,可以先把oracle监听器服务设为手动,tomcat设为自动,重启电脑,测试http://localhost:8080,这时可以看到大猫了,哈哈...然后再把oracle监听器启动,就不会冲突了。