SAP HANA スケールアウト インスタンスの復元と復旧

このページでは、Backup and DR Service バックアップから SAP HANA Scale-Out インスタンスを復元する方法について説明します。

ライセンス要件と復元への影響

  • SAP HANA データベースのライセンスキーは、システム ID とハードウェア ID に基づいています。復元後、SID またはハードウェア ID が変更されている場合、SAP HANA ライセンスキーは無効になります。
  • 復元に使用したバックアップに有効な永続ライセンスがある場合、復元中に一時ライセンスキーも自動的にインストールされます。自動的にインストールされた一時ライセンスは、最大 90 日間使用できます。この期間中、移行元データベースから新しいライセンスキーへのライセンスの移行を SAP に申請する必要があります。次に、復元された SAP HANA データベースに新しいライセンスキーをインストールする必要があります。
  • 復元に使用されたバックアップにのみ一時ライセンスがある場合、復元直後にデータベースはロックダウン モードになります。

一時ライセンスを使用したソース データベースこれらのバックアップは、一時ライセンスを使用して取得されます。

  • ソースに復元する。: データベースの作成から 90 日が経過し、データベースがロックダウン モードになっている。
  • 新しいターゲットに復元します。SAP 一時ライセンスでは新しいターゲットへの復元が許可されていないため、失敗します。

永続ライセンスを使用したソース データベース 永続ライセンスを使用して取得されたバックアップです。

  • ソースに復元します。問題はありません。
  • 新しいターゲットに復元: 90 日間の試用ライセンスがあります。バックアップは成功しますが、バックアップを使用して復元できません。

SAP リファレンス

プリフライト チェック

復元手順中に、プリフライト チェックで復元が検証されます。データベースの復元が成功するために、次の前提条件がチェックされます。

  • HANA SID: HANA は、同じ HANA SID 名でターゲット ノードに構成されています。
  • 構成ファイル: 構成ファイル global.ini が正しく構成されている
  • ログのバックアップ パス: ログのバックアップ パスは global.ini で設定されます。
  • BACKINT CONFIG:
    • ボリューム レベルのイメージから: このデータベースに Backint は構成されていません。
    • 完全イメージと増分イメージから: ターゲット サーバーが backint でまだ構成されていない場合、backint は復元中に構成されます。
  • HANA VERSION: ターゲット HANA バージョンは、ソース HANA バージョンと同じです。
  • USERSTOREKEY: ターゲットに存在するユーザーストアキーを指定するか、バックアップ時に存在する有効な特権ユーザー名とパスワードを指定します。
  • 論理ボリューム
    • 論理ボリューム名とボリューム グループ名は、移行元ノードと移行先ノードで同じにする必要があります。
    • ターゲットの論理ボリュームのサイズは、ソースの論理ボリュームと同じかそれ以上である必要があります。
  • ノードのステータス
    • スケールアップとスタンドアロン構成: ターゲット ノードが稼働していて利用可能
    • HANA HA(1+n)構成: 復元を開始する前に、レプリケーションを無効にする必要があります。復元後のレプリケーションを再構成する必要があります。HANA HA(1+n)クラスタの任意のノードに復元すると、選択したターゲット ホストにスタンドアロン アプリケーションが作成されます。必要に応じてクラスタを明示的に構成し直し、アプリケーションを適切に検出する必要があります。

SAP HANA データベースの自動復元

始める前に

ボリューム レベルのバックアップ イメージから新規に復元する

