スクリプトの準備

スイッチオーバーおよびフェイルオーバー計画の特定のアクションについて、Oracle Cloud Infrastructure Full Stack Disaster Recovery Serviceにカスタム・スクリプトを指定する必要があります。

Oracle WebLogic Server for OCI構成をレプリケートするためのスクリプトについて

"OCI File Storage with rsync"または"Database File System (DBFS)"メソッドおよび構成レプリケーション・スクリプトを使用して、Oracle WebLogicドメインをスタンバイ・サイトにコピーする場合は、スイッチオーバー計画にユーザー・ステップとして追加できます。

ノート:

これは、構成レプリケーションの"OCI File Storage with rsync"および"Database File System (DBFS)"メソッドに基づくディザスタ・リカバリ・モデルに適用されます。

このステップは、Oracle Cloud Infrastructure Block Volumesクロスリージョン・レプリカに基づくディザスタ・リカバリ・モデルには適用されません。

構成レプリケーション・スクリプトを使用してOracle WebLogic Domainをスタンバイ・サイトにコピーする場合は、それらをユーザー・ステップとしてスイッチオーバー計画に追加できます。

スタンバイのOracle WebLogic構成がすでにプライマリで最新である場合、それらの実行は必須ではありません。そうでない場合は、スイッチオーバーの直前にスクリプトを実行して、スタンバイのOracle WebLogicドメインのプライマリから最新の構成を取得できます。

Oracle WebLogic Server for OCIおよびOracle SOA Suite on Marketplaceの障害時リカバリ・ケースでは、最初にプライマリ・ロールを持つサイトの管理ホスト0でスクリプトを実行し、次にスタンバイ・ロールを持つサイトの管理ホストでスクリプトを実行する必要があります。

スクリプトについては、Oracle WebLogic Server for Oracle Cloud Infrastructure、 Disaster Recovery Production and DR in the Oracle Cloud Infrastructure (OCI)およびOracle Cloud Infrastructure MarketplaceのSOA SuiteでのOracle Cloud Infrastructure Marketplaceの障害回復、本番および障害回復(OCI)を参照してください。

管理ホストでスクリプトのパスを見つけます。たとえば、/u01/scripts/config_replica.shです。

データベース接続文字列を更新するスクリプトについて

OCI Block Volumesクロスリージョン・レプリカに基づくディザスタ・リカバリ・モデルを使用している場合は、スイッチオーバーまたはフェイルオーバー操作後にOracle WebLogic Domain構成で置換を実行する必要があります。
Oracle WebLogic Domainの構成は、プライマリからのコピーです。Oracle WebLogic構成ファイルのデータベース接続文字列はプライマリ・データベースを指しているため、スイッチオーバーまたはフェイルオーバー後にセカンダリ・データベース接続の詳細に置き換える必要があります。逆に、スイッチバックまたはフェイルバックがある場合。

ノート:

このタスクは、OCI Block Volumesクロスリージョン・レプリケーションに基づくディザスタ・リカバリ・モデルにのみ適用されます。このタスクは、構成レプリケーションの"OCI File Storage with rsync"および"Database File System (DBFS)"メソッドに基づくディザスタ・リカバリ・モデルには適用されません。

この置換を自動化するには、スクリプトreplacement_script_BVmodel.shを使用します。This script is provided in Oracle WebLogic Server for Oracle Cloud Infrastructure, Disaster Recovery Production and DR in the Oracle Cloud Infrastructure (OCI) and SOA Suite on Oracle Cloud Infrastructure Marketplace Disaster Recovery, Production and Disaster Recovery in the Oracle Cloud Infrastructure (OCI) for the Block Volume cross-region DR model.このスクリプトは、レプリケートされるブロック・ボリュームにないフォルダ内のプライマリおよびスタンバイのすべてのWebLogicノードに配置します。スクリプトは、各リージョンの適切な値でカスタマイズする必要があります。

ホストでスクリプトのパスを見つけます。たとえば、/u01/scripts/replacement_script_BVmodel.shです。

スイッチオーバーおよびフェイルオーバー計画を定義する場合、このスクリプトをユーザー定義ステップとして計画に追加します。

Oracle WebLogicプロセスを起動および停止するスクリプトの作成

Oracle WebLogicプロセスを停止および起動するために起動するカスタム・スクリプトを作成します。Oracle WebLogicプロセスを停止および起動するカスタム・スクリプトがすでにある場合は、OCIフル・スタック・ディザスタ・リカバリ・サービス・プランで使用できます。または、「コードのダウンロード」セクションに記載されているwls_stop.shおよびwls_start.shスクリプトを使用します。これらのスクリプトは、Oracle WebLogic Server for OCIおよびOracle SOA Suite on Marketplaceに対して有効です。これらのスクリプトは、すべてのOracle WebLogicプロセス(管理サーバー、管理対象サーバーおよびノード・マネージャ)または各プロセスを個別に起動および停止します。

