ebs 11i合并应用节点

最近搞一个11i升级的项目,目标如下:

APP-----11.5.10.2(版本保持不变)

DB-------9.2.0.6(升级到11.2.0.3.8)

升级后做RAC和DG

系统改造方案

1、合并应用节点

2、数据库升级到11G

3、数据库RAC转换

4、配置应用负载均衡

5、搭建Dataguard数据库

本文先介绍一下ebs 11i应用节点合并。源环境如下:两台应用服务器,节点1运行Admin server,Form server,Concurrence server,节点2运行Web server。

参考文档:Sharing the Application Tier File System in Oracle Applications Release 11i (Doc ID 233428.1)

具体步骤如下:

一、维护快照信息

两节点上分别依次运行adadmin进行维护快照信息的操作

->2.   Maintain Applications Files menu

      -> 5.   Maintain snapshot information

           -> 2.   Update current view snapshot

二、合并前准备操作

最初的想法是将节点1作为主节点,把节点2合并过来,因为form文件都在节点1上。但是事与愿违啊,在节点1运行perl adpreclone.pl appsTier merge时报错,错误信息如下:

At least two or more APPL_TOPs of identical platforms should be available to merge.

Could not create the high water mark manifest...

Please re-run the program to create the manifest required for merging APPL_TOPs.

给oracle提了SR,最终也没有解决问题。本文最后将给出Oracle的分析思路。

节点1不行,尝试将节点2作为主节点。庆幸的是节点2运行没有出错。

节点2:

cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
perl adpreclone.pl appsTier merge

上述命令完成后,在节点1上运行:

cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
perl adpreclone.pl appltop merge

三、复制合并所需的文件

合并需要如下文件:

节点2的prodappl、prodcomn、prodora,节点1的$COMMON_TOP/clone/appl/$HOSTNAME

本次实施将节点1的$COMMON_TOP/clone/appl/$HOSTNAME复制到节点2$COMMON_TOP/clone/appl下

四、用adclone工具将应用节点由之前的两个整合成一个

节点2上操作:

cd $COMMON_TOP/clone/bin

perl adcfgclone.pl appsTier

配置时注意Does the target system have more than one application tier server node (y/n) [y] ?:n

运行完成后应用会被自动启动起来,将应用关闭

五、运行adadmin工具进行维护操作

  • generate JAR files                      
  • generate message files                     
  • relink executables                     
  • copy files to destination

    使用adadmin维护上述1、2、3项,第4项第六步中处理

    六、运行adadmin工具进行Check for missing files的确认操作

    ->2.   Maintain Applications Files menu

          -> 6.   Check for missing files

    根据生成的$APPL_TOP/admin/$TWO_TASK/out/admvrf.lst,确定缺少哪些文件。将缺少的文件拷贝到相应目录下。另拷贝节点1上$CUX_TOP下的forms到节点2对应目录

    启动应用

     

    错误分析:

    节点1执行perl adpreclone.pl appsTier merge错误

    At least two or more APPL_TOPs of identical platforms should be available to merge.

    Could not create the high water mark manifest...

    Please re-run the program to create the manifest required for merging APPL_TOPs.

    oracle的分析思路如下:

    运行以下SQL,查看结果:

    SQL> select appl_top_id, active_flag, name from ad_appl_tops;

    APPL_TOP_ID A NAME
    ----------- - --------------------------------------------------
            194 Y GLOBAL
            190 Y *PRESEEDED*
            191 Y apperp01
            214 Y apperp02


    SQL> select distinct appl_top_id from ad_patch_runs;

    APPL_TOP_ID
    -----------
            191

    SQL> select distinct apd.platform, apr.appl_top_id from ad_patch_runs apr, 
        ad_patch_drivers apd where apr.patch_driver_id = apd.patch_driver_id;

    PLATFORM                       APPL_TOP_ID
    ------------------------------ -----------
    GENERIC                                191
    LINUX                                  191

    oracle说SQL3查询的结果中没有节点2信息,如果在节点1上运行perl adpreclone.pl appsTier merge命令,需要包含节点2信息。让我更新快照,然后再次查看上述SQL,还是一样的结果。不知道怎么回事,考虑到项目进度,就没有跟这个问题死磕了,待日后有时间再好好看看。

    另:关于这个错误,Oracle有几个对应的bug,不过本例不适用。

     

  • 你可能感兴趣的:(perl,create,ebs,could,a,the,not,11i,应用节点合并,adpreclone.pl)