ボリュームレベルのバックアップ イメージから新しいターゲットへの HANA データベースの自動復元

  1. [App Manager Applications] リストで、データベースを右クリックして [Access] を選択します。
  2. 復元する最新のスナップショットを選択して、[Restore] を選択します。
  3. [復元] ページで、[新しい目標に復元] を選択します。

    • Target: すべての構成で、対象となる HANA ノードはプルダウンから選択できます。プルダウンから復元するノードを選択します。
    • 元のアプリケーション ID を置き換えます。このオプションは、バックアップが最初に生成されたアプライアンス上の新しいホストに復元する場合にのみ使用できます。

      • はい。これにより、元のアプリケーションが置き換えられ、元のアプリケーションと同じアプリケーション ID、jobhistory、バックアップ イメージ、バックアップ プランが使用されます。
      • いいえ。元のアプリは置き換えられません。復元ジョブの一環として、新しいアプリケーションとして検出されます。
    • ロールフォワード時間。ログで保護されたデータベースを復元する日時を選択します。
    • ターゲット データベースの SID。保護されたデータベースの SID 名があらかじめ入力され、変更できません。
    • SAP DB USER STORE-KEY。これは、バックアップ中にユーザー ストアキーが事前に入力されます。新しいユーザーストア鍵は、バックアップ中に使用可能な特権ユーザー名とパスワードで指定できます。この新しいユーザーストア鍵が作成され、復元に使用されます。

    • ユーザー名とパスワードが既存のユーザーストア キーで指定されている場合、このユーザー名とパスワードでユーザーストア キーが再作成されます。検証は、systemdb が復元された後にのみ行われます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。

    • ユーザー名とパスワードを含む新しいユーザーストア鍵が指定されている場合、指定されたユーザーストア鍵名、ユーザー名、パスワードを使用してユーザーストア鍵が作成されます。検証は、systemdb の復元後にのみ行われます。ユーザー名またはパスワードが有効でない場合、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。

    • userstorekey、ユーザー名、パスワードが渡されなかった場合、事前チェック中に、バックアップ中に使用された userstorekey がターゲット サーバーに存在するかどうかが検証されます。バックアップ中に使用された userstorekey が見つからない場合、事前チェックは失敗します。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。

    • userstorekey が渡されず、ユーザー名とパスワードが指定されている場合、バックアップ中に使用された userstorekey が、ターゲット サーバーで渡された認証情報を使用して再作成されます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていないか、バックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。

  4. プリフライト チェックをクリックします。

  • プリフライト チェックが失敗した場合は、問題を修正してプリフライト チェックを再送信します。
  • プリフライト チェックが成功したら、[送信] をクリックして復元ジョブを送信します。

ボリュームレベルのバックアップ イメージからソースを取得する

ボリュームレベルのバックアップ イメージから HANA データベースをソースに自動復元する

  1. [App Manager] の [Applications] リストで、データベースを右クリックして [Access] を選択します。復元する最新のスナップショットから [復元] を選択します。
  2. [復元] ページで、[ソースに復元] を選択します。

    • ターゲット: 次の操作を行います。
      • スタンドアロンの SAP HANA 構成の場合、[ターゲット] が事前に入力されています。
      • HANA HA(1+n)構成の場合は、プルダウン リストから復元先の HANA HA ノードを選択します。
    • ロールフォワード時間。ログで保護されたデータベースを復元する日時を選択します。
    • ターゲット データベースの SID。保護されたデータベースの SID 名があらかじめ入力され、変更できません。
    • SAP DB USER STORE-KEY。これは、バックアップ中にユーザー ストアキーが事前に入力されます。新しいユーザーストア鍵は、バックアップ中に使用可能な特権ユーザー名とパスワードで指定できます。この新しいユーザーストア鍵が作成され、復元に使用されます。
      • 既存のユーザーストア鍵でユーザー名とパスワードが指定されている場合、このユーザー名とパスワードでユーザーストア鍵が再作成されます。検証は、systemdb が復元された後にのみ行われます。ユーザー名またはパスワードが有効でないか、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • ユーザー名とパスワードを含む新しいユーザーストア鍵が指定されている場合、ユーザーストア鍵は、指定されたユーザーストア鍵名、ユーザー名、パスワードで作成されます。検証は、systemdb の復元後にのみ行われます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • userstorekey、ユーザー名、パスワードが渡されない場合、事前チェック中に、バックアップ中に使用された userstorekey がターゲット サーバーに存在するかどうかが検証されます。バックアップ中に使用された userstorekey が見つからない場合、事前チェックは失敗します。認証情報が有効でないか、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元に失敗することがあります。
      • userstorekey が渡されなかったが、ユーザー名とパスワードが指定されている場合、バックアップ中に使用された userstorekey が、ターゲット サーバーで渡された認証情報を使用して再作成されます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていないか、バックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
    1. [フライト前のチェック] をクリックします。
    • プリフライト チェックが失敗した場合は、問題を修正してプリフライト チェックを再送信します。
    • プリフライト チェックが成功したら、[送信] をクリックして復元ジョブを送信します。

完全バックアップと増分バックアップのイメージから新規に復元する

