このトピックでは、Cloud Backup を使用した SAP HANA のバックアップに関するよくある質問とその回答について説明します。
概要
Cloud Backup を使用して、Alibaba Cloud 上の SAP システムのバックアップサービスを管理できます。
Cloud Backup は SAP HANA Backint 認定済みで、SAP HANA 1.0 および 2.0 と互換性があります。バックアップクライアントを使用して、ECS インスタンスにデプロイされている SAP HANA インスタンスをバックアップし、必要に応じてデータベースを復元できます。詳細については、「SAP HANA 機能の概要」をご参照ください。
Cloud Backup は、ECS ファイル、Oracle および MS SQL Server データベース、NAS サービス、OSS データなど、Alibaba Cloud 上のさまざまなデータタイプに、シンプルでネイティブなデータ保護を提供します。詳細については、「Cloud Backup とは」をご参照ください。
対象範囲
Alibaba Cloud ECS にデプロイされている SAP HANA インスタンス。
Backint は、SAP HANA 1.0 SPS 09 (Revision 94) 以降、および SAP HANA 2.0 SPS 01 以降のマルチテナントデータベースコンテナー (MDC) をサポートしています。シングルコンテナーモードの SAP HANA 1.0 はサポートされていません。
クライアントのステータスとログの確認
Cloud Backup コンソールでインスタンスを登録すると、そのステータスは初期化済みに変わります。
デフォルトのログパス: /opt/alibabacloud/hbr/logs
ps axu|grep hybrid を実行して、バックアップクライアントのステータスを確認できます。プロセス情報が返された場合、クライアントは正常に実行されています。
root 11472 0.0 0.0 9288 1552 pts/2 S+ 16:11 0:00 grep --color=auto hybrid
root 30480 0.0 0.2 56296 17028 ? Ssl 13:26 0:04 /opt/alibabacloud/hbr/client/hybridbackup -p 0初期化失敗のトラブルシューティング
現象
Cloud Backup コンソールで SAP HANA インスタンスを登録した後、インスタンスのステータスに「初期化に失敗しました」と表示されます。
トラブルシューティング
/opt/alibabacloud/hbr/logs/hybridbackup.logと/usr/sap/{SID}/SYS/global/hdb/logs/にある Backint ログを確認して、エラーを特定してください。
バックアップログのパス
HANA データベースバックアップクライアントのログ: /opt/alibabacloud/hbr/logs
HANA データベース Backint のログ: /usr/sap/{SID}/SYS/global/hdb/logs/
HANA データベースバックアップのログ: /usr/sap/{SID}/HDB{InstanceNumber}/{hostname}/trace/DB_{DBNAME}/backup.log
SAP HANA はログレコードを自動的に管理および保存します。SAP HANA Studio または他の関連ツールを使用して、次の SQL 文を実行し、これらのログバックアップの内容を取得できます。
select CAT.* from SYS_DATABASES.M_BACKUP_CATALOG CAT JOIN SYS_DATABASES.M_BACKUP_CATALOG_FILES FILS on CAT.BACKUP_ID = FILS.BACKUP_ID where CAT.entry_type_name = 'log backup' and CAT.state_name = 'successful' and FILS.DESTINATION_TYPE_NAME = 'backint' and CAT.database_name = 'SYSTEMDB' order by sys_end_time"Multiple opt paths found" エラーの修正
ターゲットの ECS インスタンスにログインします。
バックアップしたくない SAP HANA インスタンスの
/usr/sap/<SID>/SYS/global/hdb/optディレクトリを/usr/sap/<SID>/SYS/global/hdb/opt_backupに名前変更します。Cloud Backup コンソールに戻り、SAP HANA インスタンスのバックアップクライアントを再インストールします。
復元中の接続失敗の解決
復元ジョブを作成してソースインスタンスに復元する際にデータベースに接続できない場合は、次の手順を実行してください。

HANA データベースが起動しているかどうかを確認してください。
SSL 証明書の有効期限が切れていないか確認してください。期限切れの場合は、次のいずれかのオプションを選択してください。
証明書を置き換えてください。

