ロールバックと削除の復旧

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • ロールバックコンテキストを使用すると、パッチのアップグレード、プラグインのアクティブ化、バックグラウンドスクリプトの実行などの特定のアクションをロールバックでき、レコードの削除と関連するすべての変更を復元できます。

    ロールバックおよび削除復旧の機能は、MySQL および MariaDB データベースを使用するインスタンスで使用できます。Oracle データベースを使用するインスタンスは、ロールバックのみをサポートしています。SQL Server を使用するインスタンスは、ロールバックも削除復旧もサポートしていません。
    表 : 1. ロールバックと削除復旧に対するデータベースサポート
    データベースタイプ ロールバック 削除の復旧
    MySQL はい はい
    MariaDB はい はい
    Oracle はい いいえ

    削除されたレコードモジュール

    このモジュールは、監査対象テーブルのレコードに対して機能します。カスケードされた削除済みレコードの復旧は、レコードの削除から 7 日以内に行う必要があります。7 日が経過すると、削除を監査するテーブルのデータレコードと参照のみを復元できます。これは以前のリリースと同じ機能です。

    このモジュールを見つけるには、次の場所に移動します。 システム定義 > 削除されたレコード.

    削除の復旧モジュール

    このモジュールは、削除されたすべてのレコードに対して機能します。この復旧は、レコードの削除から 7 日以内に行う必要があります。

    このモジュールを見つけるには、次の場所に移動します。 ロールバックおよび復旧 > 削除を復旧.

    スクリプト実行履歴モジュール

    このモジュールは、スクリプト - バックグラウンドモジュールを使用して実行されるスクリプトで動作します。この履歴には、7 日間のスクリプト実行のみが含まれます。

    このモジュールを見つけるには、次の場所に移動します。 ロールバックおよび復旧 > スクリプト実行履歴.

    ロールバックコンテキスト

    ロールバックコンテキストには、ソフトウェアのアップグレードまたはプラグインのアクティブ化をロールバックするために必要なものがすべて含まれています。これには、削除されたレコード、パッチの更新、スクリプト - バックグラウンドスクリプトの実行、データベースアクション、およびプラグインのアクティブ化が含まれます。ロールバックコンテキストは、ファミリ内のパッチアップグレードごとに作成されます。また、プラグインがロールバックコンテキストをサポートしている場合には、プラグインのアクティブ化ごとにも作成されます。

    ロールバックコンテキストを使用するには、削除済みレコードの復元プラグインと削除の復旧プラグインをアクティブ化します。

    ロールバックは通常、アップグレードで問題の根本原因を見つける前に機能を復元する必要がある本番前のインスタンスで実行されます。ロールバックするとデータが削除されるため、ロールバックが必要になった問題を見つけにくくなることがよくあります。

    ロールバックコンテキストは、次の場合に作成されます。
    • GlideRecord.delete() または GlideRecord.deleteMultiple() でレコードを削除した場合。
    • パッチのアップグレードが行われた場合。
    • ロールバックコンテキストをサポートするプラグインをアクティブ化した場合。
    • スクリプト - バックグラウンドモジュールを使用してスクリプトが実行され、[ロールバック用に記録] チェックボックスをオンにすることでロールバックが有効になっていた場合。

    ロールバックは他のデータベースアクティビティに影響を与えません。データベースアクティビティがロールバックコンテキストの一部であるレコードを変更する場合、ロールバックはそのレコードに影響を与えません。

    ロールバックコンテキストには大量のデータが含まれているため、ロールバックコンテキストは 10 日後に削除されます。したがって、ロールバックは最新のアップグレードから 10 日以内に実行する必要があります。システムプロパティ glide.rollback.expiration_days_upgrade を使用して日数を設定します。ロールバックタイプのリストを表示するには、「パッチのアップグレードまたはプラグインのアクティブ化のロールバック」を参照してください。

    注:
    カスタマーサービス & サポートで確認するまで、ロールバックコンテキストをロールバックしないでください。ロールバックによってデータが削除され、アップグレードまたはアクティブ化の問題の証拠が削除され、問題のデバッグができない場合があります。
    ロールバックは、パッチのアップグレードまたはプラグインのアクティブ化から 10 日以内に行う必要があります。

    このモジュールを見つけるには、次の場所に移動します。 ロールバックおよび復旧 > ロールバックコンテキスト.

    ロールバック中に次の操作のいずれかが発生した場合、ロールバックコンテキストは作成されません。

    • テーブルまたは列がスキーマから削除される。
      注:
      インデックスの削除は問題ありません。
    • テーブルの切り捨て。
    • テーブルまたは列の名前の変更。
    • 列の親の変更または昇格。
    • 列タイプの変更。
    • 列幅の縮小。
    Now Support のロールバックプロセスは次のことを行います。
    • 報告された WAR をロールバック後のバージョンに更新します。割り当てられた WAR はロールバック前のバージョンに設定されたままです。
    • インスタンスのプロパティ glide.war.no_upgrade をロールバック前のバージョンに設定します。
    • メッセージ「必要な WAR はプロパティ [glide.war.no_upgrade] で指定された復旧済み WAR と一致します。(Desired war matches reverted war specified by property.) アップグレードスクリプトは実行されません。(Upgrade script will NOT run)」を表示します。
    • ステータスを [期限切れ (Expired)] に変更します。保存されたデータはロールバックによりすべて消去されます。