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

追加のバックアップトピックの説明

Objective

After completing this lesson, you will be able to 高度なバックアップトピックについて説明します。

バックアップログ

このレッスンでは、実行したバックアップの情報が、どのようにバックアップカタログに表示されるのかについて説明します。

ビジネスシナリオ

SAP HANA データベースのバックアップ方針を定義する必要があります。そのため、データベースの設定ファイルをバックアップする方針を定義する必要があります。データ領域およびログ領域バックアップの方針を定義した後に、バックアップの実行情報と履歴が必要です。

backup.log ファイルおよび backint.log ファイルに、重要なすべてのバックアップおよびリカバリ情報が人間が解読できる形式で記録されます。この情報を使用して、バックアップエラーまたはリカバリエラーを診断することができます。

この図は、監視を目的としたバックアップログ、システムデータベース、およびテナントデータベースの主要コンポーネントの概要を示しています。

backup.log ファイルには、データおよびログのバックアップ、進捗、およびリカバリに関する情報が記録されます。

backint.log ファイルには、BACKINT エージェントのアクティビティに関する情報が含まれます。BACKINT エージェントは、サードパティバックアップツールの一部です。

backup.log ファイルおよび backint.log ファイルでは自動切捨を実行できます。これにより、サイズが過剰に大きくなることを防げます。よって、トレースファイルのローテーションが可能です。

バックアップカタログ

バックアップカタログは、バックアップの実行情報と履歴情報を提供します。バックアップカタログを使用することで、以下を行えます。

  • リカバリが可能かどうかの決定

  • データベースのリカバリに使用するデータバックアップおよびログバックアップを選択します。

  • リカバリに不要になったバックアップファイルを特定します。

Backup Catalog の情報

Backup Catalog には、以下に関する情報が含まれています。

  • データベースに登録されたバックアップ

  • バックアップの開始時刻と完了時刻

  • バックアップがまだ実行中かどうか

  • バックアップのステータス (正常終了または失敗)

  • バックアップされたボリューム

  • ログバックアップ、およびバックアップにどの部分のログが含まれているか

  • バックアップ先とサイズ

  • 宛先タイプ

  • バックアップ ID

  • サードパーティバックアップツール使用時の外部バックアップ ID

  • 暗号化ルートキー (暗号化が有効な場合)

  • 追加ユーザコメント

SAP HANA コックピットの Backup Catalog

Backup Catalog には、過去のバックアップの一覧が表示されます。この一覧では、各カタログエントリのステータスとキー情報を一目で確認できます。特定のエントリの詳細をすべて表示するには、一覧からエントリを選択します。Backup Details 領域に、詳細が表示されます。この詳細には、バックアップの開始時間、完了時間、期間、サイズ、スループット時間、各サービスの停止などが含まれます。

デフォルトでは、完全データバックアップのみが表示されます。デルタバックアップを表示するには、差分データバックアップまたは増分データバックアップチェックボックスを選択します。

この図は、バックアップレコードおよび詳細フィルタを示しており、バックアップアイテムごとにクリック可能な詳細を含む正常なバックアップが強調されています。

Backup Catalog のバックアップ

バックアップカタログは、バックアップ操作が完了するたびに、バックアップされ、バージョンができます。そのため、リカバリ中にバックアップカタログにアクセスできます。ログが作成されないに設定されている場合でもlog_mode = overwrite、Backup Catalog はバックアップされます。

Backup Catalog がサードパーティツールを使用してバックアップされる場合、Backup Catalog のバージョン管理は Backup Tool によって処理されます。

SAP HANA では、異なるサービスの同時ログバックアップに対して、バックアップカタログのバックアップが 1 つ書き込まれます。つまり、Backup Catalog のバックアップには、Backup Catalog の以前のバックアップ以降に書き込まれたすべてのログバックアップが含まれます。このアクションは、デフォルトで有効化されています。無効化するには、global.ini→backup を選択し、データベース設定パラメータ enable_accumulated_catalog_backup を False に設定します。

Backup Catalog は、個別のバックアップとして書き込まれます。デフォルトでは、Backup Catalog はログバックアップと同じ宛先にバックアップされます。

注意

ログバックアップのデフォルトの宛先を変更した場合、Backup Catalog は同じ場所に自動的にバックアップされません。

図 "バックアップカタログのバックアップ" に、バックアップカタログの宛先を設定するパラメータを示します。

この図は、フローチャート形式の backint を使用したカタログバックアップの決定ロジックと命名規則を示しています。

注記