完全バックアップと増分バックアップのイメージから HANA データベースを新しいターゲットに自動復元する

  1. 管理コンソールの [App Manager] の [Applications] リストで、データベースを右クリックして [Access] を選択します。
  2. 復元する最新のスナップショットを選択して、[Restore] を選択します。
  3. [復元] ページで、[新しいターゲットに復元] を選択します。

    • Target: スタンドアロン HANA 構成の場合、これは事前に入力されています。プルダウンで HANA HA ノードを選択できます。プルダウンから復元するノードを選択します。
    • 元の ID を置き換える。このオプションは、バックアップが最初に生成された同じバックアップ/リカバリ アプライアンスの新しいホストに復元する場合にのみ使用できます。

      • はい。これにより、元のアプリケーションが置き換えられ、元のアプリケーションと同じアプリケーション ID、ジョブ履歴、バックアップ イメージ、バックアップ プランが保持されます。
      • いいえ。元のアプリは置き換えられません。これは、復元ジョブの一部として新しいアプリケーションとして検出されます。HANA HA の復元後、ノードはスタンドアロンになり、クラスタと同じ appid を保持します。レプリケーションを有効にすると、次の検出でクラスタが検出され、クラスタホストと同じ appid が引き続き使用されます。
    • INCLUDE LIST: n 個のテナント データベースから 1 つ以上のデータベースを復元する場合は、[INCLUDE] でデータベースのカンマ区切りのリストを使用します。

    • EXCLUDE LIST: n 個のテナント データベースから復元する際に SYSTEMDB または 1 つ以上のテナント データベースを除外するには、[EXCLUDE] でデータベースのカンマ区切りのリストを使用します。たとえば、SYSTEMDB を除外リストに追加すると、SYSTEMDB は復元から除外され、バックアップされたすべてのテナント データベースが復元されます。

      • INCLUDE LISTEXCLUDE LIST の両方が空の場合、SYSTEMDB とすべてのテナント(tn1、tn2、tn3)が復元されます。
      • 単一テナント tn1 を復元する場合は、tn1 で include リストを使用します。
      • tn2 と tn3 を復元し、SYSTEMDB と tn1 を除外する場合は、tn2 と tn3 のみを含むリストを使用します。
      • すべてのテナント(tn1、tn2、tn3)のみを復元し、SYSTEMDB を除外する場合は、SYSTEMDB を除外するか、tn1、tn2、tn3 を含めます。
    • ロールフォワード時間。ログで保護されたデータベースを復元する日時を選択します。

    • ターゲット データベースの SID。保護されたデータベースの SID 名があらかじめ入力され、変更できません。

    • SAP DB USERSTORE KEY。これは、バックアップ中にユーザー ストアキーが事前に入力されます。新しいユーザーストア鍵は、バックアップ中に使用可能な特権ユーザー名とパスワードで指定できます。この新しいユーザーストア鍵が作成され、復元に使用されます。

      • ユーザー名とパスワードが既存のユーザーストア キーで指定されている場合、このユーザー名とパスワードでユーザーストア キーが再作成されます。検証は、SYSTEMDB が復元された後にのみ行われます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていないか、バックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • ユーザー名とパスワードを含む新しいユーザーストア鍵が指定されている場合、ユーザーストア鍵は、指定されたユーザーストア鍵名、ユーザー名、パスワードで作成されます。検証は、SYSTEMDB の復元後にのみ行われます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • userstorekey が指定されていない場合は、ユーザー名とパスワードが渡され、事前チェック中に、バックアップ中に使用された userstorekey がターゲット サーバーに存在するかどうかが検証されます。バックアップ中に使用された userstorekey が見つからない場合、事前チェックは失敗します。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていないか、バックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • userstorekey が渡されなかったが、ユーザー名とパスワードが指定されている場合、バックアップ中に使用された userstorekey は、ターゲット サーバーで渡された認証情報を使用して再作成されます。ユーザー名またはパスワードが有効でない場合、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
  4. [フライト前のチェック] をクリックします。

    • プリフライト チェックが失敗した場合は、問題を修正してプリフライト チェックを再送信します。
    • プリフライト チェックが成功したら、[送信] をクリックして復元ジョブを送信します。

完全バックアップと増分バックアップのイメージからソースを取得する

