ビジネスシナリオ
アプリケーションの新しいバージョンにアップグレードする場合など、データベースの内容に変更を加えた後ですぐにロールバックする必要がある場合は、ベストプラクティスとしてバックアップを登録しておくと便利です。フォールバックスナップショット機能を使用すると、完全バックアップを登録せずにロールバックを可能にするためのスナップショットを簡単に登録できます。

フォールバックスナップショットが登録されると、凍結されたページはリリースされません。既存のページに対する変更は、新しいページに記録されます。アプリケーションの更新が終了した後、以下の 2 つのシナリオが考えられます。
- フォールバックスナップショット削除: アプリケーション更新がエラーなしで行われ、凍結されたフォールバックスナップショット状況は不要になります。
- フォールバックスナップショットにリセット: アプリケーション更新で重大なエラーが発生し、本稼動システムを使用できません。凍結されたフォールバックスナップショットの状態に戻して、アップグレード中に発生したすべてのデータベースの変更を削除します。アプリケーションの '旧' バージョンに戻すと、本稼働システムが再度利用可能になります。
フォールバックスナップショットは数秒以内にテナントレベルで登録され、フォールバックスナップショットの状態に戻すにはデータベースの再起動と同じ時間がかかります。
フォールバックスナップショットに関する注意点
フォールバックスナップショットは、テナントデータベースに対してのみ作成できます。
設定変更は含まれません。
テナントデータベースごとに作成できるフォールバックスナップショットは 1 つのみです。新しいフォールバックスナップショットを作成する必要がある場合は、最初に既存のフォールバックスナップショットを削除します。
フォールバックスナップショットがすでに存在する場合は、サービスを追加または削除できません。
データベースバックアップは、フォールバックスナップショットによって置き換えられません。
データベースバックアップにフォールバックスナップショットは含まれません。
フォールバックスナップショットで発生する動作
フォールバックスナップショットがトリガされると、以下のアクションが実行されます。
- フォールバックスナップショットのセーブポイントがデータボリュームに書き込まれ、データボリューム内のデータベースの整合性が確保されます。
- フォールバックスナップショットのセーブポイントが保持されます。この凍結状態により、このセーブポイントに属するページが上書きされるのを防ぎます。
- インメモリテーブルに対する変更はすべて通常どおり実行され、トランザクションログに書き込まれます。
- 通常の 5 分間のセーブポイントは通常どおり実行されますが、フォールバックスナップショットのセーブポイントページは保持されます。

システムビューには、SYS_DATABASES.M_SNAPSHOTSフォールバックスナップショットに関する情報が表示されます。
注記
また、テナントデータベースがシステムレプリケーションシナリオのプライマリデータベースである場合も、フォールバックスナップショットを作成できます。
フォールバックスナップショットにリセット
特定のデータベースの状態に戻すには、フォールバックスナップショットにリセットします。フォールバックスナップショットに戻すには、SAP HANA コックピットで Manage Databases を使用し、Reset to Fallback Snapshot を選択するか、以下の SQL 文を実行します。
1ALTER SYSTEM START DATABASE <database name> FROM FALLBACK SNAPSHOT;フォールバックスナップショットの削除
テナントデータベースのフォールバックスナップショットが不要になった場合は、削除できます。
テナントデータベースごとに作成できるフォールバックスナップショットは 1 つのみです。新しいフォールバックスナップショットを作成する必要がある場合は、最初に既存のフォールバックスナップショットを削除します。
フォールバックスナップショットを削除するには、SAP HANA コックピットで Manage Databases を使用し、Delete Fallback Snapshot を選択するか、SQL 文を実行します。
1ALTER DATABASE <database name> DROP FALLBACK SNAPSHOT;