SAP HANA の制御範囲外の例外的な状況では、リカバリ時に Backup Catalog を使用できない場合があります。Backup Catalog が利用できない場合は、ファイルシステムからの既存のデータおよびログバックアップを使用して大部分を再構築することができます。

Backup Catalog を再構築するには、hdbbackupdiag ツールを使用します。

詳細については、SAP ノート 1812057 (hdbbackupdiag を使用したバックアップカタログの再構築) を参照してください。

Backup Catalog の監視ビュー

Backup Catalog には、監視ビューを使用してアクセスすることができます。監視ビューは SYS スキーマにあります。

監視ビュー M_BACKUP_CATALOG、M_BACKUP_CATALOG_FILES、および M_BACKUP_PROGRESS では、Backup Catalog からの情報のさまざまな概要が提供されます。

  • M_BACKUP_PROGRESS は、最新のデータバックアップに関する詳細情報を提供します。

  • M_BACKUP_CATALOG_FILES では、登録されたバックアップ、およびデータバックアップおよびログバックアップのバックアップ宛先に関する情報が提供されます。

  • M_BACKUP_PROGRESS は、現在実行中のバックアップと最後に終了したバックアップに関する情報のみを提供します。データベースの再起動時にクリアされます。

M_BACKUP_PROGRESS は、最新のデータバックアップに関する詳細情報を提供します。

バックアップライフサイクル管理

古いフルバックアップまたはバックアップ世代を削除できるかどうかを定期的に確認することをお奨めします。バックアップ記憶域を最適なレベルで維持するには、リカバリに不要になったバックアップを定期的に削除します。

バックアップストレージを解放するために、データバックアップおよびログバックアップを物理的に削除し、Backup Catalog 内の関連エントリを削除することができます。Backup Catalog のサイズを削減するには、Backup Catalog から個々のデータバックアップのレコードを削除します。ただし、データ保持の法的要件などに従うために、物理バックアップを保持します。

バックアップライフサイクル管理は、バックアップカタログのみから古いデータとログのバックアップを削除するか、またはバックアップカタログとバックアップ場所から物理的に削除するフレームワークを提供します。BACKINT インタフェースを介して、ファイルシステムまたは接続されているサードパーティバックアップサーバからバックアップを削除することができます。これによりバックアップの記憶領域を管理したり、規則削除要件を満たすことができます。

注記

データスナップショットが Backup Catalog から削除されても、物理的に削除されることはありません。不要になったデータスナップショットは、マニュアルで削除する必要があります。

SAP HANA では、データスナップショットは物理的に削除されません。データスナップショットを物理的に削除するには、データスナップショットが格納されているリポジトリでデータスナップショットをマニュアルで削除する必要があります。

フルバックアップの削除

フルバックアップ (およびデルタバックアップ) の概要を照会し、個別のフルデータバックアップを削除することもできます。

個別のフルバックアップの Backup Catalog レコードを削除することはできますが、関連する物理バックアップは保持することができます。オプションで、Backup Catalog のレコードおよび関連する物理バックアップを削除することができます。

この図は、バックアップ管理インタフェースでの確認オプションおよび削除ボタンを使用したバックアップの削除プロセスを示しています。

以下の SQL コマンドを使用して、古いバックアップを削除することもできます。

  • BACKUP CATALOG DELETE BACKUP_ID <backup_id> [COMPLETE]
  • BACKUP CATALOG DELETE ALL BEFORE BACKUP_ID <backup_id> [WITH FILE] | [WITH BACKINT] | [COMPLETE]

バックアップ生成の削除

バックアップ世代の概要を照会し、リカバリに不要になったバックアップ世代を削除することができます。

バックアップ生成は、正常に作成された 1 つのフルバックアップ (完全データバックアップまたはデータスナップショット) と、フルバックアップの後、次に成功したフルバックアップの開始時刻までに登録された以下のバックアップで構成されます。

  • デルタバックアップ (差分バックアップまたは増分バックアップ)
  • ログバックアップ
  • Backup Catalog のバックアップ

バックアップ世代の Backup Catalog レコードは削除できますが、関連する物理バックアップは保持します。オプションで、Backup Catalog および関連付けられた物理バックアップからレコードを削除することができます。

この図は、バックアップ管理インタフェースを使用して古いバックアップ生成を削除する方法を示しています。

バックアップ保存ポリシー

バックアップ設定を使用して、バックアップの保存ポリシーを有効化して、古いバックアップ世代を自動的に削除することができます。保持ポリシースケジューラを有効化し、定義した基準に従って SAP HANA でバックアップ世代が自動的に削除されるようにするかどうかを指定する必要があります。

保持ポリシー設定:

  • より新しいバックアップ世代を保持

    日数を指定します。バックアップの生成は、この日数だけ保持されます。

    デフォルトでは、バックアップ生成は 3 日間保持されます。

  • Minimum no. of Retained Backup Generations

    最小で 1 から 14 個のバックアップ生成を保持できます。

    デフォルトでは、2 つのバックアッ生成が保持されます。

この図は、バックアップ保持ポリシーの設定インタフェースと、保持、削除、およびスケジュール設定のオプションを示しています。

設定ファイルのバックアップ

カスタマ固有の設定 (*.ini ファイル) は、フルバックアップの一部として自動的にバックアップされません。これらの設定は、データベースリカバリの実行に必須ではありません。ユーザ固有の変更を含む設定ファイルは、手動でバックアップします。

リカバリの状況では、設定のバックアップを使用して、デフォルト設定に対するカスタマ固有の変更をより簡単に識別および復元することができます。リカバリ後にカスタマ固有の設定を使用する場合は、SAP HANA コックピットを使用してリカバリされたシステムを再設定する必要があります。

SAP HANA システムのプロパティは、設定ファイルのパラメータで定義されます。

この図は、設定ファイルタイプ、ロケーション、およびデータベースとホスト設定プロセスでのそれらのロールを示しています。

インストール後にユーザ固有の変更が行われた場合のみ、これらのディレクトリに設定ファイルが成されます。カスタマ固有の変更が行われていない場合、これらのディレクトリは空になります。

nameserver.ini ファイルには、各インストールのグローバル情報が保存されます。ランドスケープセクションには、システム固有のランドスケープ ID と、COORDINATOR、WORKER、および STANDBY ロールへのホストの割当が含まれます。ホストの追加や削除など、システムランドスケープが変更されると、nameserver.ini ファイルの landscape セクションも変更されます。

注意

sapprofile.ini ファイルには、各ホストに固有の情報が含まれています。このため、リカバリ状況では、新しいランドスケープとの互換性がないため、sapprofile.ini ファイルを別のホストにマニュアルでコピーしないでください。

SAP HANA の BACKINT

デフォルトでは、パラメータ basepath_databackup および basepath_logbackup を使用して、ディスクにバックアップするように SAP HANA が設定されています。NFS などのネットワークファイルシステムを使用して、ネットワークで使用可能になっているリモートストレージロケーションに、データおよびログバックアップを直接登録することができます。SAP では特定のネットワークファイルシステムプロトコルは推奨していませんが、使用時に問題が見られる一部のネットワークファイルシステムは除外しています。この除外リストは、SAP ノート 1820529 - バックアップおよびリカバリに不適切なネットワークファイルシステム (Unsuitable network file systems for backup and recovery) で参照できます。

サードパーティのバックアップツールを使用する場合、SAP HANA インタフェース用の BACKINT ソフトウェア開発キット (SDK) を設定する必要があります。SAP Certified Solutions Directory では、BACKINT SDK for SAP HANA をサポートする認定バックアップソリューションの一覧が提供されています。バックアップツールは、BACKINT SDK for SAP HANA インタフェースを介して SAP HANA データベースと直接通信します。

SAP HANA バージョンおよび CPU アーキテクチャ関連の一覧は、SAP ノート 2031547 - SAP 認定のサードパーティバックアップツールおよび関連するサポートプロセスの概要 (Overview of SAP-certified third-party backup tools and associated support process) に記載されています。SAP オンライン文書の "サードパーティバックアップツールの使用 (Working with Third-Party Backup Tools)" にも情報が記載されています。

注記

サードパーティベンダによる BACKINT SDK for SAP HANA の実装には、SAP 認定が必要です。

バックアップの宛先

BACKINT SDK for SAP HANA は、サードパーティバックアップエージェントによって実装できるアプリケーションプログラミングインタフェース (API) です。これには以下の機能があります。

  • バックアップ、リカバリ、クエリ、および削除の機能が提供されます。

  • サードパーティバックアップエージェントは SAP HANA サーバで実行され、サードパーティバックアップサーバと通信します。

  • バックアップはパイプを介して転送されます。

  • SAP HANA コックピットと完全に統合されています (BACKINT へのバックアップの設定および実行)。

  • これは、データバックアップおよびログバックアップに対して設定することができます。

サードパーティのバックアップツールがインストールされると、デフォルトの設定が定義されます。バックアップツールのインストール後は、その他の変更なしに SAP HANA データベースのバックアップと回復が可能です。