完全バックアップと増分バックアップのイメージから HANA データベースをソースに自動復元する

  1. 管理コンソールの [App Manager] > [Applications] リストで、データベースを右クリックして [Access] を選択します。
  2. 復元する最新のスナップショットを選択して、[Restore] を選択します。
  3. [復元] ページで、[ソースに復元] を選択します。

    • [ターゲット] で、次の操作を行います。

      • スタンドアロン HANA 構成の場合、これは事前に入力されています。
      • HANA HA(1+n)構成の場合、HANA HA ノードはプルダウンから選択できます。プルダウンから復元するノードを指定します。
    • INCLUDE LIST の場合、n 個のテナント データベースから SYSTEMDB または 1 つ以上のテナント データベースを復元するには、[INCLUDE] でデータベースのカンマ区切りのリストを使用します。

    • EXCLUDE LIST: n 個のテナント データベースから復元する際に SYSTEMDB または 1 つ以上のテナント データベースを除外するには、[EXCLUDE] でデータベースのカンマ区切りのリストを使用します。たとえば、SYSTEMDB を除外リストに追加すると、SYSTEMDB は復元から除外され、バックアップされたすべてのテナント データベースが復元されます。

      • INCLUDE LISTEXCLUDE LIST の両方が空の場合、SYSTEMDB とすべてのテナント(tn1、tn2、tn3)が復元されます。
      • 単一テナント tn1 を復元する場合は、tn1 で include リストを使用します。
      • tn2 と tn3 を復元し、SYSTEMDB と tn1 を除外する場合は、tn2 と tn3 のみを含むリストを使用します。
      • すべてのテナント(tn1、tn2、tn3)のみを復元し、SYSTEMDB を除外する場合は、SYSTEMDB を除外するか、tn1、tn2、tn3 を含めます。
    • [ロールフォワード時間] で、ログで保護されたデータベースを復元する日時を選択します。

    • [TARGET DATABASE SID] には、保護されたデータベース SID 名が事前に入力され、変更できません。

    • SAP DB USER STORE-KEY の場合、バックアップ中に userstore キーが事前に入力されます。新しいユーザーストア鍵は、バックアップ中に使用可能な特権ユーザー名とパスワードで指定できます。この新しいユーザーストア鍵が作成され、復元に使用されます。

      • ユーザー名とパスワードが既存のユーザーストア鍵で指定されている場合、このユーザー名とパスワードでユーザーストア鍵が再作成されます。検証は、systemdb が復元された後にのみ行われます。ユーザー名またはパスワードが有効でない場合、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • ユーザー名とパスワードを含む新しいユーザーストア鍵が指定されている場合、ユーザーストア鍵は、指定されたユーザーストア鍵名、ユーザー名、パスワードで作成されます。検証は、systemdb の復元後にのみ行われます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていないか、バックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • ユーザーストア キー、ユーザー名、パスワードが渡されなかった場合、事前チェック中に、バックアップ中に使用されたユーザーストアキーがターゲット サーバーに存在するかどうかが検証されます。バックアップ中に使用された userstorekey が見つからない場合、事前チェックは失敗します。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていないか、バックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • userstorekey が渡されず、ユーザー名とパスワードが指定されている場合、バックアップ中に使用された userstorekey が、ターゲット サーバーで渡された認証情報を使用して再作成されます。ユーザー名またはパスワードが有効でない場合、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
      • SYSTEMDB リカバリでは、hdbuserstore キーは SYSTEMDB リカバリの終了時とテナント リカバリの開始前に検証されます。ユーザー名またはパスワードが無効であるか、適切な権限が含まれていない場合、またはバックアップ イメージの一部として使用できない場合、テナントの復元が失敗することがあります。
  4. [フライト前のチェック] をクリックします。

    • プリフライト チェックが失敗した場合は、問題を修正してプリフライト チェックを再送信します。
    • プリフライト チェックが成功したら、[送信] をクリックして復元ジョブを送信します。

SAP HANA テナント データベースを手動で復元する

単一テナント データベースは、ボリュームレベルのバックアップ イメージからソースに手動で復元できます。

手順

単一テナント データベースを復元するには、次の操作を行います。

  1. [App Manager] の [Applications] リストで、データベースを右クリックして [Access] を選択します。
  2. ランウェイから復元する最新のスナップショットを選択し、右側の [マウント] を選択します。
  3. [マウント] ページで [アプリケーション オプション] を無効にし、[マウント オプション] でマウント ロケーション(/testmnt など)を設定します。
  4. root としてサーバーにログインし、ディレクトリを /act/custom_apps/saphana/restore に変更します。cd /act/custom_apps/saphana/restore
  5. 復元用のスクリプトを実行します。
      ./CALL_LVM_single_tenant_recover.sh DBSID TENANT SID SYSTEMDB USERSTORE KEY RECOVERY TIME

スクリプトの引数の説明:

    DBSID = The database SID
    TENANT SID = The name of the tenant database to be restored
    SYSTEM DB USERSTORE KEY = The System DB userstore key
    RECOVERY TIME = The required recovery time in the format YYYY-MM-DD HH24:MI:SS in UTC

