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

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

解决Oracle 9i和Tomcat端口冲突


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 160 ::
收藏到网摘: 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监听器启动,就不会冲突了。