IT教程 | 加入收藏 | 简体 | 繁体
Oracle教程:MySQL教程SQL Server...Oracle教程DB2教程Sybase教程Access教程
当前位置: 首页 > 数据库 > Oracle教程

解决oracle 监听程序与Http8080端口冲突

2011-11-20来源:[www.121ask.com]热度:0℃ 【字体:

tomcat的默认端口为8080而oracle9i中的TNSLSNR.exe进程占用了。

从Oracle 9i开始,Oracle的安装缺省包含了XDB。在启动数据库后,Oracle XDB的http服务将会自动占用了8080端口,这给使用或JBoss、Tomcat进行java web开发的人造成了许多不必要的麻烦。

DLL 文件: tnslsnr.exe
DLL 名称: tnslsnr.exe

描述:
OracleSQL的监听器服务。


同时你可在cmd窗口中输入netstat -anb 然后回车。即可查看所有的端口占用情况。

此问题还有一个表象:就是输入网页地址会弹出一个要求输入用户名和密码的窗口,窗口名字是叫XDB。
如下图所示:



可以有两种方法解决:
1. 改tomcat的监听端口.
修改$tomcat_home/config/server.xml中host节点的port值
2.修改oracle默认的xdb监听端口
Oracle 9i创建数据库时默认包含了XDB特性。一旦启动了数据库和Listener,Oracle XDB的http服务就占用8080端口,
刚好和JBoss、Tomcat等默认端口冲突,Oracle XDB的端口设置不在配置文件中,而是在数据库里。
修改XDB的http和ftp服务端口的方法有3种:

1.使用dbms_xdb包修改端口设置

使用sys登录sqlplus

sqlplus sys/password as sysdba

执行如下的脚本:

-- Change the HTTP/WEBDAV port from 8080 to 8081
call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()' , 8081))
/
-- Change the FTP port from 2100 to 2111
call dbms_xdb.cfg_update(updateXML( dbms_xdb.cfg_get() , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()' , 2111))
/
COMMIT;
EXEC dbms_xdb.cfg_refresh;



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

3、去掉数据库的初始化参数:

dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)',将会禁止XDB的http和ftp服务。

操作完三种方法后,需要重启计算机,或者在服务中重启OracleService[SID名]这个服务。
重启后如果无法使用Enterprise Manager Console和其他客户端连接,请使用Oracle的Configuration and Migration Tools/Net Configuration Assistant工具删除监听器,然后新建一个监听器,最后重启监听器。
 

 
我是采用执行文中红色标记的脚步解决该问题的。
以上IT文章《解决oracle 监听程序与Http8080端口冲突》由名客技术网[www.121ask.com]提供阅读!
推荐软件
    名客技术网是一个免费为广大IT技术人员提供IT教程,绿色软件,asp/php/jsp/java/net等实例视频教程,CMS教程,破解软件下载以及学习相关源码、知识的IT网站。
    名客技术网如果无意之中侵犯了您的版权,请来电告知,本站将在3个工作日内删除 QQ:175352796
    Copyright 2011-2017 Powered by 121ASK.COM, All Rights Reserved.
    备案号:鄂ICP备11013833号-3