例: ./CALL_LVM_single_tenant_recover.sh lv1 lv1 ACTBACKUP '2019-09-24 20:00:00'

  1. スクリプトが完了すると、テナント DB が復元され、アクセスできるようになります。
  2. 管理コンソールに移動し、バックアップ イメージのマウントを解除して削除します。

SAP HANA Studio でバックアップのステータスを確認する

バックアップのステータス、メタデータ、バックアップ イメージは HANA Studio で確認できますが、HANA Studio から Backup and DR Service のバックアップ イメージにアクセスすることはできません。復元やその他の用途でバックアップ イメージにアクセスするには、管理コンソールを使用する必要があります。

  1. HANA Studio で、[Backup] フォルダに移動します。

  2. [バックアップ カタログ] タブに移動します。

    [バックアップ カタログ] タブには、バックアップのステータスと、開始時間、所要時間、サイズ、バックアップ タイプ、宛先などの詳細が表示されます。

HANA と HANA HA 1+n の復元動作

このセクションでは、HANA と HANA HA 1+n の復元動作について説明します。

すべての HANA 構成

[Manage New Application] オプションが有効な状態で新しいターゲットに復元する場合:

  • 復元されたアプリは保護されますが、[アプリの詳細と設定] セクションにはデフォルト値のみが表示されます。バックアップを正常に完了するには、復元後に [アプリケーションの詳細と設定] で必要な値を手動で設定する必要があります。
  • 復元されたアプリケーション保護は、無効な状態になります。バックアップの実行を開始するには、[App Manager] > [アプリケーション] > [バックアップを管理] プランで保護を有効にする必要があります。

HANA HA(1+n)構成

ノード A がプライマリで、ノード B がセカンダリ(ノード A -> ノード B)の HANA 1+1 クラスタの場合、クラスタはバックアップと DR サービスのアプリケーションとして検出され、バックアップはプライマリの ノード A から実行されます。

新しいターゲット HANA データベース(スタンドアロンまたはクラスタ)に復元する

新しいターゲットがアプリケーションとして検出された、または保護されている場合は、復元前に、このアプリケーションを保護解除してバックアップと DR から削除する必要があります。新しいターゲット アプリケーションが存在する場合、ジョブは失敗します。

ノード A プライマリに復元する

  • ノード A への復元を実行する前に、ノード B をクラスタから登録解除する必要があります。
  • ノード A に復元された後、ノード A はスタンドアロン アプリケーションになります。
  • ノード Bノード A に登録し、ノード B をセカンダリとして登録する必要があります。また、クラスタ バックアップとして続行するには、ノード A で強制検出を実行する必要があります。

ノード B セカンダリに復元する

  • ノード B を登録解除する必要があります。登録解除しない場合、ノード B に復元する前に、ノード B でテイクオーバーを実行する必要があります。
  • Node B に復元する前に Node A をシャットダウンし、復元後に Node B にセカンダリとして Node A を追加します。
  • ノード B は、復元オペレーション後のスタンドアロン アプリケーションです。ノード A は、ノード B に登録し、ノード A をセカンダリにする必要があります。
  • ノード B からディスカバリを実行して、クラスタ アプリケーションとして再検出します。

  • ノード Aノード B をスタンドアロン アプリケーションとして保護するには、復元後にレプリケーションを有効にせずに、ノード Aノード B で検出を実行します。

復元のために SAP HANA システム レプリケーションを無効にする方法

  1. オペレーティング システム ユーザー(ユーザー adm)として両方のシステムにログインします。
  2. セカンダリ システム(sapcontrol –nr -function StopSystem HDB)を停止します。
  3. セカンダリ システムで、セカンダリ システム(hdbnsutil -sr_unregister --id=(secondarySiteID))の登録を解除します。
  4. プライマリ システム(hdbnsutil –sr_disable)でシステム レプリケーションを無効にします。
  5. 次のいずれかのスクリプトを使用して、システム レプリケーションを確認します。

    • systemReplicationStatus.py スクリプト。このスクリプトには、レプリケーション ステータスとデータベース情報が表示されます。
    • hdbnsutil -sr_state スクリプト。このスクリプトには、レプリケーション ノードのロールとホスト マッピングの詳細が表示されます。

SAP HANA スケールアウト用の Backup and DR サービス ドキュメント

このページは、Backup and DR サービスを使用して SAP HANA スケールアウト インスタンスを保護および復元する方法に関する一連のページの 1 つです。詳細については、以下のページをご覧ください。