6 クラスタ化されたWebCenter Content 12cを同じインフラストラクチャ上の新しいホストに移行する方法

WebCenter Contentリリース12cのクラスタを、WebCenter Contentのオペレーティング・システムおよびディレクトリ構造が既存のインフラストラクチャと同じであるインフラストラクチャに移行する場合、後続のトピックに従うことでその目的を達成できます。

6.1 クラスタ化されたWebCenter Contentリリース12cを移行する前の検討事項

WebCenter Contentリリース12cを移行する前に検討する必要がある項目

  • chghostユーティリティでは、バイナリ・データまたはデータベース内のデータは移動されません。
  • chghostユーティリティでは、SSLのみが構成されている環境はサポートされません。SSLのみとは、管理ポートが有効またはSSLポートのみが有効という意味です。
  • 古い(ソース)ホストと新しい(ターゲット)ホストの両方で、同じパスに同じバージョンのJDKをインストールします。
  • トポロジを変更することはできません。つまり、管理対象サーバー、WebLogic Serverドメイン名、ポート番号などを追加、削除または変更することはできません。
  • ソース・インスタンスとターゲット・インスタンスのパスは、両方とも同じである必要があります。これは変更できません。
  • Oracle Fusion Middlewareは、同じタイプのオペレーティング・システムにのみ移行できます。
  • マルチノード環境で、各ノードのネットワーク構成を別個に移動または変更することは可能です。たとえば、管理サーバーがホストAにあり、管理対象サーバーがホストBにある場合、管理サーバーまたは管理対象サーバー(あるいはその両方)のネットワーク構成を移動または変更できます。
  • Fusion Middleware Infrastructure (WebLogic Server)とWebCenter Contentのバージョンは、古いホストと新しいホストの間で一致している必要があります。これらの手順を使用して、新しいホストに移行するのと同時により新しいバージョンにアップグレードすることはできません。
  • あるホストから別のホストにデータベースを移行する場合、データベース・タイプは同じままである必要があります。たとえば、データベース・タイプをOracleデータベースからSQL Serverデータベースに変更することはできません。
  • 移行を予定している同じWebLogicドメインにインストールされたBPMやPortalなどのFusion Middlewareアプリケーションを移行する方法の詳細は、『Oracle Fusion Middlewareの管理』新しいホストへのOracle Fusion Middlewareの移行に関する項を参照してください。

6.2 クラスタ化されたWebCenter Contentリリース12cを新しいホストに移行する方法

このトピックでは、サンプル・シナリオを通じて、ArchiverおよびConfigMigrationUtilityを使用せずにWebCenter Contentリリース12cクラスタを新しいホストに移行する方法について説明します。

これらのステップを『Oracle Fusion Middlewareの管理』新しいホストへのOracle Fusion Middlewareの移行に関する項のステップと組み合せて、WebCenter Content、RefineryおよびWebCenter Contentユーザー・インタフェースを新しいホストに移行します。
移行の前に実行するタスク:
  • すべての管理対象サーバー、管理サーバーおよびノード・マネージャを停止します。
  • WebCenter Contentのファイル・システムをバックアップします。
  • WebCenter Contentのデータベースをバックアップします。
  • 「JTAトランザクション・ログ永続性」が「デフォルトの永続ストア」に設定されている場合、それをバックアップします。
  • 「JMSサーバー永続性」が「JMSファイル・ストア」に設定されている場合、それをバックアップします。
  • 適切なバージョンとプラットフォームに対応するJDKをダウンロードして、新しいホストにインストールします。
  • Fusion Middleware InfrastructureおよびWebCenter Contentのインストール・メディアを新しいホストにダウンロードします。
  • Fusion Middleware InfrastructureおよびWebCenter Contentを、古いホストと同じ場所にある新しいホストのディレクトリにインストールするか、copyBinary.shおよびpasteBinary.shを使用して古いシステムからそれらをクローニングします。
  • 古いホストにインストールされていたすべてのパッチを、新しいホストのORACLE_HOMEにインストールします。copyBinary.shおよびpasteBinary.shを実行してORACLE_HOMEが新しいホストにクローニングされた場合、このステップはスキップします。
  • WebCenter Contentのvaultおよびweblayoutがリモートまたは共有ディスクに存在する場合、ファイル共有が古いホストと同じパスで新しいホストにマウントされていることを確認します。ファイル共有にアクセスするための適切な権限がユーザーに付与されていることも確認します。