コンソールで、SSL 証明書の検証をスキップするようにシステムを構成してください。
復元中のデータ取得失敗の解決
復元ジョブを作成してソースインスタンスに復元する際にバックアップデータが利用できない場合は、バックアップクライアントが正しく実行されているかを確認してください。

バックアップレコードが見つからない場合のトラブルシューティング
現象
オペレーティングシステムを再インストールしたり、ECS インスタンスのスナップショットをロールバックしたり、SAP HANA データベースを再インストールした後に復元ジョブを作成すると、バックアップレコードが見つからないことがあります。

根本原因
データをソースインスタンスに復元する際、Cloud Backup サービスは、事前に構成された SAP HANA のバックアップパスでバックアップレコードを検索します。オペレーティングシステムを再インストールしたり、ECS インスタンスのスナップショットをロールバックしたり、SAP HANA データベースを再インストールしたりすると、これらの操作によって保存されていた HANA のバックアップレコードがクリアされる可能性があります。
解決策
バックアップ前にBackint による Catalog バックアップを有効にした場合、データを復元できます。手順:
ソースの SAP HANA インスタンスに移動し、ECS インスタンスノードを削除してください。

以前のインスタンスと同じパラメーターで新しい HANA インスタンスを登録してください。バックアップクライアントをインストールし、削除した ECS インスタンスノードを追加してください。

復元ジョブを作成してください。新しく登録した HANA インスタンスを選択し、ソースインスタンスからのクロスインスタンス復元を開始してください。

リストアが完了し、ソースインスタンスのバックアップデータが不要になったことを確認した後、ソースインスタンスを削除できます。 バックアップ中に Backint による Catalog バックアップ を有効にしなかった場合、バックアップレコードは見つかりませんが、バックアップデータは引き続き存在します。 このデータをリストアするには、「プレフィックスを使用して SAP HANA データベースをリストアする」をご参照ください。
SQL 実行失敗の解決
HANA のログ領域が満杯になり、SQL の実行が失敗することがあります。ディスク領域を解放してから、再試行してください。
バックアップレコードの手動削除
Cloud Backup から SAP HANA のバックアップデータを手動で削除することはできません。レコードを早期に削除するには、SAP HANA Studio を使用し、次の図に示すオプションを選択してください。

アクティブ化されたインスタンスにおけるデータベースページの内部エラー
Cloud Backup コンソールの SAP HANA バックアップページにエラーが表示された場合は、HANA のライセンスを確認してください。SYSTEMDB に接続し、次の SQL 文を実行して、すべてのデータベースに有効なライセンスがあることを確認してください。結果が空の場合は、データベースにライセンスがないことを示します。
SELECT * FROM M_LICENSE詳細については、「https://launchpad.support.sap.com/#/notes/2619291」をご参照ください。
一般的なバックアップの失敗と解決策
SAP HANA のバックアップ中、バックアップクライアントは HANA インスタンスに接続し、SQL 文を送信してバックアップジョブを開始します。SQL 文が実行された後、クライアントは HANA にバックアップの進行状況と最終ステータスを問い合わせます。バックアップが失敗すると、エラーの詳細がクライアントログに記録されます。ジョブのタイムスタンプとログエントリを使用して、問題をトラブルシューティングします。以下は一般的なエラーです。
/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれている場合、ローカル時刻がサーバー時刻と大幅に異なっています。ローカル時刻を調整するか、可能であれば Network Time Protocol (NTP) 同期を有効にしてください。
time="2021-11-04T16:24:17+08:00" level=info msg="InvalidTimeStamp.Expired retry, retryDelay: 5000 ms, retry times: 14" file=client.go line=377バックアップジョブが失敗するか自動的にキャンセルされ、backup.log ファイルに "No space left on device" エラーが表示される場合、ローカルディスクが満杯です。空き容量を確保して、バックアップを再試行してください。
/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれており、コンソールにエラーが表示されない場合、別のスケジュールされたバックアップジョブが SAP HANA のバックアップジョブと競合している可能性があります。
time="2021-08-29T01:10:00+08:00" level=error msg="Execute hana backup failed : hbr: client returned error: ErrorCode=HanaSqlError, ErrorMessage=SQL Error 447 - backup could not be completed: [110122] A data backup cannot be created because another data backup is running or a storage snapshot has been prepared., Data=, values=map[]" file=hanabackupjob.go line=98予期しないバックアップの失敗や未実行ジョブのアラートが発生し、バックアップ履歴に完了したバックアップレコードが表示されない場合、MQTT リクエストのタイムアウトが原因である可能性があります。該当する時刻の /opt/alibabacloud/hbr/logs/hybridbackup.log にあるログを確認してください。
/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれている場合、パスワードの有効期限が切れている可能性があり、更新が必要です。
time="2023-11-26T00:00:08+08:00" level=error msg="SAP Error: SQL Error 447 - backup could not be completed: [110203] Not all data could be written: Expected 4096 but transferred 0, [110507] Backint exited with exit code 1 instead of 0. console output: Internal Error: The user account is in unknown status. " file=errorwrapper.go line=28/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれている場合、不正確なタイムスタンプが原因で、サーバーがリクエストを拒否した可能性があります。
time="2024-06-23T01:36:46+08:00" level=error msg="HBR DescribeUserBusinessStatus returns hbr: service returned error: StatusCode=400, Code=InvalidSecurityToken.Expired, Message=Specified SecurityToken is expired., RequestId=A6CDF56F-CA56-53E8-9342-24E19F768D40" file=client.go line=428次のいずれかの方法を使用して、タイムスタンプを確認してください。
次のコマンドを実行し、出力の System Time を確認してください。この値は、現在のシステム時刻と NTP 時刻の差を示します。ずれが数ミリ秒以内であれば、タイムスタンプは正常です。
sudo chronyc tracking次のコマンドを実行し、出力の offset を確認してください。この値は、現在のシステム時刻と NTP 時刻の差を示します。ずれが数ミリ秒以内であれば、タイムスタンプは正常です。
ntpd -q
コンソールに障害レコードがなく、/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれている場合:
SQL Error 447 - backup could not be completed: [110122] A data backup cannot be created because another data backup is running or a storage snapshot has been prepared.次の項目を確認してください。
他のバックアップソフトウェアが同時に HANA のバックアップを実行していないか確認してください。
HANA インスタンスを再起動する前に、データがバックアップされていることを確認してください。詳細については、「SAP HANA Knowledge Base」をご参照ください。
/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれている場合:
[447] backup could not be completed, [1000002] Allocation failed ; $size$=16777216; $name$=DataPage; $type$=pool; $inuse_count$=6; $allocated_size$=17104896; $failure_type$=GLOBAL_ALLOCATION_LIMIT; $failure_flag$= (early exit)そして、コンソールに障害レコードが表示されます。
この問題は通常、SAP HANA がメモリ不足 (Out of Memory、OOM) になることによって発生します。詳細については、「SAP HANA backup failing due to out of memory」をご参照ください。
解決策については、「SAP HANA Solution」をご参照ください。
OOM の原因については、「SAP HANA Support」をご参照ください。
/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれている場合:
"SQL Error 3584 - distributed SQL error: [2617] executor: plan operation execution failed with an exception.exception:exception 30160: Failed to read password from key store. $name=$M_BACKUP_CONFIGURATION. $col=$IS_ROOT_KEY_BACKUP_PASSWORD_SET. $ci=$23\n,Exception in executor plan00468@$spdr-db:31001 while executing pop 1, Data=[], values=[]map[]"そして、コンソールでのバックアップジョブのステータスが「失敗」の場合。
このエラーは、バックアップ SQL 文の実行時に SAP HANA システムが SQL エラーコード 3584 を返したことを示します。このエラーは、システムがキーストアからパスワードを読み取る際に発生しました。これは通常、SAP HANA コンポーネントの問題を示しています。SAP HANA の管理者またはベンダーに支援を求めてください。
/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに
InstanceRAMRoleNotFoundエラーまたは次のエラーメッセージが含まれている場合:Failed to get client credential from instance RAM role. hbr: client returned error: ErrorCode=InstanceRAMRoleNotFound, ErrorMessage=InstanceRAMRoleNotFoundそして、コンソールの復元ジョブが [実行中] の状態のままで停止できない場合。
このエラーは、ECS インスタンス上の AliyunECSAccessingHBRRole ロールが取り消されていることを示します。ECS コンソールにログインし、このロールを再アタッチして、バックアップクライアントを再起動してください。詳細については、「AliyunECSAccessingHBRRole ロールが ECS インスタンスにアタッチされる理由と、それを取り消すことができるか」をご参照ください。
AliyunECSAccessingHBRRole ロール
SAP HANA のバックアップが期待どおりに実行されるようにするには、SAP HANA を実行している ECS インスタンスにバックアップクライアントをインストールする必要があります。クライアントは AliyunECSAccessingHBRRole ロールに依存してセキュリティトークンを取得し、サーバーと通信します。このロールが取り消されると、バックアップおよび復元操作は失敗します。バックアップが期待どおりに実行されるようにするには、次の手順を実行してください。
ECS コンソールにログインして、AliyunECSAccessingHBRRole ロールを再アタッチしてください。詳細については、「インスタンス RAM ロール」をご参照ください。
systemctl restart hybridbackupコマンドを実行してバックアップクライアントを再起動するか、クライアントをアンインストールして再インストールしてください。
バックアップジョブ表示時のエラー解決
現象
バックアップジョブを表示すると、次のエラーが表示されます。

/opt/alibabacloud/hbr/logs/hybridbackup.log ファイルに次のエラーメッセージが含まれています。
time="2023-12-01T14:38:23+08:00" level=error msg="prepare stmt SELECT count(*) FROM sys_databases.M_BACKUP_PROGRESS error : SQL Error 437 - only commands for license handling are allowed in current state" file=db.go line=220解決策
HANA 2.0 はライセンス登録が必要なため、マルチユーザーモードを使用する必要があります。
復元ジョブの失敗の解決
現象:以前の時点に復元を実行した後、さらに後の時点へのポイントインタイムリカバリを試みると、復元ジョブが失敗します。
解決策:連続して復元を実行する場合は、時刻ではなくバックアップポイントを指定することを推奨します。
オンプレミスの SAP HANA インスタンスのバックアップ
いいえ。ただし、まず SAP HANA をローカルストレージにバックアップし、その後、ファイルとしてデータを Cloud Backup にバックアップすることは可能です。詳細については、「オンプレミスファイルのバックアップ」をご参照ください。
SAP HANA バックアップ用のストレージ
いいえ。Cloud Backup は Backint を介して SAP HANA のバックアップ API を直接呼び出します。バックアップデータは Cloud Backup のバックエンドストレージにパイプ処理され、SAP HANA ECS インスタンスのストレージ領域を使用しません。他のクラウドストレージ製品を購入する必要はありません。
シングルコンテナーインスタンスのバックアップ
いいえ。Cloud Backup コンソールの SAP HANA バックアップ機能は Backint インターフェイスを使用します。次の 2 つのオプションがあります。
解決策 1: SAP HANA を ECS インスタンスのクラウドディスクにバックアップし、Cloud Backup のオンプレミスファイルバックアップ機能を使用します。詳細については、「オンプレミスファイルのバックアップ」をご参照ください。
解決策 2: SAP HANA をシングルコンテナーモードからマルチコンテナーモードに変換します。詳細については、SAP の公式ドキュメントを参照するか、SAP パートナーにお問い合わせください。
環境ごとに異なるバックアップボールトの使用
はい。Cloud Backup コンソールで SAP HANA インスタンスを登録する際に、バックアップボールトを作成するか、既存のものを選択できます。次の復元方法がサポートされています。
クロスリージョンおよびクロスアカウントのバックアップ
はい、クロスリージョンバックアップとクロスアカウントバックアップの両方がサポートされています。
クロスリージョンバックアップ:これは、クロスリージョンバックアップ機能を使用して実現できます。
クロスアカウントバックアップ:これは、クロスアカウントバックアップボールトレプリケーションまたはクロスアカウントバックアップ機能を使用して実現できます。
設定に関する考慮事項
SAP HANA が高可用性アーキテクチャでデプロイされている場合は、SAP HANA インスタンスを登録する際にホストアドレスとして HAVIP を使用してください。これにより、クラスターのフェールオーバー後もバックアップジョブが期待どおりに実行されることが保証されます。
デフォルトでは、Backint を使用して SAP HANA のログとカタログをバックアップするオプションは有効になっていません。データベースが適切に復元されるようにするには、システム DB と各テナント DB の両方でこのオプションを手動で有効にする必要があります。

