`

[转]Oracle XDB Http/Ftp服务默认端口与Tomcat等默认端口冲突解决方案

阅读更多

【原文地址】http://blog.csdn.net/stevene/archive/2006/01/10/575194.aspx


安装 Tomcat 后,启动 tomcat 时,会出现:

2005-10-12 13:46:57 org.apache.commons.modeler.Registry loadRegistry

信息 : Loading registry information

2005-10-12 13:46:57 org.apache.commons.modeler.Registry getRegistry

信息 : Creating new Registry instance

2005-10-12 13:46:57 org.apache.commons.modeler.Registry getServer

信息 : Creating MBeanServer

2005-10-12 13:46:58 org.apache.coyote.http11.Http11Protocol init

严重 : Error initializing endpoint

java.net.BindException: Address already in use: JVM_Bind:8080

       at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:270)

    ……

冲突提示。

在浏览器中访问 http://127.0.0.1:8080 时出现 XDB 登录窗口而不是 Tomcat Welcome 页面,如下:

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> </shapetype> <stroke joinstyle="miter"> </stroke> <formulas> </formulas> <f eqn="if lineDrawn pixelLineWidth 0"> </f> <f eqn="sum @0 1 0"> </f> <f eqn="sum 0 0 @1"> </f> <f eqn="prod @2 1 2"> </f> <f eqn="prod @3 21600 pixelWidth"> </f> <f eqn="prod @3 21600 pixelHeight"> </f> <f eqn="sum @0 0 1"> </f> <f eqn="prod @6 1 2"> </f> <f eqn="prod @7 21600 pixelWidth"> </f> <f eqn="sum @8 21600 0"> </f> <f eqn="prod @7 21600 pixelHeight"> </f> <f eqn="sum @10 21600 0"> </f> <lock v:ext="edit" aspectratio="t"> </lock> <shape id="_x0000_i1025" style="width: 180pt; height: 155.25pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.jpg" o:title="loginxdb"> </imagedata>

进入命令行,运行 netstat –a 命令查看端口, 8080 已被占用(如下),什么原因呢?

<shape id="_x0000_i1026" style="width: 414.75pt; height: 220.5pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.jpg" o:title="netstat"> </imagedata>

这是因为这台机器上已经安装了 Oracle 9i 数据库。从 Oracle 9i 开始,创建数据库时默认包含了 XDB 特性。 Oracle9i 支持 XML 数据库, 8080 Oracle XDB XML 数据库) Http 服务的默认端口, Oracle XDB 还有一个 Ftp 服务,默认端口是 2100 。而 Tomcat Jboss 等的默认端口也是 8080 ,所以出现冲突,另外从网上查询得知 Oracle XDB 的端口设置不在配置文件中,而是在数据库里。

那么怎么解决呢?这里介绍四种解决冲突的方式,都比较简单:

一、修改 Tomcat 端口

修改 Tomcat 端口比较容易,在 Tomcat 安装目录 conf 下的 server.xml 文件中,找到 <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

               port="8080" minProcessors="5" maxProcessors="75"

               enableLookups="true" redirectPort="8443"

               acceptCount="100" debug="0" connectionTimeout="20000"

               useURIValidationHack="false" disableUploadTimeout="true" /> 标签,把 Port=”<chmetcnv unitname="”" sourcevalue="8080" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"></chmetcnv>8080” 改为 Port=”<chmetcnv unitname="”" sourcevalue="8088" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on"></chmetcnv>8088” 或其他端口就可以了

二、使用 Oracle 控制台修改 Oracle XDB Http/FTP 服务端口

虽然修改 Tomcat 端口可以很容易解决问题,但有时不想修改 Tomcat 端口,可以修改 Oracle XDB 服务端口来避免冲突。

登录 Oracle 控制台可以以独立方式登录,但必须以 SYSDBA 身份登录,否则不能操作 XDB 配置参数。

登录到 Oracle 控制台后,展开 ”XML 数据库 项, XML 数据库下有配置、资源、 XML 方案三个子项。选中配置选项, XML 数据库 参数会显示在右边区域。如图所示:

<shape id="_x0000_i1027" style="width: 415.5pt; height: 190.5pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.jpg" o:title="xmldb"> </imagedata>

修改参数名为 http-port 的项,值 8080 改为 8088 或其他未占用端口值,也可以修改 ftp-port 的值,然后点右下脚“应用( P )”按钮应用新修改的端口值。

这里需要注意的是,每个 Oracle 实例都会默认占用 8080 2100 端口,所以需要修改本机 Oracle 上的所有实例的 XDB 配置。

三、命令行方式 ( Oracle 提供的包 ) 修改 Oralce XDB 端口

1 、进入命令行,连接 sqlplus

 

 

 

 

 

 

 

C:\ >sqlplus /nolog

SQL*Plus: Release <chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>9.2.0.1.0 - Production on 星期三 10 12 14:53:56 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL>

2 、以 SYSDBA 身份登录

 

 

 

 

 

 

 

SQL> conn sys/wangzh@test as sysdba

已连接。

3 、修改  HTTP port   8080  改为  8088

 

 

 

 

 

 

 

SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),

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

  3  ,8088))

  4  /

 

 

 

 

 

 

 

调用完成。

4   也可以修改 FTP  端口 ,举例如下,将端口 2100 改为 2111 ,一般情况下不用改就可以。

SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),

  2  '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port /text()'

  3  ,2111))

  4  /

 

 

 

 

 

 

 

调用完成。

5 、提交修改

 

 

 

 

 

 

 

SQL> commit;

 

 

 

 

 

 

 

提交完成。

SQL> exec dbms_xdb.cfg_refresh;

 

 

 

 

 

 

 

PL/SQL 过程已成功完成。

四、使用 Oracle DBCA 向导工具,可以启用、禁用和配置 XML DB 端口号

1 、启动 DBCA DataBase Configuration Assistant )向导

2 、选择“在数据库中配置数据库选项”,单击“下一步”按钮

3 、选择数据库实例名,输入用户名和口令,用户必须具备 DBA 权限,单击“下一步”按钮

4 、数据库特性页,点击“标准数据库功能”按钮打开标准数据库功能页,然后选择 Oracle XML DB 项后的 “自定义”按钮,打开“ Oracle XML DB ”页,如下:

可以选择启用或禁用 XML DB 协议,启用 XML DB 协议的情况下,可以配置端口号。配置端口号有两个选项,使用默认配置或自定义配置

<shape id="_x0000_i1028" style="width: 414.75pt; height: 294pt;" type="#_x0000_t75"> </shape> <imagedata src="file:///C:%5CDOCUME%7E1%5Czhwang%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image007.jpg" o:title="dbca"> </imagedata>

如上图所示,自定义 FTP HTTP 端口值。然后点“确定”按钮完成配置。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics