バックアップとリカバリの実行

データベースリカバリの実行

Objective

After completing this lesson, you will be able to データベースをリカバリします。

テナントデータベースのリカバリ

SAP HANA データベースは、データバックアップおよびログバックアップを使用してリカバリすることができます。SAP HANA では、SYSTEMDB とそのテナントデータベースをリカバリすることができます。システムデータベースとテナントデータベースは、同じシステム (リカバリ) または異なるシステムタイプ (システムコピー) で個別にリカバリすることができます。リカバリでは、ソースデータベースとターゲットデータベースは同一の設定である必要があります。

データ領域またはログ領域でディスククラッシュがある場合、テナントを特定の時点にリセットする必要がある場合、またはデータベースコピーを登録する必要がある場合は、SYSTEMDB またはテナントのリカバリが必要になることがあります。

SAP HANA では、以下のデータベースリカバリ手順がサポートされています。

  • 障害前の状態へのリカバリ

  • ポイントインタイムリカバリ

  • 特定のデータバックアップへのリカバリ

データベースをリカバリする理由

データベースリカバリの理由

ハードウェア障害またはユーザエラーは、データベースのリストアが必要になる主な理由であり、以下の一覧で説明されています。

(1) データボリュームが使用できない

データ領域が使用できず、最後の完全データバックアップ後のすべてのデータ変更がログバックアップおよびログ領域で引き続き利用可能である場合は、障害発生時にインメモリでコミットされたトランザクションからデータをリカバリすることができます。

コミットされたデータは失われません。

リカバリには、データバックアップ、ログバックアップ、ログ領域を使用します。データバックアップを正常にリストアすると、ログバックアップおよびログ領域からのログエントリが自動的にリプレイされます。

また、古いデータバックアップおよびログバックアップを使用してデータベースをリカバリすることもできます。データバックアップ後に作成された関連するすべてのログバックアップをリカバリする必要があります。

詳細については、SAP ノート 1705945: リカバリに必要なファイルの決定を参照してください。

(2) ログボリュームが使用できない

ログ領域が使用できない場合は、ログバックアップの再生のみが可能です。したがって、最新のログバックアップ後に行われた変更はすべて失われます。また、ログバックアップ中にオープンしていたすべてのトランザクションがロールバックされます。

既存のログバックアップ内で、データベースをある時点にリカバリすることができます。

リカバリには、データバックアップとログバックアップを使用します。データバックアップが正常にリストアされると、ログバックアップのログエントリが自動的にリプレイされます。使用できないログ領域からエントリがリカバリされないようにするには、リカバリウィザードで Initialize log area オプションを指定します。

(3) 論理エラー: ポイントインタイムリカバリ

データベースを特定の時点にリセットするには、回復する時点より前のデータバックアップ、後続するログバックアップ、およびログ領域が必要です。

リカバリ時間後に行われた変更はすべて失われます。このリカバリを実行する場合は、データベースを別のシステムにリカバリすることを検討してください。

リカバリタイプ

ユーザエラーのうちハードウェアエラーが原因でデータベースがクラッシュした場合、データベース管理者はデータベースを整合性のある状態に復元する必要があります。

この図は、タイムライン上のリカバリポイント A、B、および C を示しています。リカバリステータスとポイントはマークされています。

利用可能なリカバリタイプ:

(A) データベースを最新の状態にリカバリします。

このオプションは、できる限り現時点と同じ状態になるよう、データベースをリカバリします。

このリカバリオプションは、以下のデータを使用します。

  • 直近のデータバックアップ

  • 直近のデータバックアップ以降に作成されたログバックアップ

  • ログ領域

(B) データベースを特定の時点までリカバリします。

このリカバリオプションは、以下のデータを使用します。

  • 指定された時点より前で、直近の使用可能なデータバックアップ

  • データバックアップ以降に作成されたログバックアップが使用されます

  • ログ領域

(C) データベースを特定のデータバックアップまでリカバリする

このリカバリオプションは、以下のデータを使用します。

指定されたデータバックアップ

注記

オプション (C) では、デルタバックアップはサポートされません。ログエントリは、ログバックアップからも、ログ領域からも再現されません。ログ領域にまだ存在しているすべてのログエントリは、削除されます。

リカバリを実行するための要件

  • SAP HANA データベースをシャットダウンする必要があります。

  • ユーザはシステム権限 BACKUP ADMIN を持っている必要があります。

  • <sid>adm オペレーティングシステムユーザが必要です。

  • 少なくとも 1 つのデータバックアップが必要です

  • リカバリを開始する前に、すべてのデータバックアップおよびログバックアップがファイルシステムでアクセス可能であるか、サードパーティバックアップツールを介して利用可能である必要があります。

  • ソースシステムと対象システムでサービスの数とタイプが同一である必要があります。

  • カスタマ固有の設定を復元するには、リカバリを開始する前にカスタマ固有の設定を行います。

注記

SAP HANA では、古い SAP HANA データベースバージョンから新しいデータベースバージョンにバックアップをリストアすることができます。

SAP HANA データベースリカバリの実行

リカバリフェーズ

リカバリは通常、以下のフェーズで構成されます。

  1. データリカバリ - 完全データバックアップ + デルタバックアップ
  2. ログ再生 - ログバックアップ + ログ領域のログエントリ
  3. 再起動

SAP HANA データベースのリカバリを実行するには、以下の要件を満たす必要があります。

  • SAP HANA データベースソフトウェアをインストールし、初期データベースを用意する必要があります。リカバリの状況では、SAP HANA コックピットを使用して、カスタマ固有の変更をこの初期データベースにリストアすることができます。

    カスタマ固有の設定を復元する場合は、データベースとログバックアップをリストアする前、またはリカバリの終了時に復元することができます。

  • 対象システムとソースシステムの設定が完全に同じであることを確認してください。各ホストのサービス数とサービスタイプ (たとえばインデックスサーバなど) が、両方のシステムランドスケープで完全に同じである必要があります。

  • リカバリの開始時には、使用するすべてのデータとログのバックアップが、ファイルシステム内でアクセス可能であるか、またはサードパーティのバックアップツールから使用可能である必要があります。

  • リカバリを開始する前に、使用可能なデータバックアップが少なくとも 1 つ必要です。

  • データベースを特定の時点にリストアするには、データバックアップと、リカバリの時点までのすべてのログバックアップ (リカバリの目的の時点以降に作成されたログバックアップを含む) が必要です。

注記

SAP HANA データベースをリカバリするには、データベースを停止する必要があります。そのため、リカバリ中は、エンドユーザまたはアプリケーションがデータベースにアクセスできません。

データベースリカバリ

データベースリカバリの前提条件

  • SAP HANA データベースソフトウェアが対象システムにインストールされていること。

  • リカバリを実行するには、SAP HANA データベースをシャットダウンする必要があります。

  • 以下が使用可能である必要があります。
    • 少なくとも 1 つのフルバックアップ (完全データバックアップまたはデータスナップショット)
    • 必要に応じて、使用されるフルバックアップ以降にデルタバックアップが登録されます。
    • 必要に応じて、使用されるフルバックアップ以降に登録されたログバックアップ

      (デルタバックアップにまだ含まれていない変更をカバー)

    • 必要に応じて、ログ領域

注意点

  • テナントデータベースのリカバリは、常にシステムデータベースから開始されます。テナントデータベースをリカバリする必要がある場合は、1 回の操作ですべてまとめてリカバリするのではなく、個別にリカバリします。

  • システムデータベースは、破損した場合にのみリカバリする必要があります。テナントデータベースのみが破損している場合、システムデータベースをリカバリする必要はありません。

  • システムデータベースがリカバリのためにシャットダウンされると、そのテナントデータベースもすべて自動的にシャットダウンされます。

  • SAP HANA マルチテナントデータベースコンテナがリカバリされると、必要なサービスがテナントデータベースに自動的に生成されます。

  • SAP HANA システム全体をリカバリするには、最初にシステムデータベースをリカバリしてから、すべてのテナントデータベースを個別にリカバリする必要があります。

テナントデータベースのリカバリ

  • テナントデータベースは個別にリカバリされ、すべてが 1 回の操作でリカバリされるわけではありません。

  • テナントデータベースのリカバリはシステムデータベースからのみ開始されます。

  • システムデータベースユーザのログオン認証情報が必要である。
  • システムデータベースおよびその他のテナントデータベースは影響を受けず、オンラインのままになります。

システムデータベースのリカバリ

  • すべてのテナントデータベースを含むシステム全体がシャットダウンしている。

  • <sid>adm ユーザのログオン認証情報が必要です。

  • システムデータベースをリカバリして再起動した後、テナントデータベースを再起動できます。

  • テナントデータベースのコンテンツは、システムデータベースリカバリの影響を受けません。

注記

システムデータベースがリカバリのためにシャットダウンされると、そのテナントデータベースも自動的にシャットダウンされます。つまり、システムデータベースのリカバリが完了するまで、そのすべてのテナントデータベースが使用できなくなります。

たとえば、テナントデータベースで論理エラーが発生した場合などに、テナントデータベースのリカバリが必要になることがあります。

SAP HANA コックピットを使用したデータベースのリカバリ

SAP HANA コックピットを使用してデータベースをリカバリするオプションは、以下のとおりです。

  • 最新の整合性のある状態へ

  • 特定の時点

注記

SAP HANA コックピットを使用すると、テナントデータベースのみを特定の時点にリカバリすることができます。システムデータベースをある時点にリカバリするには、recoverSys.pyツールを使用します。

この図は、システムインタフェースを使用してデータベースリカバリを実行するためのステップバイステップガイドを示しています。

SAP HANA データベースをリカバリするには、以下の手順を実行します。

  1. SAP HANA コックピットで、リカバリするデータベースを選択します。

    • テナントデータベースをリカバリするには、Manage databases 画面からテナントデータベースを選択し、Recover tenant を選択します。

    • システムデータベースをリカバリするには、Recover Database を選択します。

  2. 以下のいずれかからリカバリタイプを指定します。

    • データベースを最新の状態にまでリカバリする

    • データベースを指定された時点までリカバリする

  3. 最新の Backup Catalog の場所を指定します。

    使用可能なフルバックアップの概要が表示されます。

  4. リカバリに使用する完全データバックアップを選択します。

  5. デルタバックアップを使用するかどうかを指定します。

  6. Backup Catalog に記録されているバックアップとは異なるバックアップを使用している場合は、バックアップの場所を指定します。

  7. バックアップが使用可能かどうかを確認します。

    リカバリ開始前の SAP HANA チェックで、すべてのバックアップが使用可能かどうか、およびそれらにアクセスできるかどうかを決定します。

  8. ログ領域を初期化するかどうかを指定します。

    ログ領域を初期化すると、ログ領域の内容が失われます。リカバリ中にログ領域のログエントリを再生することはできません。ログバックアップのログエントリは、必要に応じてリプレイされます。

    ログ領域が使用できない場合、または別のシステムにデータベースをリカバリしようとしている場合は、ログ領域を初期化します。

  9. レビューを選択します。

    リカバリ設定の概要が表示されます。

    設定を変更するには、編集を選択します。指定したすべての設定は、変更するまで保持されます。

  10. リカバリに使用される SQL 文を照会するには、SQL 文照会を選択します。

  11. リカバリ開始を選択します。

    各 SAP HANA サービスのリカバリの進捗が表示されます。

リカバリが完了すると、メッセージによってこのことが確認され、リカバリが完了したタイムスタンプが表示されます。

データベースは、リカバリ後に自動的に再起動されます。リカバリ機能は以下のとおりです。

リカバリ開始時にファイルシステムのバックアップを自動的にチェックします

SAP HANA では、リカバリ開始時にバックアップの欠落がチェックされるだけでなく、ファイルシステムのバックアップの破損も自動的にチェックされます。

破損の例として、サイズまたはバックアップ ID が Backup Catalog に記録されている情報と一致しない場合が挙げられます。SAP HANA で破損が検出された場合、リカバリは開始されません。詳細はリカバリウィザードに表示され、バックアップログファイルに書き込まれます。

注記

拡張チェックは、ファイルシステムのバックアップにのみ実行されます。サードパーティバックアップツールが使用されている場合は、サードパーティバックアップサーバにバックアップが存在するかどうかのみが検証されます。

リカバリの進捗レポートに、リカバリプロセスの詳細が表示されます

リカバリのためのシステム情報の初期収集後、リカバリウィザードには以下のフェーズ (サービスごとの進捗) が表示されます。

  • フェーズ 1: データリカバリ

    データバックアップまたはスナップショットの使用

  • フェーズ 2: ログリカバリ

    ログ領域でまだ利用可能なログバックアップまたはログを使用します。

  • フェーズ 3: 再実行