サードパーティバックアップツールを使用したマルチストリーミングデータバックアップ

データバックアップの登録時に、サードパーティバックアップツールで複数のチャネルを使用して、各サービスのバックアップデータを並行して書き込むことができます。

デフォルトでは、SAP HANA ではデータバックアップに 1 つのチャネルが使用されます。必要に応じて、追加チャネルを使用するように SAP HANA を設定することができます。複数のチャネルが使用される場合、SAP HANA は利用可能なチャネル間でデータを均等に配分します。マルチストリームバックアップのすべての部分は、ほぼ同じサイズです。

この図は、順次インデックスサーババックアップを使用してサードパーティバックアップサーバと同期された SAP HANA バックアップを示しています。

マルチストリーミングのチャネル数の変更

並列ストリームが設定されている場合は、使用可能なすべてのストリームに個別のサービスバックアップが分散されます。異なるサービスでは常に専用のバックアップストリームが使用されることに注意してください。バックアップは、128 GB を超える場合にのみ分散されます。フルバックアップとデルタバックアップの両方がサポートされています。

最大 32 個の並列ストリームを設定できます。global.ini ファイルのセクション backup でパラメータ parallel_data_backup_backint_channels を使用します。

リカバリ時に使用されるストリームの数は、バックアップ時と同じです。これは、パラメータの現在の設定に依存しません。

注記

マルチストリームデータバックアップを登録するには、パフォーマンスの高い複数のチャネルを使用するようにサードパーティバックアップツールを設定します。

バックアップツールの設定の詳細については、ベンダの文書を参照してください。

バックアップのチェック

データベースリカバリが正常に行われるのは、必要なバックアップが利用可能であり、作成後に変更されていない場合のみです。このため、バックアップは定期的にマニュアルでチェックするか、またはバックアップの登録後に何らかの方法で変更されていると思われるかどうかを確認してください。

SAP HANA データバックアップまたはログバックアップが登録されると、バックアップの書込中にバックアップ対象データの整合性が自動的にチェックされます。完全性チェックが成功した場合にのみ、データがバックアップ宛先に書き込まれます。

リカバリが開始されると、使用されるバックアップの整合性が自動的にチェックされます。エラーが検出されると、リカバリは停止し、繰り返す必要があります。

SAP HANA で実行される自動バックアップチェックに加えて、リカバリを実行せずに、データバックアップおよびログバックアップをマニュアルでチェックすることができます。リカバリに必要なすべてのバックアップが利用可能であり、アクセス可能かどうか、およびバックアップが初回書込以降に変更または移動されているかどうかをチェックすることができます。

マニュアルバックアップチェックを実行するためのツール

以下のツールを使用して、マニュアルバックアップチェックを実行します。

  • hdbrecovercheck.py - データベースを特定の時点にリカバリできることを確認します。
  • hdbbackupcheck - 個々のデータバックアップおよびログバックアップが、登録後に変更されたかどうかをチェックします。

  • hdbbackupdiag - リカバリを完了するために必要なデータバックアップおよびログバックアップを決定します。また、これらのバックアップが使用可能かどうか、およびそれらにアクセスできるかどうかもチェックされます。

注記

バックアップのメタデータの整合性をチェックするには、定期的にを使用しますhdbbackupcheck。

hdbrecovercheck.py および hdbbackupdiag は、リカバリの開始前に使用できます。

良好なリカバリパフォーマンスを維持し、チェックを迅速に完了できるようにするために、hdbbackupdiagではバックアップのメタデータのみがチェックされます。ブロックレベルでのバックアップコンテンツの整合性はチェックされません。

状況によっては、バックアップに整合性があり、そのメタデータが正しいように見えますが、内部エラーが発生する可能性があります。このような場合は、を使用してhdbbackupcheck個々のデータまたはログバックアップの破損をチェックします。

特定の時点へのリカバリが可能であることの確認

リカバリを開始する前に、Python スクリプト hdbrecovercheck.py を使用して、データベースを特定の時点までリカバリできることを確認することができます。

この図は、リカバリポイントチェックのバックアップ検証、成功、およびタイムスタンプ詳細のログ分析を示しています。

バックアップの欠落またはバックアップの不整合によるリカバリの失敗を回避するには、リカバリを開始する前に hdbrecovercheck.py を使用します。

個別バックアップのチェック

ツールを使用して、hdbbackupcheck個々のデータバックアップとログバックアップの整合性をマニュアルでチェックします。

この図には、データベースバックアッププロセスのログ出力が、詳細および検証ステータスとともにテキスト形式で表示されます。

