スタックのアップグレード

既存のスタックをリスト・バージョンにアップグレードするには、このオプションを使用します。Essbase VMを含め、サポートされているスタック機能がリスト・バージョンにアップグレードされます。

ノート:

スタックのアップグレード・オプションは、Autonomous Databaseを使用するOCIデプロイメントのEssbaseでのみサポートされます。

ノート:

スタックのアップグレード・プロセスを続行する前に、関連トピック(以前にアップグレードしたスタックをアップグレードする前に「スタックのアップグレード前」および「スタックのアップグレード後」)も参照してください。

スタックのアップグレードオプションでは、Oracle Cloud Infrastructure (OCI)スタック・デプロイメント上のソース・インスタンスの既存のスタック構成に基づいて、Oracle Essbaseターゲット・インスタンスが作成されます。

アップグレードでサポートされているバージョン

サポートされているバージョン アップグレード前のソース・インスタンスに必要なタスク
19.3.0.0.2

スクリプトupgrade-metadata-19c02.shを実行します。

拡張メタデータを収集します。

19.3.0.2.3

スクリプトupgrade-metadata-19c23.shを実行します。

拡張メタデータを収集します。

19.3.0.3.4

スクリプトupgrade-metadata-19c.shを実行します。

拡張メタデータを収集します。

19.3.0.4.5

スクリプトupgrade-metadata-19c.shを実行します。

拡張メタデータを収集します。

19.3.0.5.6以降のリリースの19c 拡張メタデータを収集します。
21.x 拡張メタデータを収集します。

ターゲット・インスタンスの作成

ターゲット・インスタンスの作成の一部として、次のことが行われます。

  • ソース・インスタンスが停止されます
  • ソース・インスタンスのブロック・ボリュームのクローンが作成されます
  • OCIでのEssbaseの最新の公開されたイメージを使用して、ターゲット・インスタンスが作成されます。
    • ソース・インスタンスのサブネットと同じVCNの使用
    • ターゲット・インスタンスのブロック・ボリュームのクローンの使用
    • ソース・インスタンスと同じデータベースの使用

ターゲット・インスタンスの初期化後、ターゲット・インスタンスでEssbaseが起動されます。その後、ソース・インスタンスからのEssbaseアプリケーションおよびデータが、ターゲット・インスタンスで使用可能になります。ソース・インスタンスへのログインに使用された同じsshキー、パスワードおよび資格証明を使用してログインし、ターゲット・インスタンスを使用できます。

サポートされている機能

ノート:

新しいアップグレード・バージョンに固有で、スタックの追加構成が必要な機能は、スタックのアップグレードを使用して作成されたターゲット・インスタンスでは使用できません。たとえば、カタログ・オブジェクト・ストレージは21.4、21.5ではサポートされず、Smart View for Office 365は21.5ではサポートされません。

