Oracle UCM11g问题四则

 

标题:Oracle UCM11g问题四则


1、尝试配置Oracle11g客户端,连接UCM11g服务器的数据库。报错:无监听程序。

   在服务器上打开ORACL_HOME\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora,内容如下:

    ------------------
    # listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
      )

    ADR_BASE_LISTENER = D:\app\Administrator
    ------------------


    修改listener.ora,在SID_LIST中添加监听描述,如下:

    ------------------
    (SID_DESC =
       (GLOBAL_DBNAME = ORCL)
       (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)  
       (SID_NAME = ORCL)
     )
    ------------------

    同时,修改“HOST = localhost”为“HOST = ucm-server”,即修改为服务器的“机器名”。

    修改后的listener.ora内容如下:

    ------------------
    # listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
        (SID_DESC =
           (GLOBAL_DBNAME = ORCL)
           (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)  
           (SID_NAME = ORCL)
         )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = ucm-server)(PORT = 1521))
        )
      )

    ADR_BASE_LISTENER = D:\app\Administrator
    ------------------


    然后打开ORACL_HOME\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,同样修改“HOST = localhost”为“HOST = ucm-server”。

    然后重启Oracle的监听,即可。


2、修改服务器“机器名”后,UCM11g无法启动。

   原因:UCM11g作为Web应用部署在Weblogic上,UCM的启动参数会依赖Weblogic的服务。

   编辑打开D:\Oracle\Middleware\user_projects\domains\ucm_domain\bin\startManagedWebLogic.cmd文件,会看到两个地方使用了Weblogic的管理控制台URL路径。

   分别如下:

   echo %1 managedserver1 http://ucm-server:7001

   set ADMIN_URL=http://ucm-server:7001

   这两个地方修改成正确的机器名即可。


3、使用stellent ridc向UCM11g中CheckIn数据,如果数据标题大于80个字符,则会报错。

   错误信息:csUnableToCheckIn,csCheckinFieldTooLong,apTitleDocTitle,80.

   很明显是字符长度超出字段的存储范围。

   根据提示,并在数据库中查找,发现是dDocTitle字段长度定义为80,需要手工修改UCM数据库中dDocTitle字段的长度。

   经如下SQL语句在UCM的数据库中检索,发现最少有7表中含有dDocTitle字段。

    ------------------
    select Table_Name from All_Tab_Cols where Owner='UCM_OCS' and Column_Name='DDOCTITLE'
    ------------------

   这7个表的名称是ARCHIVEHISTORY、CONTENTRETENTIONSTEPS、IDCTEXT1、IDCTEXT2、PROBLEMREPORTS、REVISIONS、WORKFLOWHISTORY。

   全部修改这7个表的dDocTitle字段长度为VARCHAR2(2000)。

   修改完成后,数据标题大于80个字符的数据CheckIn成功。


4、在UCM11g搜索引擎为SearchIndexerEngineName=OracleTextSearch,当用stellent ridc对UCM11g做分页检索操作,数据浏览超过2048条时,UCM控制台报错:

    ------------------
     intradoc.common.ServiceException: !csSearchUnableToReturnResults
    ------------------

    分页检索已经设置了ResultCount、StartRow、EndRow 等参数,如下:

    ------------------
        dataBinder.putLocal("IdcService", "GET_SEARCH_RESULTS");
        dataBinder.putLocal("ResultCount", strResultCount);
        dataBinder.putLocal("QueryText", strQueryText);
        dataBinder.putLocal("SearchQueryFormat", "Universal");
        dataBinder.putLocal("StartRow", start);
        dataBinder.putLocal("EndRow", end);
    ------------------

 

   使用UCM默认的搜索引擎为OracleTextSearch时,要突破检索结果2048的限制,其解决方法,有两种:

   (1) 打开UCM_HOME\Middleware\Oracle_ECM1\ucm\idc\resources\core\tables\文件夹,编辑searchindexerrules.htm文件,设置检索返回最大数据值。

      打开searchindexerrules.htm文件,找到如下2个位置:

       ------------------
       <tr>
    <td>(ORACLETEXTSEARCH)MaxAppSearchResults</td>
    <td>2000</td>
       </tr>
       ------------------
       <tr>
    <td>(ORACLETEXTSEARCH)MaxResultCount</td>
    <td>2048</td>
       </tr>
       ------------------


      将2048修改为一个超大值,比如:204800000。 然后保存searchindexerrules.htm文件,重启UCM服务即可。
     
      此时可以登录UCM系统,可以分页查看所有数据。
      当然前提是..\user_projects\domains\ucm_domain\ucm\cs\config\config.cfg中设置了查询返回最大值MaxResults。


   (2) 不使用OracleTextSearch引擎,而改用METADATA方式,显式设置SearchEngineName为DATABASE.METADATA。

       stellent ridc中代码如下:

    ------------------
        DataBinder dataBinder = client.createBinder();
        dataBinder.putLocal("SearchEngineName", "DATABASE.METADATA");
        dataBinder.putLocal("IdcService", "GET_SEARCH_RESULTS");
        ......
        ......
    ------------------

 

[--END--]

 

                                       by JRQ

                                  2011/12/18·南京


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值