SAP HANA インスタンスのデータバックアップは、それぞれ同じ接頭辞を持つ複数の部分で構成されます。バックアップの一部は、システムストレージのバックアップファイル、または外部バックアップツールに転送されたバックアップオブジェクトです。データバックアップをチェックするには、データバックアップの各部分に対して開始しますhdbbackupcheck。

バックアップのチェック済部分でエラーが検出された場合は、ツールからhdbbackupcheck通知されます。通知は以下のとおりです。

  • 0: エラーが検出されなかった場合

  • 1: エラーが検出された場合

リカバリに必要なバックアップのチェック

このhdbbackupdiagツールは、指定された時点でリカバリを完了するために必要なバックアップを決定します。また、これらのバックアップが使用可能かどうか、およびそれらにアクセスできるかどうかもチェックされます。

この図は、バックアップからのデータベースのリカバリ、コマンド、メタデータ、およびサンプルバックアップログに関するチュートリアルを示しています。

hdbbackupdiag を使用して以下を確認できます。

  • ファイルベースのバックアップの場合:

    • バックアップは、ファイルシステム内の書込先または検索パスで指定された場所にあります。

    • 現在の OS ユーザには、ファイルの読込権限があります。

    • バックアップファイルの実際のサイズは、バックアップファイルヘッダに記録されているサイズと同じです。

    • バックアップ ID は、Backup Catalog で指定されたバックアップ ID と同一です。

  • サードパーティツールを使用して登録されたバックアップの場合:

    バックアップは、サードパーティツールで使用できます。

注記

hdbbackupdiag でバックアップカタログを見つけることができることを確認してください。これを行うには、Backup Catalog があるディレクトリで hdbbackupdiag を実行するか (ファイルベースのみ)、最新の Backup Catalog を検索するディレクトリを指定するオプションを指定して hdbbackupdiag を実行します。

スクリプトを使用したバックアップの実行

SAP HANA コックピットを使用したバックアップおよびリカバリ操作の実行に加えて、SQL 文を使用することもできます。これらの文の構文は、SAP HANA Administration Guide に記載されています。

これらの SQL 文を使用して、SAP HANA バックアップ機能でデータベースバックアップをトリガするスクリプトを定義することができます。このようなバックアップスクリプトの例については、SAP ノート 1651055 を参照してください。

この図は、SAP バックアップスクリプトパラメータ、設定オプション、およびデータベースバックアップの自動ファイル名登録を示しています。

データベース固有パラメータの例

データベース固有パラメータの例

NameDefault説明
SID *- - -SAP HANA データベースシステムのシステム ID
INSTANCE *- - -SAP HANA データベースシステムのインスタンス番号
HOSTNAME *- - -ホスト名 (データベースサーバのローカルホスト名です。"localhost" は使用しないでください。完全修飾 (<ホスト名>.<ドメイン>) 名は使用しないでください。
SIDPATH **/usr/sap/${SID}SAP HANA データベースシステムのバイナリがインストールされるディレクトリ
INSTPATH **${SIDPATH}/HDB${INSTANCE}SAP HANA データベースのインスタンスデータを含むディレクトリ

注記

(*) は、特定のインストールに対してパラメータを調整する必要があることを意味します。(**) は、このパラメータは、SAP HANA データベースのデフォルト設定を参照し、どのデータベースのインストールでも変更されることは稀であることを意味します。

以下のようにパラメータを指定します。

  • <name>=<value>

  • " "= 演算子の両側にスペースがありません

  • パラメータ名は、変更しないでください。

  • 大文字と小文字を区別。

  • 他のパラメータを参照するパラメータに使用します。${<name>}

コマンド行オプション

コマンド行オプション

バックアップスクリプトには、以下のコマンド行オプションがあります。

Name説明
-h使用情報を表示して終了します (他のコマンドラインパラメータが指定されているかどうかは関係ありません)。
-tテストモード: バックアップファイルを登録または削除しないでください。つまり、データバックアップを登録したり、設定ファイルバックアップを登録したりしないでください。ログメッセージを、ファイル ${SCRIPT_LOG} に書き込みます。
-q待機時間と情報出力を抑制します (バッチモードで推奨)。
-dデータバックアップのみを作成します。設定ファイルはバックアップしません。
-c設定ファイルのみをバックアップします。データベースのバックアップは行いません。
-pスクリプトのパラメータ化とコマンドラインスイッチをスクリプトログファイルに追加します。
--suffix=<value>名称の一部に WEEKDAY ではなく <value> を含むバックアップファイルを作成します。注記: " "= 記号の両側に空白を入れないでください。