スタックのアップグレードのプロセス

  1. マーケットプレイス、適切なバージョンのソース・インスタンス、およびコンパートメントからデプロイメントするためにスタックのアップグレードオプションを選択し、スタックに任意の名前を入力した後、次の手順を実行します。
  2. 続行する前に、「スタックのアップグレード前」を確認してください。
    1. ドロップダウン・リストからソース・インスタンスのEssbaseスタックのバージョンを選択します。ソース・インスタンスが21.2以上の場合は、Essbase 21c - 21.2以上を使用します。ソース・インスタンスが21.1の場合は、Essbase 21c - 21.1を選択します。それ以外の場合は、ソース・インスタンスの適切な19cバージョンをドロップダウン・メニューから使用します。
    2. ドロップダウンから、以前のバージョンがインストールされているソース・インスタンスを選択します。
    3. 以前にアップグレード対象のソース・インスタンスでOCIコマンドを実行して収集したJSON出力(「スタックのアップグレード」内で示されている)をコピーします。それをソース・インスタンスのメタデータ入力フィールドに入力します。
    4. [オプション]新しいノードのプライベートIPを指定するには、ターゲットについてのプライベートIPの指定を選択してから、ターゲットのIPの値を入力します。ソースと同じサブネットから、使用可能なIPアドレスを入力します。
    5. ドロップダウン・リストからターゲット・インスタンス・シェイプを選択します。このリリースの推奨シェイプにアップグレードする場合は、推奨フレックス・シェイプにアップグレードを選択します。21.6の推奨シェイプはVM.Standard.E5.Flexです。ソース・インスタンスのシェイプと同じシェイプを保持する場合は、ソース・インスタンスと同じシェイプを保持(デフォルト)を選択します。
    6. 異なるコンパートメントに格納されているシークレットを選択する場合は、拡張シークレット選択オプションの表示チェック・ボックスを選択します。チェック・ボックスを選択すると、Essbaseシステム管理パスワードのコンパートメントデータベース管理パスワードのコンパートメントおよびIDCS/IAMアプリケーション・クライアント・シークレットのコンパートメントの3つの追加フィールドが使用可能になります。チェック・ボックスが選択されていない場合は、デプロイメントと同じコンパートメントからのみシークレットを選択できます。
    7. Essbaseシステム管理パスワードのコンパートメント・フィールドで、Essbaseシステム管理パスワードのシークレットを格納したコンパートメントを選択します。
    8. データベース管理パスワードのコンパートメント・フィールドで、データベース管理パスワードのシークレットを格納したコンパートメントを選択します。
    9. IDCS/IAMアプリケーション・クライアント・シークレットのコンパートメント・フィールドで、IDCS/IAMアプリケーション・クライアントのシークレットが格納されているコンパートメントを選択します。
    10. [オプション] [19.3.0.0.2のアップグレードに必須]フィールド: Essbaseシステム管理パスワード「データベース管理パスワード」およびIDCS/IAMアプリケーション・クライアント・シークレット(IDCSを使用している場合)で、Essbaseシステム管理、データベース管理およびIDCS/IAMアプリケーション・クライアントのパスワードを含むシークレットをそれぞれ選択します。これらのフィールドはオプションとして表示されますが、19.3.0.0.2のアップグレードの場合は指定しないとスタックのアップグレードに失敗します。他のすべてのリリースで、これらのシークレットを選択する必要があるのは、既存のシークレットが削除または変更された場合のみです。
    11. 「次」をクリックします。

      ノート:

      新しいイメージでスタックを作成した後、ソース・インスタンスは停止状態になります。新規ノードの実行中は、ソース・インスタンス・ノードを起動しないでください。

      ノート:

      新しいノードでは、古い(ソース)ノードで使用されていたのと同じデータベース、ディスク・ボリュームのクローン、SSHキー、シェイプなどが使用されます。
  3. 「確認」ページのステップで、「スタックの作成」トピックの最後まで進みます。

スタックのアップグレード前

ここでは、アップグレードを実行する前のいくつかのタスクと考慮事項を示します。

  • ソース・インスタンスでstop.shを使用して、Essbaseサーバーを停止します。これは、スタックのアップグレードを実行する前にお薦めします。
  • ソース・インスタンスでロード・バランサが使用されていた場合は、ロード・バランサの詳細を記録します。これらの詳細は、スタックのアップグレード後に、新しいターゲット・ノードのプライベートIPをロード・バランサのバックエンド・セットに追加するために使用します。
  • プロビジョニングされたLDAPユーザー/グループを記録し(それがソース・インスタンスに含まれている場合)、それらをアップグレード後に使用できるようにします。
  • 元のデプロイメントの命名規則に従ってソース・インスタンスのコンポーネントに名前を付けます(それらを変更した場合)。ソース・インスタンスに当てはまる既知の問題について、最新のリリース・ノートを確認します。
  • 次のように、動的グループのポリシーを追加します:
    Allow dynamic-group <dyn group> to manage instance-family in compartment <name>
    Allow dynamic-group <dyn group> to manage virtual-network-family in compartment <name>
  • バックアップからリストアされたソース・インスタンス」、「Essbaseバージョン19.3.0.n.nでのソース・インスタンス」または「以前にアップグレードされたスタック」に記載されている手順がご自分のアップグレードに当てはまるかどうかを確認してください。当てはまる場合は、それらを実行する必要があります。
  • Essbase on OCIスタック・バージョン19.3.0 3.4または19.3.0.4.5にあるソース・インスタンスの場合は、アップグレードの前に、「Essbaseバージョン19.3.0.n.nでのソース・インスタンス」に記載されているスクリプトを実行する必要があります。
  • Essbase on OCIスタック・バージョン19.3.0.2.3にあるソース・インスタンスの場合は、アップグレード前に、oracleユーザーとしてpipをアップグレードし、19.3.0.2.3ソース・インスタンスでoci cliをアップグレードする必要があります(19.3.0.2.3用のアップグレード・メタデータ・スクリプトを実行する前)。

    oracleユーザーとしてpipをアップグレードするには:

    sudo su oracle
    pip install --upgrade pip
    oracleユーザーとしてoci cliをアップグレードするには:
    sudo su oracle
    pip install oci-cli --upgrade