OCIフル・スタック・ディザスタ・リカバリ・サービスによって実行されるスイッチオーバーおよびフェイルオーバー操作の場合、Oracleでは次のスクリプトを使用することをお薦めします。これらのサンプル・スクリプトは、提供されているwls_stop.shおよびwls_start.shスクリプト(特定のオプションで起動)を使用し、後でDR計画を定義するときにカスタム計画グループからコールされます。

  1. 中間層管理ホストでOracle WebLogic管理サーバーを起動するスクリプトを作成します。ノード・マネージャも停止されると起動します。
    スクリプトの例: custom_start_aserver.sh。このカスタム・スクリプトを中間層ホスト内のフォルダ(/opt/scriptsなど)に配置します。スクリプトへのフルパスは、DR計画で提供されます。
    # Remove .pid, .lck and .state files (that could have been left behind if a previous crash) before starting
    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.lck
    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.state
    rm -f ${DOMAIN_HOME}/servers/*/data/nodemanager/*.pid
    # Call to the script that starts the Node Manager (if not already up) and Admin server in this node
    /opt/scripts/restart/wls_start.sh aserver
  2. すべての中間層ホストでOracle WebLogic管理対象サーバーを起動するスクリプトを作成します。また、ホストでノード・マネージャが起動され、停止した場合にも起動されます。
    スクリプトの例: custom_start_mserver.sh。このカスタム・スクリプトを中間層ホスト内のフォルダ(/opt/scriptsなど)に配置します。スクリプトへのフルパスは、DR計画で提供されます。
    # Remove .pid, .lck and .state files (that could have been left behind if a previous crash) before starting
    rm -f ${DOMAIN_HOME}/servers/*server_*/data/nodemanager/*.lck
    rm -f ${DOMAIN_HOME}/servers/*server_*/data/nodemanager/*.state
    rm -f ${DOMAIN_HOME}/servers/*server_*/data/nodemanager/*.pid
    # Call to the script that starts the Node Manager (if not already up) and managed server in this node
    /opt/scripts/restart/wls_start.sh mserver
  3. すべての中間層ホストで、ホスト(管理ホストおよび管理対象サーバーの場合は管理サーバー)内のOracle WebLogicプロセスを停止するスクリプトを作成します。ノード・マネージャは引き続き稼働します。
    スクリプトの例: custom_stop.sh。このカスタム・スクリプトを中間層ホスト内のフォルダ(/opt/scriptsなど)に配置します。スクリプトへのフルパスは、DR計画で提供されます。
    • rsyncまたはデータベース・ファイル・システム(DBFS)方式でOCIファイル・ストレージを使用して構成をレプリケートする場合は、ノード・マネージャを起動したままにできます。
      # Call to the script that stops WLS processes but leave the node manager up
      /opt/scripts/restart/wls_stop.sh servers
    • ブロック・ボリューム・クロスリージョン・レプリカ・モデルを使用している場合は、スイッチオーバー中にブロック・ボリュームをアンマウントするために、すべてのWebLogicサーバー関連プロセスを停止する必要があります。WebLogicサーバー・プロセスを停止した後、ノード・マネージャ・プロセスを停止する必要があります。custom_stop.shスクリプトで次を使用します。
      # Call to the script that stops WLS processes and node manager in this host
      /opt/scripts/restart/wls_stop.sh all

DNSフロントエンド名を変更するスクリプトの作成

カスタム・プラン・グループおよびステップを追加して、DNSの変更を自動化し、DNSプロバイダのフロントエンドDNSレコードを変更できます。

Oracle Cloud Infrastructure DNSを使用している場合、このスクリプトの例は、このドキュメントの「スクリプトのダウンロード」セクションにあります。

  • リージョン2にスイッチオーバーする場合、フロントエンド名のDNSレコードを更新して、Load BalancerのIPであるリージョン2を指すようにスクリプトを実行する必要があります。このスクリプトをリージョン2の中間層ホストの1つに配置します。
  • リージョン1にスイッチオーバーする場合は、Load BalancerのIPであるリージョン1を指すように、前面の名前DNSレコードを更新するスクリプトを実行します。このスクリプトをリージョン1中間層ホストの1つに配置します。
  • または、適切なスクリプトをサーバーレス・モードで実行する各サイトにOracle Cloud Infrastructure関数を作成できます。

追加のカスタム・スクリプトの理解

スイッチオーバーまたはフェイルオーバー操作を実行するときに、システムで実行する必要がある追加のスクリプトを特定して特定します。これらのスクリプトは、ディザスタ・リカバリ計画を定義するときにカスタム計画グループからコールされます。