wiflish
Loving Life! Loving Coding!
posts - 98,comments - 98,trackbacks - 0

【原文地址】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 页面,如下:

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

这是因为这台机器上已经安装了 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=”8080” 改为 Port=”8088” 或其他端口就可以了

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

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

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

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

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

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

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

1 、进入命令行,连接 sqlplus

 

 

 

 

 

 

 

C:\ >sqlplus /nolog

SQL*Plus: Release 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 协议的情况下,可以配置端口号。配置端口号有两个选项,使用默认配置或自定义配置

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

posted on 2008-09-25 08:53 想飞的鱼 阅读(1546) 评论(0)  编辑  收藏 所属分类: database