Essbaseバージョン19.3.0.n.nでのソース・インスタンス

ソース・インスタンスがEssbaseバージョン19.3.0.0.2、19.3.0.2.3、19.3.0.3.4または19.3.0.4.5で実行されている場合は、次の手順を実行します。

  1. sshを使用してソース・インスタンスにログインします。
  2. 次のように、oracleユーザーに変更します:
    sudo su oracle
  3. 次の該当するリンクからスクリプトをコピーし、指示に従って保存します:
    • 19.3.0.0.2の場合は、次のリンクからスクリプトをコピーし、upgrade-metadata-19c02.shとして保存します
      https://github.com/oracle-quickstart/oci-essbase/tree/main/scripts/upgrade-metadata-19c02.sh
    • 19.3.0.2.3の場合は、次のリンクからスクリプトをコピーし、upgrade-metadata-19c23.shとして保存します
      https://github.com/oracle-quickstart/oci-essbase/tree/main/scripts/upgrade-metadata-19c23.sh
    • 19.3.0.3.4または19.3.0.4.5の場合は、次のリンクからスクリプトをコピーし、upgrade-metadata-19c.shとして保存します
      https://github.com/oracle-quickstart/oci-essbase/tree/main/scripts/upgrade-metadata-19c.sh

    ノート:

    そのスクリプトを実行する前に、キーを管理するポリシーを追加してあることを確認します。このスクリプトでは、それが実行されているソース・インスタンスに関連付けられたボールト内で、シークレットが変更および作成されます。
    Allow group <group> to manage keys in compartment <compartment name>
  4. 次のように、スクリプトを実行します:
    • 19.3.0.0.2の場合は、次のようにスクリプトを実行します:
      sudo su oracle
      bash -e upgrade-metadata-19c02.sh
    • 19.3.0.2.3の場合は、次のようにスクリプトを実行します:
      sudo su oracle
      bash -e upgrade-metadata-19c23.sh
    • 19.3.0.3.4または19.3.0.4.5の場合は、次のようにスクリプトを実行します:
      bash -e upgrade-metadata-19c.sh

    ノート:

    このスクリプトでは、ソース・インスタンスのメタデータが変更されます。元のインスタンス・メタデータは、そのスクリプトの実行後は、次のファイル内にあります。そのスクリプトの初回実行後に、それをコピーして参照用に保持しておいてください。スクリプト実行中にエラーが発生した場合には、これらを使用してインスタンスの元のメタデータをリストアできます。
    /tmp/upgrade/core_metadata.json 
    /tmp/upgrade/extended_metadata.json

    ノート:

    このスクリプトは1回のみ実行できます。元のメタデータがリストアされていない場合、後続の実行ではエラーが発生します。
  5. 「ソース・インスタンスのメタデータの収集」で説明されているとおりに、メタデータの収集に進みます。

バックアップからリストアされたソース・インスタンス

