オラクル社のスクリプトによるバックアップと復元

単一のEssbaseインスタンスがAutonomous Transaction Processingデータベースにデプロイされている場合、オラクル社提供のスクリプトを使用してデータベース全体およびEssbaseブロック・ボリュームをバックアップできます。

Essbaseインスタンスのオラクル社のスクリプトによるバックアップ

このようなオラクル社提供のスクリプトでは、次のタスクが実行されます。

  • オブジェクト・ストレージと連動して機能するためのデータベースの構成。
  • Essbaseサービスの停止。
  • データベースのバックアップ。
  • Essbaseデータおよび構成のブロック・ボリュームのバックアップ。
  • Essbaseサービスの開始。

バックアップを開始する前に、システムからユーザーを適切に誘導してください。これは、スクリプトによってEssbaseサービスが停止するためです。Alter Application (特にenable/disable)およびAlter System (特にlogoff/kill)を参照してください。disableコマンドを使用する場合、バックアップの完了後にenableコマンドを使用してそれらを元に戻す必要があります。

単一のAutonomous Transaction Processingデータベースを使用してデプロイされた単一のインスタンスのバックアップを開始するには、ユーザーがシステム内にいない都合のよい時間にバックアップをスケジュールして、次のステップに従います。

ノート:

EssbaseノードにパブリックIPがない場合は、要塞をプロキシとして使用します。
  1. バックアップの管理に必要なポリシーが所定の場所にあることを確認します。
  2. Oracle Cloud Infrastructureコンソールのメイン・メニューを使用してソース・コンピュートに移動し、コンピュートの「インスタンスの詳細」ページから内部FQDNおよびホスト名を書き留めます。復元時にソース・コンピュートに到達できない場合、この情報が必要になります。
  3. Essbaseコンピュートに(opcユーザー)としてssh接続します。

    ノート:

    要塞を使用する場合、データ量に応じて必要となるバックアップ時間にあわせてセッションの長さをデフォルトの3時間から延長するか、バックグラウンドでバックアップを実行することが必要になる場合があります。
  4. sudo su - oracleを実行します。
  5. cd /u01/vmtoolsを実行します。
  6. スクリプトを実行して、オブジェクト・ストレージと連動して機能するように構成します。これは1回かぎりのアクションです。
    ./configure-backup-storage.sh
    スクリプトを起動すると、次の3つのことを要求されます。
    1. Enter database admin password:

      クリア・テキストのパスワードを入力します。パスワードは保護情報であるため、コマンド・プロンプトに入力した際、テキストは見えません。

    2. Enter OCI Username:
      Oracle Cloud Infrastructureのユーザー名を見つけるには:
      1. Oracle Cloud Infrastructureで、右上隅に移動してプロファイル・メニュー・アイコンOCIプロファイル・メニュー・アイコンのイメージ。をクリックします。
      2. ユーザーをクリックします。
      3. ページ上部のプロファイル名をコピーします。
      4. コマンド・プロンプトに戻って、貼り付けて[Enter]を押します。
    3. Enter OCI Token:

      認証トークンを入力します。認証トークンは保護情報であるため、コマンド・プロンプトに入力または貼り付けた際、テキストは見えません。

  7. バックアップ・スクリプトを実行します。

    これで、データおよび構成のブロック・ボリュームがバックアップされます。

    ./backup.sh

ノート:

Essbaseサービスは、backup.shスクリプトによって停止され、スクリプトの終了後に再開されます。

オラクル社のスクリプトによるバックアップからのEssbaseインスタンスの復元

障害からリカバリする場合は、オラクル社以外のスクリプトによるバックアップを復元するには、新しいターゲットEssbaseインスタンスをデプロイする必要があります。新しいターゲット・インスタンスは、障害が発生したコンピュートにデプロイされたのと同じバージョンである必要があります。新しいターゲット・インスタンスをデプロイしたら、そのターゲットを使用してバックアップからリカバリできます。オラクル社提供のスクリプトを使用してバックアップを取った場合、障害から簡単にリカバリできます。次のステップを使用するだけで、データベース全体およびブロック・ボリュームを新しいターゲット・インスタンスに復元します。

ノート:

EssbaseノードにパブリックIPがない場合は、要塞をプロキシとして使用します。
障害が発生していなくても、ソース・インスタンスを移行またはロールバック(同一ホスト・リカバリ)する場合は、後述の復元ステップを使用します。ただし、次の例外があります。
  • ステップ1、2および11をスキップします。
  • バックアップを取ったのと同じホームでリカバリするため、後述のステップで言及されているターゲット・インスタンスがソース・インスタンスになります。
  1. Oracle Marketplaceを使用してターゲットEssbaseスタックをデプロイします。
    • ソースOracle Identity Cloud Serviceの機密アプリケーションを使用します。
    • ソースAutonomous Transaction Processingデータベースおよびパスワードを使用します。
    • ソースの仮想クラウド・ネットワークおよびアプリケーション・サブネットを使用します。
    • ソース・スタックにロード・バランサがある場合、ターゲットのロード・バランサをデプロイしないでください。バックエンド・セットは、ターゲット・スタックのデプロイ後に変更できます。
    • ソースで使用したのと同じEssbaseシステム管理ユーザー名およびパスワードをターゲットで使用します。
    • ソース・スタックで使用したのと同じOracle Identity Cloud Service Essbase管理ユーザーをターゲット・スタックで使用します。これが不可能な場合は、ソースEssbaseインスタンスに、Essbaseシステム管理者ロールを保持する有効なOracle Identity Cloud Serviceユーザーが少なくとも1つ必要です。復元後、ソース・インスタンスのEssbaseシステム管理者ロールを保持する有効なOracle Identity Cloud Serviceユーザーとして、ターゲット・インスタンスにログインする必要があります。
  2. ターゲット・インスタンスのログインURLを管理します。
    1. ソース・ロード・バランサがある場合、ターゲット・コンピュートで使用するために、'essbase'バックエンド・セットを管理します。ロード・バランサがターゲット・コンピュートへの接続をリフレッシュする時間を確保した後、Essbase Webインタフェースにログインして、バックアップからの復元に進む前にターゲット・インスタンスが正しくデプロイされていることを確認します。
      1. ソース・コンピュート・バックエンドを削除します。
      2. ターゲット・コンピュート・バックエンドを追加します。ポート443を使用します。

      同じロード・バランサIPがターゲットEssbaseインスタンスにルーティングされるようになったため、Oracle Identity Cloud Serviceの機密アプリケーションのURLを更新する必要はありません。

    2. ソース・スタックにロード・バランサがない場合、ターゲットIPアドレスを使用して新しいリダイレクトURLおよびログアウト後のリダイレクトURLで、Oracle Identity Cloud Serviceの機密アプリケーションを更新します。

      Oracle Identity Cloud Serviceにログインし、ソース機密アプリケーションを編集して以前に使用されたソースIPアドレスのかわりにターゲットIPアドレスが使用されるようにします。

  3. まず、ターゲットEssbaseサービスを(oracleユーザーとして)停止してから、WebLogicサービスおよびノード・マネージャを(opcユーザーとして)停止します。Oracle Cloud InfrastructureEssbaseコンピュートを停止しないでください。

    ノート:

    リカバリをシミュレートする場合は、必ず、ソース・コンピュートのEssbaseサービスも停止します。
  4. ソースAutonomous Transaction Processingデータベースをバックアップから復元します

    必ず、ソースEssbaseサービスが停止している間に作成したソースAutonomous Transaction Processingのバックアップを選択します。また、同時期のソースEssbaseブロック・ボリュームのバックアップがあることを確認します。

    復元が終了したら、SQL Developerなどのデータベース・クライアントを使用してデータを監査します。たとえば、<targetprefix>_ESSBASEスキーマ内でESSBASE_APPLICATION表を参照して、復元されたアプリケーションを確認できます。

  5. /etc/fstabの構成およびデータのブロック・ボリュームのエントリを一時的に無効にします。
    1. ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
    2. sudo vi /etc/fstab
    3. /u01/configおよび/u01/dataのエントリの前に#を挿入します。
    4. ファイルを保存します。
  6. データおよび構成のブロック・ボリュームをターゲットEssbaseコンピュートからデタッチします。iSCSIの警告をメモし、OCIコンソールを使用してデタッチする前に、必ず各ボリュームをアンマウントして切断します。
    1. アンマウントするには:
      1. ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
      2. lsblk
      3. sudo umount /u01/config
      4. これらのステップを繰り返して、データ・ブロック・ボリュームをアンマウントします。
    2. iSCSIを切断するには:
      1. OCIコンソールで、ターゲット・コンピュートを選択します。
      2. 「リソース」「アタッチされたブロック・ボリューム」を選択します。
      3. 構成ブロック・ボリュームの「アクション」メニューOCIの「アクション」メニュー・アイコンのイメージ。から、「iSCSIコマンドおよび情報」を選択します。
      4. 切断するためのiSCSIコマンドをコピーします。
      5. ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
      6. コピーした切断コマンドを貼り付けて[Enter]を押します。
      7. これらのステップを繰り返して、データ・ボリュームを切断します。
    3. デタッチするには:
      1. OCIコンソールで、ターゲット・コンピュートを選択します。
      2. 「リソース」「アタッチされたブロック・ボリューム」を選択します。
      3. 構成ブロック・ボリュームの「アクション」メニューOCIの「アクション」メニュー・アイコンのイメージ。から、「デタッチ」を選択します。
      4. これらのステップを繰り返して、データ・ブロック・ボリュームをデタッチします。
  7. データおよび構成のブロック・ボリュームをソース・ブロック・ボリュームのバックアップから復元します。必ず、ターゲット・コンピュートと同じ可用性ドメインを選択します。
  8. 前のステップで作成したブロック・ボリュームをターゲット・コンピュートにアタッチします。ボリュームのアタッチメント・タイプは、iSCSIにする必要があります。
  9. OCIコンソールに示されたiSCSIコマンドを使用して、新たにアタッチしたターゲット・ブロック・ボリュームを接続します
  10. /etc/fstabのエントリを更新して新しいブロック・ボリュームをマウントします。
    1. ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
    2. lsblkを実行して、新たにアタッチした構成およびデータのボリュームの名前を確認します。
    3. sudo blkidを実行して、新たにアタッチした2つのボリュームのUUIDを書き留めます。
    4. sudo vi /etc/fstab
    5. 構成およびデータのブロック・ボリュームのエントリをコメント解除します。
    6. 既存の構成およびデータのボリューム・エントリのUUIDを新たにアタッチしたデータおよび構成ボリュームのUUIDで置き換えます。マウント・ポイント/u01/configおよび/u01/dataが変更されていないことを確認します。従来のfstabオプションを参照してください。
    7. /etc/fstabファイルを保存したら、次のコマンドを発行します。
      1. sudo systemctl daemon-reload
      2. sudo mount -a
    8. lsblkを実行してマウント・ポイントを確認します。
  11. ホストを管理します。
    1. opcユーザーとして、ターゲット・コンピュートの/etc/hostsファイルを更新してソース・ドメイン情報をターゲットにマップします。

      ソース・コンピュートの完全修飾ドメイン名を確認します。

      1. OCIコンソールのメイン・メニューを使用してソース・コンピュートに移動し、コンピュートの「インスタンスの詳細」ページから内部FQDNおよびホスト名を書き留めます。ソース・コンピュートにアクセスできない場合は、バックアップ時に保存した記録を取り出します。Essbaseインスタンスのオラクル社のスクリプトによるバックアップのステップ2を参照してください。
      2. ターゲット・コンピュートの/etc/hostsファイルを編集し、ソース・ドメイン情報をターゲット・コンピュートが含まれるエントリの最後に追加します。
        sudo vi /etc/hosts

        このエントリの形式は次のとおりです。

        <ターゲット・コンピュートのIP> <ターゲット・コンピュートのFQDN> <ターゲット・コンピュートのホスト名> <ソース・コンピュートのFQDN> <ソース・コンピュートのホスト名>

    2. opcユーザーとして、ターゲット・コンピュートの /etc/oci-hostname.confファイルを更新します。PRESERVE_HOSTINFO設定を3に設定します。
      sudo vi /etc/oci-hostname.conf
  12. まず、ノード・マネージャを(opcユーザーとして)起動してから、Essbaseサービスを(oracleユーザーとして)開始します。

ノート:

ターゲットEssbaseスタックに正常にリカバリしたら、障害が発生したソース・コンピュート・ノードを削除し、不要なブロック・ボリュームおよびバックアップをさらにクリーン・アップできます。