IIS 和 Oracle 的端口冲突问题

最近项目需要使用Oracle数据库,以前一直用sqlserver2000,花了半天时间安装配置之后,发现IIS中的“默认   Web   站点”无法启动,提示“地址已被使用”,而在IE中键入本机IP后,显示出了ORACLE的一个目录页面!!着实汗了一把,网站无法正确调试,出来一堆错误。闷了一会儿,找到最初的错误,才知道是IIS和Oracle的端口冲突引起的。

   解决办法如下:

       1,修改IIS的默认端口80,开始-设置-控制版面-管理工具-internet信息服务-右击默认站点-属性开始-设置-控制版面-管理工具-internet信息服务-右击默认站点-属性 便可以改了。

       2,修改Oracle的端口:


 使用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也不会占用了。

最简便偷懒的方式:   
 解决方法:

  1)修改Oracle进程的端口:

       到路径  \\oracle\\ora90\\Apache\\Apache\\conf  下修改httpd.conf  和 httpd.conf.default 内Listen   80   
  修改为其他端口即可    具体方法:用记事本打开以上文件-->将文档中“80”全部替换为“你需要修改成的端口号”
  例如:   
      Listen   8080或其他,建议在3000以上的大一点的数值。

2)停止Oracle的Http服务器

    可以直接用进程管理器 关闭Apache.exe进程(通常有几个,要全部关闭)。

   这样做的话,下次重新启动系统又会出现同样的问题,这是临时使用方案:)

posted on 2008-06-05 16:47  leeyon  阅读(1004)  评论(0编辑  收藏  举报

Leeyon&&&&&&&&&&&&&Anje