ソース・インスタンスがバックアップからリストアされているか、ディザスタ・リカバリ・インスタンスを使用している場合は、次の手順を実行します。

  1. Essbaseソース・インスタンスを停止します。
    /u01/config/domains/essbase_domain/esstools/bin/stop.sh
  2. データ・ボリュームをアンマウントします。
    sudo umount /u01/data with opc user
  3. ISCSIコマンドを使用してデータ・ボリュームの接続を切断します。
  4. 次のように、OCIコンソールを使用してデタッチします:
    1. /etc/fstabの構成およびデータのブロック・ボリュームのエントリを一時的に無効にします。
      1. ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
      2. 次を実行します。
        sudo vi /etc/fstab
      3. /u01/configおよび/u01/dataのエントリの前に#を挿入します。
      4. ファイルを保存します。
    2. データおよび構成のブロック・ボリュームをターゲットEssbaseコンピュートからデタッチします。iSCSIの警告をメモし、OCIコンソールを使用してデタッチする前に、必ず各ボリュームをアンマウントして切断します。
      1. アンマウントするには:
        1. ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
        2. 次を実行します。
          lsblk
        3. 次を実行します。
          sudo umount /u01/data
        4. これらのステップを繰り返して、データ・ブロック・ボリュームをアンマウントします。
      2. iSCSIを切断するには:
        1. OCIコンソールで、ターゲット・コンピュートを選択します。
        2. 「リソース」→「アタッチされたブロック・ボリューム」を選択します。
        3. 構成ブロック・ボリュームの「アクション」メニュー「アクション」メニュー・アイコン, から、「iSCSIコマンドおよび情報」を選択します。
        4. 切断するためのiSCSIコマンドをコピーします。
        5. ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
        6. コピーした切断コマンドを貼り付けて[Enter]を押します。
        7. これらのステップを繰り返して、データ・ボリュームを切断します。
      3. デタッチするには:
        1. OCIコンソールで、ターゲット・コンピュートを選択します。
        2. 「リソース」→「アタッチされたブロック・ボリューム」を選択します。
        3. 構成ブロック・ボリュームの「アクション」メニュー「アクション」メニュー・アイコンから、「デタッチ」を選択します。
        4. これらのステップを繰り返して、データ・ブロック・ボリュームをデタッチします。
  5. OCIコンソール・ページでデータ・ボリュームの名前をtag-data-volumeに変更(クローン)します。
  6. (opcユーザーとして).次のOCI CLIコマンドを使用して、データ・ボリュームを再度アタッチします
    • 19.3.0.0.2または19.3.0.2.3の場合
      oci compute volume-attachment attach-iscsi-volume --instance-id $instanceid
      --volume-id $datavolumeid --display-name data-volume-1-attachment --auth
      instance_principal
    • 19.3.0.3.4または19.3.0.4.5の場合
      oci compute volume-attachment attach-iscsi-volume --instance-id $instanceid
      --volume-id $datavolumeid --display-name data-volume-attachment --auth
      instance_principal
    • 19.3.0.5.6または19.3.0.6.0の場合
      oci compute volume-attachment attach-iscsi-volume --instance-id $instanceid
      --volume-id $datavolumeid --display-name data-volume --auth
      instance_principal
    • 21.1の場合
      oci compute volume-attachment attach-iscsi-volume --instance-id $instanceid
      --volume-id $datavolumeid --display-name data-volume-attachment --auth
      instance_principal
    • 21.2以上の場合
      oci compute volume-attachment attach-iscsi-volume --instance-id $instanceid
      --volume-id $datavolumeid --display-name data-volume --auth
      instance_principal
  7. OCIコンソール・ページからそれらのICSIIコマンドをコピーし、そのセッションでそれらを入力し、ISCSIを使用して接続します。
  8. データ・ボリュームのUUIDで/etc/fstabを更新します。
    sudo vi /etc/fstab
  9. データ・ボリュームをマウントします。
    sudo systemctl daemon-reload
    sudo mount -a
  10. サーバーを起動します。
    /u01/config/domains/essbase_domain/esstools/bin/start.sh
  11. 「ソース・インスタンスのメタデータの収集」で説明されているとおりに、メタデータの収集に進みます。

以前にアップグレードされたスタック

これは、以前にアップグレードしたスタックをEssbase 19.3.0.0.2、19.3.0.2.3、19.3.0.3.4および19.3.0.4.5からアップグレードするための前提条件です。バックアップに使用するオブジェクト・ストレージ・バケットは、アップグレード・スタックが成功するように構成する必要があります。