WebCenter Contentのクラスタ、Inbound Refinery、WebCenter Contentユーザー・インタフェースおよびOracle HTTP Serverを移行するには:

  1. 新しいホストの/tmp/myinputfile.txtなどの場所に次のコードを含む入力ファイルを作成します。これは移行中に必要になります。
    [ARGUMENTS]
    [SERVER_HOST_MAPPING]
    #pattern source_host_name=target_host_name
    sourcenode1.domain.com=targetnode1.domain.com
    sourcenode2.domain.com=targetnode2.domain.com
  2. 新しいホストごとに、ウォレット・ディレクトリおよびウォレットを作成します:
    1. mkdir /tmp/mywalletdir
    2. ORACLE_HOME/oracle_common/common/bin/configWallet.sh -walletDir /tmp/mywalletdir weblogic
    3. プロンプトが表示されたら、weblogicユーザーのパスワードを指定します
  3. 新しいホストにORACLE_HOME/user_projects/domainsディレクトリを作成します。
  4. 新しいホストにORACLE_HOME/user_projects/applicationsディレクトリを作成します。
  5. searchディレクトリまたはarchivesディレクトリを再配置した場合、新しいホストにそれらを作成し、アクセス可能であることを確認します。
  6. ノードごとに、ドメインに対してrsyncを実行します:

    sourcenode1から実行:

    rsync -avzh ORACLE_HOME/user_projects/domains/DOMAINNAME
          USER@targetnode1.domain.com:/ORACLE_HOME/user_projects/domains

    sourcenode2から実行:

    rsync -avzh ORACLE_HOME/user_projects/domains/DOMAINNAME
          USER@targetnode2.domain.com:/ORACLE_HOME/user_projects/domains
  7. ノードごとに、アプリケーションに対してrsyncを実行します:

    sourcenode1から実行:

    rsync -avzh ORACLE_HOME/user_projects/applications/DOMAINNAME
          USER@targetnode1.domain.com:/ORACLE_HOME/user_projects/applications

    sourcenode2から実行:

    rsync -avzh ORACLE_HOME/user_projects/applications/DOMAINNAME
          USER@targetnode2.domain.com:/ORACLE_HOME/user_projects/applications
  8. chghost.shを正しく実行するため、最初にtargetnode1.domain.comで環境変数を設定します:
    export CHGHOST_JAVA_OPTIONS="-Dchghost.ignore.validation.port=true
          -Dchghost.temporary.port.range=18000-20000"

    このステップをスキップすると、次のようなメッセージが表示されてchghost.shは失敗します。

    INFO: Checking if ports are unique across all server or not ...
    Oct 31, 2019 9:52:58 AM oracle.glcm.fmw.chghost.framework.input.ChghostInputValidation
          isValidServerPortsSEVERE:
    [CHGHOST-20218-ERROR] Server ports validation failed.
    [CHGHOST-20218-CAUSE] The port 16225 was used for multiple servers.
    [CHGHOST-20218-ACTION] Provide different free ports for servers.
    Oct 31, 2019 9:52:58 AM oracle.glcm.fmw.chghost.framework.input.ChghostInputValidation
          isValidServerPortsSEVERE:
    [CHGHOST-20218-ERROR] Server ports validation failed.
    [CHGHOST-20218-CAUSE] The port 16250 was used for multiple servers.
    [CHGHOST-20218-ACTION] Provide different free ports for servers.
    Oct 31, 2019 9:52:58 AM oracle.glcm.fmw.chghost.framework.input.ChghostInputValidation
          isValidServerPortsSEVERE:
    [CHGHOST-20218-ERROR] Server ports validation failed.
    [CHGHOST-20218-CAUSE] The port 16200 was used for multiple servers.
    [CHGHOST-20218-ACTION] Provide different free ports for servers.
    Oct 31, 2019 9:52:58 AM oracle.glcm.fmw.chghost.framework.execute.ChangeHostExecute
          executeINFO: Server port validation falied
  9. targetnode1.domain.comchghost.shを実行します。次のサンプル・コードは、単一のコマンドとして実行する必要があります。ここではわかりやすいように複数の行に分割しています。
    ORACLE_HOME/oracle_common/bin/chghost.sh
    -chgHostInputFile /refresh/ucmshare/myinputfile.txt
    -javaHome JDK_INSTALL_LOCATION
    -domainLoc ORACLE_HOME/user_projects/domains/DOMAINNAME
    -domainAdminUserName weblogic
    -walletDir /refresh/home/mywalletdir
    -logDir /tmp
  10. targetnode1.domain.comで、必要に応じて管理サーバーおよび管理対象サーバーのDOMAINHOME/servers/SERVERNAME/securityディレクトリでboot.propertiesファイルを再作成します。これらは、chghost.shの実行後、使用できなくなります。
  11. chghost.shを正しく実行するため、最初にtargetnode2.domain.comで環境変数を設定します:
    export CHGHOST_JAVA_OPTIONS="-Dchghost.ignore.validation.port=true
          -Dchghost.temporary.port.range=18000-20000"
  12. chghost.shスクリプトの実行時にtargetnode2.domain.comjava.lang.NullPointerExceptionsが発生することを防止するように、次の.xmlファイルを編集します。
    1. MW_HOME/oracle_common/plugins/chghost/libovd_chghost_metadata.xml:

      前:

      <chghost-metadata component-id="LIBOVD">
           <file-list>    
                <file-entry location="%DOMAIN_HOME%/config/fmwconfig/ovd/*/adapters.os_xml">        
                      <replace-pattern-ref ref="hostReplacePattern"/>      
                </file-entry>
           </file-list>
                 <replace-pattern-list>    
                      <replace-pattern id="hostReplacePattern" regex=".*host.*"/>
                 </replace-pattern-list>
      </chghost-metadata>

      後:

      <chghost-metadata component-id="LIBOVD">
            <file-list>    
                 <file-entry location="%DOMAIN_HOME%/config/fmwconfig/ovd/*/adapters.os_xml" update-in-managed-mode="false">        
                     <replace-pattern-ref ref="hostReplacePattern"/>       
                 </file-entry>
            </file-list>
            <replace-pattern-list>    
                    <replace-pattern id="hostReplacePattern" regex=".*host.*"/>
            </replace-pattern-list>
      </chghost-metadata>
    2. MW_HOME/oracle_common/plugins/chghost/opss_chghost_metadata.xml:

      前:

      <?xml version="1.0"?>
      <chghost-metadata component-id="OPSS">
      <file-list>
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/jps-config.xml">
                 <replace-host-type>DATABASE_MAPPING</replace-host-type>
                 <replace-host-type>LDAP_MAPPING</replace-host-type>
      </file-entry>
      
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/jps-config-jse.xml">
                <replace-host-type>DATABASE_MAPPING</replace-host-type>
                <replace-host-type>LDAP_MAPPING</replace-host-type>
      </file-entry>
      
      </file-list>
      </chghost-metadata>

      後:

      <?xml version="1.0"?>
      <chghost-metadata component-id="OPSS">
      <file-list>
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/jps-config.xml" update-in-managed-mode="false">
                 <replace-host-type>DATABASE_MAPPING</replace-host-type>
                 <replace-host-type>LDAP_MAPPING</replace-host-type>
      </file-entry>
      
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/jps-config-jse.xml" update-in-managed-mode="false">
                <replace-host-type>DATABASE_MAPPING</replace-host-type>
                <replace-host-type>LDAP_MAPPING</replace-host-type>
      </file-entry>
      
      </file-list>
      </chghost-metadata>
    1. MW_HOME/ohs/plugins/chghost/ohs_chghost_metadata.xml:

      前:

      <?xml version="1.0"?>
      <chghost-metadata component-id="OHS">
      <file-list>
          <!-- All file-entry location are w.r.to DOMAIN_HOME -->
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/components/OHS/*/*/*.*">
      <replace-pattern-ref ref="id1"/>
      <replace-pattern-ref ref="id2"/>
      <replace-pattern-ref ref="id3"/>
      <replace-pattern-ref ref="id4"/>
      <replace-pattern-ref ref="id5"/>
      <replace-pattern-ref ref="id6"/>
      <replace-pattern-ref ref="id7"/>
      </file-entry>
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/components/OHS/*/*.*">
      <replace-pattern-ref ref="id1"/>
      <replace-pattern-ref ref="id2"/>
      <replace-pattern-ref ref="id3"/>
      <replace-pattern-ref ref="id4"/>
      <replace-pattern-ref ref="id5"/>
      <replace-pattern-ref ref="id6"/>
      <replace-pattern-ref ref="id7"/>
      </file-entry>
      </file-list>
      <replace-pattern-list>
      <replace-pattern id="id1" regex=".*Listen.*"/>
      <replace-pattern id="id2" regex=".*VirtualHost.*"/>
      <replace-pattern id="id3" regex=".*ServerName.*"/>
      <replace-pattern id="id4" regex=".*WebLogicHost.*"/>
      <replace-pattern id="id5" regex=".*ServerAdmin.*"/>
      <replace-pattern id="id6" regex=".*WebLogicCluster.*"/>
      <replace-pattern id="id7" regex=".*Allow.*"/>
      </replace-pattern-list>
      </chghost-metadata>

      後:

      <?xml version="1.0"?>
      <chghost-metadata component-id="OHS">
      <file-list>
          <!-- All file-entry location are w.r.to DOMAIN_HOME -->
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/components/OHS/*/*/*.*" update-in-managed-mode="false">
      <replace-pattern-ref ref="id1"/>
      <replace-pattern-ref ref="id2"/>
      <replace-pattern-ref ref="id3"/>
      <replace-pattern-ref ref="id4"/>
      <replace-pattern-ref ref="id5"/>
      <replace-pattern-ref ref="id6"/>
      <replace-pattern-ref ref="id7"/>
      </file-entry>
      <file-entry location="%DOMAIN_HOME%/config/fmwconfig/components/OHS/*/*.*" update-in-managed-mode="false">
      <replace-pattern-ref ref="id1"/>
      <replace-pattern-ref ref="id2"/>
      <replace-pattern-ref ref="id3"/>
      <replace-pattern-ref ref="id4"/>
      <replace-pattern-ref ref="id5"/>
      <replace-pattern-ref ref="id6"/>
      <replace-pattern-ref ref="id7"/>
      </file-entry>
      </file-list>
      <replace-pattern-list>
      <replace-pattern id="id1" regex=".*Listen.*"/>
      <replace-pattern id="id2" regex=".*VirtualHost.*"/>
      <replace-pattern id="id3" regex=".*ServerName.*"/>
      <replace-pattern id="id4" regex=".*WebLogicHost.*"/>
      <replace-pattern id="id5" regex=".*ServerAdmin.*"/>
      <replace-pattern id="id6" regex=".*WebLogicCluster.*"/>
      <replace-pattern id="id7" regex=".*Allow.*"/>
      </replace-pattern-list>
      </chghost-metadata>

      これらの変更を行わないと、次のようなエラーが発生するため、これらのXMLを編集してchghost.shスクリプトを再実行する必要があります:

      INFO: Invoking file fixing for chghost metadata registration file /refresh/home/Oracle/Middleware/Oracle_Home2/oracle_common/plugins/chghost/opss_chghost_metadata.xml
      java.lang.NullPointerException
          at oracle.glcm.fmw.chghost.framework.plugin.impl.chghost.ChghostMetadataPluginExecutorImpl.replaceInFile(ChghostMetadataPluginExecutorImpl.java:152)
          at oracle.glcm.fmw.chghost.framework.plugin.impl.chghost.ChghostMetadataPluginExecutorImpl.executeChghostPlugin(ChghostMetadataPluginExecutorImpl.java:142)
          at oracle.glcm.fmw.chghost.framework.plugin.impl.chghost.ChghostMetadataPluginExecutorImpl.executePlugin(ChghostMetadataPluginExecutorImpl.java:119)
          at oracle.glcm.fmw.chghost.framework.process.helper.PluginExecutionHelper.executePluginInfoObject(PluginExecutionHelper.java:140)
          at oracle.glcm.fmw.chghost.framework.process.PluginExecution.executeAllPlugins(PluginExecution.java:86)
          at oracle.glcm.fmw.chghost.framework.execute.ChangeHostExecute.execute(ChangeHostExecute.java:130)
          at oracle.glcm.fmw.chghost.Chghost.executeChghostCommand(Chghost.java:277)
          at oracle.glcm.fmw.chghost.Chghost.main(Chghost.java:301)
      INFO: Invoking file fixing for chghost metadata registration file /refresh/home/Oracle/Middleware/Oracle_Home2/ohs/plugins/chghost/ohs_chghost_metadata.xml
      java.lang.NullPointerException
          at oracle.glcm.fmw.chghost.framework.plugin.impl.chghost.ChghostMetadataPluginExecutorImpl.replaceInFile(ChghostMetadataPluginExecutorImpl.java:152)
          at oracle.glcm.fmw.chghost.framework.plugin.impl.chghost.ChghostMetadataPluginExecutorImpl.executeChghostPlugin(ChghostMetadataPluginExecutorImpl.java:142)
          at oracle.glcm.fmw.chghost.framework.plugin.impl.chghost.ChghostMetadataPluginExecutorImpl.executePlugin(ChghostMetadataPluginExecutorImpl.java:119)
          at oracle.glcm.fmw.chghost.framework.process.helper.PluginExecutionHelper.executePluginInfoObject(PluginExecutionHelper.java:140)
          at oracle.glcm.fmw.chghost.framework.process.PluginExecution.executeAllPlugins(PluginExecution.java:86)
          at oracle.glcm.fmw.chghost.framework.execute.ChangeHostExecute.execute(ChangeHostExecute.java:130)
          at oracle.glcm.fmw.chghost.Chghost.executeChghostCommand(Chghost.java:277)
          at oracle.glcm.fmw.chghost.Chghost.main(Chghost.java:301)
  13. targetnode2.domain.comchghost.shを実行します。このスクリプトには、targetnode1.domain.comでこのスクリプトを実行したときには存在していなかった別のパラメータが2つ含まれることに注意してください。これらのパラメータによって、スクリプトは、管理サーバーの場所について把握し、このターゲットで管理対象サーバーを操作する必要があることを認識します。次のサンプルを単一のコマンドとして実行します。ここではわかりやすいように複数の行に分割しています。
    ORACLE_HOME/oracle_common/bin/chghost.sh
    -chgHostInputFile /refresh/ucmshare/myinputfile.txt
    -javaHome JDK_INSTALL_LOCATION
    -domainLoc ORACLE_HOME/user_projects/domains/DOMAINNAME
    -domainAdminUserName weblogic
    -walletDir /refresh/home/mywalletdir
    -logDir /tmp
    -adminURL t3://targetnode1.domain.com:7001
    -managed
  14. targetnode2.domain.comで、必要に応じて管理対象サーバーのDOMAINHOME/servers/SERVERNAME/securityディレクトリでboot.propertiesファイルを再作成します。これらは、chghost.shの実行後、使用できなくなります。
  15. targetnode2.domain.comで、DOMAINHOME/config/fmwconfig/components/OHS/ohs_2/mod_wl_ohs.confファイルを開き、targetnode1.domain.comおよびtargetnode2.domain.comの新しいホストを含むように更新します。
  16. targetnode2.domain.comで、DOMAINHOME/config/fmwconfig/components/OHS/instances/ohs_2/mod_wl_ohs.confファイルを同じように処理します。
  17. WebCenter Contentの共有ファイル・システムのDOMAINHOME/data/providersディレクトリに移動します。
  18. リファイナリに対するプロバイダのHttpServerAddressに更新されたホスト名が含まれることを確認します。プロバイダに間違った値が含まれる場合は、必要に応じて訂正します。
  19. リファイナリで、ローカル・ファイル・システムのDOMAINHOME/ucm/ibr/config/config.cfgに、新しいホストの正しいHttpServerAddress値が含まれることを確認します。
  20. targetnode1.domain.comおよびtargetnode2.domain.comでノード・マネージャを起動します。
  21. 管理サーバー・コンソールにログインして、管理対象サーバーを起動します。
  22. WebCenter Contentにログインして、プロバイダが問題なく動作していることを確認します。
  23. WebCenter Contentの新しいバックエンド・ホストについて、ロード・バランサの構成を調整します。
  24. ロード・バランサが変更された場合、Fusion Middleware Controlにログインし、WebCenter Contentユーザー・インタフェースからWebCenter Contentへの接続を確立するために使用されるPropConnectionUrl mBeanの値を編集して、この値でロード・バランサの新しいアドレスを使用できるようにします。
    1. ページの左上隅にあるメニューから、WCCADF_server1管理対象サーバーを選択し、「WebLogic Server」→「システムMBeanブラウザ」に移動します。
    2. 「アプリケーション定義のMBean」「oracle.adf.share.connections」「サーバー: WCCADF_server1」「アプリケーション: Oracle WebCenter Content - Web UI」「ADFConnections」「ADFConnections」「WccConnection」「WccAdfServerConnection」の順に移動します。
    3. PropConnectionUrlの値を更新して「適用」をクリックします。
    4. 「アプリケーション定義のMBean」「oracle.adf.share.connections」「サーバー: WCCADF_server1」「アプリケーション: Oracle WebCenter Content - Web UI」「ADFConnections」「ADFConnections」の順に移動します。
    1. 「操作」タブで、「保存」をクリックしてから「起動」をクリックします。
  25. 新しいIPアドレスを使用するようにWebCenter ContentおよびInbound RefineryのSocketHostAddressSecurityFilter構成設定を更新するか、新しいホスト名を使用するようにその両方でSocketHostNameSecurityFilter構成設定を更新します。
  26. ロード・バランサのアドレスが変更された場合、WebCenter Contentの共有ファイル・システムにあるDOMAINHOME/ucm/cs/config/config.cfgファイルのHttpServerAddress値を更新します。
  27. すべての管理対象サーバーを再起動します。
  28. WebCenter Contentに接続している他のアプリケーションを更新して、運用が中断しないようにします。
  29. SSLを使用している場合、新しいホスト名でSSL証明書を更新するために、それらを新しいJDKのキーストアにインポートします。
  30. IdcAnalyzeを実行して全体的な動作を検証します。