ORACLE中的OC4J与icdcomm端口冲突导致CTI平台无法正常启动

发布时间:  2015-04-24 浏览次数:  116 下载次数:  0
问题描述
重启suse服务器(已安装oracle服务和CTI),icdcomm始终无法启动,查看日志报:
port 8888 already used

处理过程
步骤 1 如果要在Oracle服务器上安装使用CTI平台,则需要修改ICDComm的端口号,或者修改oc4j的端口号。本例以修改oc4j端口为例。

通常一个Oracle服务器有两个oc4j部件:
  • 一个为数据库实例使用。
  • 另一个为集群使用。
其位置类似如下地址:
./opt/oracle/product/11gR2/db/oc4j/j2ee/home/oc4j.jar
./opt/oracrs/product/11gR2/grid/oc4j/j2ee/home/oc4j.jar

修改/opt/oracrs/product/11gR2/grid/oc4j/j2ee/home/config和/opt/oracrs/product/11gR2/db/oc4j/j2ee/home/config下的default-web-site.xml:
<?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/web-site-10_0.xsd"
  protocol="http"
  port="8888"
  display-name="OC4J 10g (10.1.3) Default Web Site"
  schema-major-version="10"
  schema-minor-version="0"

将上述8888修改为其它非占用端口即可,如8899。

步骤 2 重启Oracle服务器。

----结束
根因
一般来说,平台不会与Oracle进行合设。但如果有此需要,要特别注意oracle中oc4j部件会默认占用8888端口,这和ICDComm的默认端口冲突。
oc4j本身是一个为Oracle提供web配置的部件,会在服务器重启后自动启动。

END