スタックを前述のバージョンから21.4以上にアップグレードした後、再度21.5.xにアップグレードする前に、次の手順を実行してインスタンス・メタデータを編集し、インスタンスをアップグレード用に準備します。

  1. sshを使用してターゲット・インスタンスにログインします。
  2. 作業ディレクトリに移動し、次のファイルを作成します:
    oci compute instance get --instance-id $(oci-metadata -j | jq -r '.instance.id') --auth instance_principal | jq '.data."extended-metadata"' > ext_metadata.json
  3. ファイルext_metadata.JSONを編集して、バケット情報のJSONフィールドを追加します。次に例を示します:
    {
    ...
    ...
    ...
    "backup_bucket": {
    "id": "n/<namespace>/b/essbase_xxxx_backup",
    "name": "essbase_xxxx_backup",
    "namespace": <namespace>"},
    ...
    ...
    ...
    }

    前述のxxxxを、テナンシ内の任意のバケットのバケット詳細に置き換えます。

    ノート:

    既存のバックアップ・バケット属性がext_metadata.jsonファイルにどのように表示されるか(null、空のブロック、データベース属性の内部または外部など)に関係なく、前述の詳細をext_metadata.jsonファイルに個別の属性として追加する必要があります。
  4. アップグレードしようとしているスタックの現在のソース・インスタンスで次のコマンドを実行します。
    oci compute instance update --instance-id $(oci-metadata -j | jq -r '.instance.id') --extended-metadata file://./ext_metadata.json --auth instance_principal --force

ソース・インスタンスのメタデータの収集

ここでは、ソース・インスタンスのメタデータを収集する手順を示します。

  1. SSHを使用してソース・インスタンス(アップグレード対象)にアクセスします。oracleユーザーに変更し、次のコマンドを使用してEssbaseサービスを停止します:
    sudo su oracle 
    /u01/config/domains/essbase_domain/esstools/bin/stop.sh
  2. stop.shが完了したら、次のコマンドを実行します:
    oci compute instance get --instance-id $(oci-metadata -j | jq -r '.instance.id') --auth instance_principal | jq '.data."extended-metadata"'

    ノート:

    前述のコマンドは、opcユーザーとして実行することもできます。
  3. 前述の出力はJSON形式です。後で新しくスタックのアップグレードと作成を実行する際にソース・インスタンスのメタデータフィールドで使用するために、出力内容全体(中カッコ{}を含む)をコピーします。

スタックのアップグレード後

ここでは、アップグレードを実行した後のいくつかのタスクと考慮事項を示します。

  • ターゲット・インスタンスの初期起動でエラーが発生した場合は、stop.shおよびstart.shを使用してEssbaseサーバー・プロセスを再起動してみるか、コンピュート・インスタンスを再起動してみます。

    ノート:

    ターゲット・インスタンスの実行中は、ソース・インスタンスを起動しないでください。ターゲット・インスタンスとソース・インスタンスの両方を同時に操作すると、同期の問題が発生する場合があります。
  • プロビジョニングされたLDAPユーザー/グループがソース・インスタンスにあった場合は、手動でバックアップしてターゲット・インスタンスで復元する必要があります
  • ソース・インスタンスにロード・バランサがあった場合は、ターゲット・インスタンスの新しいプライベートIPを使用してロード・バランサを手動で更新する必要があります。

    1. 「ネットワーキング」「ロード・バランサ」に移動し、編集するロード・バランサを選択します。
    2. (左側のメニューの)「リソース」で、
      1. 「バックエンド・セット」を選択し、セットessbaseを選択します。
      2. 「バックエンド」を選択し、「バックエンドの追加」を選択します。
    3. 「ターゲット・インスタンス」を選択し、ポートを443に設定して、「追加」をクリックします。
    4. ソース・インスタンスのプライベートIPをバックエンド・リストから削除します。
  • アップグレードの完了後、同じ秘密キーで新しいインスタンスにssh接続できます。
  • 機密アプリケーション – クライアント構成(前のスタックのもの)に移動し、必要に応じて、それを新しいIPアドレスで更新します。

    以前に"インスタンスファミリの管理"についての動的グループ・ポリシーが必要だった場合は、それを削除してかまいません。