テナント DB はシステム DB からパラメーター設定を継承します。各データベースの設定をチェックして、正しく構成されていることを確認してください。
バックアップ保持期間の設定
Cloud Backup コンソールにログインし、インスタンスを選択してください。

[データベース] タブで、システム DB または テナント DB を選択し、[その他] > 保持期間の設定 をクリックします。

デフォルトのバックアップ保持期間は永遠に維持です。ビジネス要件に基づいてこの設定を変更できます。

パラメーター
説明
保持ポリシー
カスタマイズ済み
このオプションを選択すると、毎日の保持ジョブの実行時間とバックアップ保持期間をカスタマイズできます。
永遠に維持
このオプションを選択すると、Cloud Backup はバックアップデータを永続的に保持します。
保持ジョブの実行時間
このパラメーターは、保持ポリシーをカスタマイズ済みに設定した場合にのみ必要です。 毎日保持ジョブを実行する時刻を選択します。 時刻は秒単位まで指定できます。
説明バックアップや他のサービスとの競合を避けるため、このジョブはオフピーク時に実行することを推奨します。
バックアップ保持期間
このパラメーターは、保持ポリシーをカスタマイズ済みに設定した場合にのみ必須です。 バックアップデータの保持期間を選択します。
単位:日、週、月、または年。最小保持期間は 1 日、最大保持期間は 10 年です。
説明SAP HANA のバックアップ保持期間が終了すると、バックアップサービスは、期限切れの Backint バックアップ、ファイルバックアップに関連するカタログレコード、およびデータを自動的に削除します。削除されたデータは復元できません。ビジネスニーズに応じて、バックアップ保持期間を慎重に設定してください。
保持期間の変更は、既存のバックアップに適用されます。データ保持ジョブは 1 日 1 回実行されますが、バックアップボールトの統計は 12〜24 時間の遅延で更新されます。その結果、ソースデータ量の変更が反映されるまでに最大 3 日かかる場合があります。2 年から 2 か月への変更など、大幅な調整を行う場合、保存されているデータ量を削減するプロセスにさらに時間がかかることがあります。
バックアップ成功時の障害アラート
現象
「お客様の SAP HANA インスタンス XXX (インスタンス ID: cl-xxxxxxxx) のデータベース XXX のバックアップに失敗しました。バックアップ ID:0。コンソールにログインして問題を確認し、修正してください。」という情報を含む SMS メッセージまたはメールアラートを受信することがあります。しかし、Cloud Backup コンソールにログインすると、バックアップレコードは完了と表示され、例外は報告されません。
原因
これは、他のバックアップソフトウェアが同時に実行されている場合や、SAP HANA に問題がある場合に発生する可能性があります。アラートの時刻頃に
/opt/alibabacloud/hbr/logs/hybridbackup.logパスのログファイルで、次のようなログエントリを確認できます。time="2024-08-29T01:35:01+08:00" level=error msg="Execute sql `BACKUP DATA FOR PRD USING BACKINT ('/usr/sap/XXX/SYS/global/hdb/backint/DB_HHH/COMPLETE_DATA_BACKUP_2024_08_29_01_30') ASYNCHRONOUS` failed : SQL Error 447 - backup could not be completed: [110122] A data backup cannot be created because another data backup is running or a storage snapshot has been prepared." file=db.go line=163 time="2024-08-29T01:35:01+08:00" level=error msg="SAP Error: SQL Error 447 - backup could not be completed: [110122] A data backup cannot be created because another data backup is running or a storage snapshot has been prepared." file=errorwrapper.go line=28このエラーは、Cloud Backup クライアントが SAP HANA に接続してバックアップ SQL 文を実行したものの、SAP HANA がエラーコード 447 を返したことを示します。このコマンドによってトリガーされたバックアップは、SAP HANA のバックグラウンドで正常に実行される場合があります。詳細については、「SAP HANA の公式ドキュメント」をご参照ください。
解決策
これが一度きりの事象であり、バックアップジョブページでバックアップが成功したことが確認できる場合は、アラートを無視してかまいません。問題が解決しない場合は、オフピーク時に HANA インスタンスを再起動してください。再起動する前に、サービスに影響がないことを確認してください。
アラート時刻の不一致
SMS アラートには夜間抑制機能があります。20:00 から 08:00 の間にトリガーされたアラートは、翌朝 08:00 以降に送信されます。メールアラートにはこの制限はなく、すぐに送信されます。
ソースデータ量の異常な増加
原因
Cloud Backup は、SAP HANA データベースに定期的にクエリを実行し、削除されていない他のバックアップソフトウェアからのものを含む、すべての履歴 Backint バックアップレコードを取得します。このソースデータ量の統計は課金に影響しません。課金対象となるのは、バックアップがバックアップボールト内で占有するストレージのみです。
解決策
HANA データベースで SQL 文を実行して、Cloud Backup によって作成されたものではない不要なバックアップレコードを削除できます。削除する前に、そのレコードが不要であることを確認してください。
復元時のデータベース名の重複
SAP HANA の復元ジョブを作成する際に、データベースを選択するときに同じ名前でサービスが異なる複数のデータベースが見つかった場合は、いずれか 1 つを選択して復元できます。
インスタンスの新しいボールトへの移行
この例では、2 つの HANA インスタンス e1 と e2 を、古いバックアップボールト (v1) から新しいバックアップボールト (v2) に移行する方法を説明します。

古いバックアップボールトから HANA ノードを削除します。
重要続行する前に、元のインスタンスのバックアップデータが不要であることを確認してください。インスタンスを削除すると、既存のすべてのバックアップデータも削除されます。
この手順では、古いバックアップボールトのノードリストから e1 と e2 を削除し、新しいバックアップボールト v2 に追加する準備をします。手順は次のとおりです。
インスタンス ID をクリックして、ノード情報ページに移動してください。

ノード情報ページで、対応するノードを削除してください。

削除後、HANA インスタンス e1 と e2 の ステータス は「初期化失敗」に変わります。

HANA ノードを新しいバックアップボールトに移行します。
次の手順では、HANA インスタンス e1 を例として使用します。e2 についても、該当する情報を置き換えて同じ手順を繰り返してください。
HANA インスタンスの登録 をクリックします。

HANA インスタンスの登録 パネルで、SAP HANA インスタンスの接続情報を設定し、クライアントをインストールします。
インスタンス接続の編集 ページで、新しいバックアップボールト v2 をバックアップボールトとして選択し、新しい HANA インスタンスの名前を変更します。元の e1 インスタンスと同じホスト、インスタンス番号、ユーザー名、パスワードを使用します。残りの設定を完了し、次へ をクリックします。

バックアップエージェントのインストール ページで、HANA インスタンス e1 を選択し、作成 をクリックします。
HANA インスタンス e1 と e2 の両方の構成が完了すると、新しいバックアップボールト v2 には次の図に示す情報が表示されます。2 つの新しい HANA インスタンスの情報が正しいことを確認してください。各インスタンスの ID をクリックして詳細ページを表示し、ノード情報が正しいことと、データベース接続が成功することを確認してください。

構成を確認した後、すぐに完全バックアップを実行してください。これにより、新しいボールトに少なくとも 1 つの完全なリカバリポイントが確保されます。
説明あるバックアップボールトのバックアップデータを、別のボールトに関連付けられたインスタンスに復元することはできません。したがって、移行後は、古いボールトから新しい HANA インスタンスにデータを復元することはできません。
クライアントの CPU 使用率の制限
バックアップクライアントの CPU 使用率を制限するには、/opt/alibabacloud/hbr/client/ ディレクトリに hbr.config ファイルを作成し、cpu_max_procs=1 という行を追加してください。この設定により、各バックアップサブプロセスの CPU コアが 1 つに制限されます。