アーカイブ | 概要Summary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } アーカイブアプリケーションは、毎日不要になったデータをプライマリテーブルから一連のアーカイブテーブルに移動します。アーカイブテーブルはフラット化されたテーブルです。ベーステーブルと子テーブルは単一のテーブルにフラット化され、参照フィールドは文字列に変換されます。 プラグイン: データアーカイブプラグインは、標準インスタンスではデフォルトで有効です。 プラグインの詳細: 名前:Data Archiving ID:com.glide.auxdb ドキュメントへのリンク: データアーカイブ アーカイブルール: 「アーカイブルール」を作成して、アーカイブするデータを構成できます。アプリケーションには [Archive Rules] モジュールがあり、ルールの名前とテーブル名は必須フィールドです。ルールに条件を追加することをお勧めします。ルールが作成されると、Inactive 状態で作成されます。Active を true に設定してください。 ナビゲーション: [システムアーカイブ] > [アーカイブルール] アクティブか非アクティブかにかかわらず、テーブルごとに設定できるアーカイブルールは 1 つだけです。 どの SYS テーブルに対してもアーカイブルールを定義することはできません。例外はプロパティ glide.ui.permitted_tables にリストされています。 テーブルローテーションが有効になっているテーブルはアーカイブできません。 アーカイブルールの即時実行 スケジュール設定済みジョブがアーカイブルールを実行するまで待機しない場合は、アーカイブルールを手動で開始できます。 [システムアーカイブ] ➔ [アーカイブルール] に移動します。実行するアーカイブルールを選択します。[Run Archive Now] 関連リンクをクリックします。 アーカイバージョブ: アーカイブルールが設定され、有効なアーカイブルールがある場合、アーカイバージョブはこれらのルールを処理してレコードをアーカイブします。[アーカイブ] スケジュール設定済みジョブは、1 時間の繰り返し間隔ジョブとして設定されます。glide.db.archiver というバックグラウンドスレッドへ処理を引き渡すクラスを呼び出します。 アーカイブプロセスがシステムリソースを消費しすぎないようにするために、以下のアーカイブプロパティを使用して、アーカイブルールが 1 回の間隔で処理するレコードの数を制御できます。ただし、これらのプロパティを変更することはお勧めしません。 上記プロパティを変更すると、Archiver ジョブの実行時間が 1 時間を超え、複数のアーカイブジョブが同時に実行される可能性があります。 アーカイブプロセスは次の順序で行われます。 アーカイブルール基準を満たす N 件のレコードをロード (N はバッチサイズプロパティ)ar_* テーブルに挿入元のテーブルからレコードを削除sys_archive_log エントリの作成 レコードがアーカイブされると、アーカイブログ (sys_archive_log) テーブルにエントリが作成され、レコードの xml がペイロードとして保存されます。デバッグに役立つ列がいくつかあります。[Archival run]、[Archive]、[Restored]、[ID]、[From table] です。 アーカイブ実行:このレコードがアーカイブされた特定のアーカイブ実行の詳細が表示されます。 アーカイブ:このレコードをアーカイブしたアーカイブルール 復元済み:レコードが復元されていない場合、このフィールドは空白になります。レコードが復元された場合、このフィールドにはレコードが復元された日時が含まれます。 移動元テーブル:レコードが削除されたテーブル。 アーカイブログは消去されないため、このテーブルからレコードを削除することはお勧めしません。アーカイブログエントリを削除すると、アーカイブされたレコードのデータを復元できなくなります。 Archive Log にエントリが存在することで、そのレコードが過去に一度アーカイブされたこと(復元済みかどうかは問わない)をシステムが認識します。その場合、そのレコードはスキップされます。つまり、アーカイブエンジンは復元されたものを再アーカイブしません。 アーカイブルールでは、アーカイブする関連レコードを指定できるため、関連レコードもアーカイブできます。元のレコードを復元する場合は、関連レコードも復元する必要があります (関連レコードテーブルはアーカイブ後に独立しているため、これは自動的には行われません)。 sys_attachment_doc テーブルは標準アーカイブ機能をサポートしていません。 手動でレコードをアーカイブ: 各フォームビューに移動し、[レコードのアーカイブ] 関連リンクをクリックすると、各レコードを手動でアーカイブできます。 リストアクション [レコードをアーカイブ] を選択すると、リストビューから複数または単一のレコードを手動でアーカイブできます。 次のドキュメントへのリンク:クラシック環境のリスト レコード推定値: アーカイブルールごとに、ジョブの次回実行時にアーカイブされるレコードの数を決定できます。これを行うには、各アーカイブルールの UI アクション [Record Estimate] をクリックします。 UI アクションがクリックされると、フォームに 2 つのフィールド [レコード推定値] と [推定日] が入力されます。 レコード推定値には、次回の実行でアーカイブされる予定のレコード数が表示されます。 推定日は、推定実行が実行された現在の日時で更新されます。 アーカイブ破棄ルール: アーカイブ破棄ルールは、指定された期間が経過するとアーカイブされたデータを削除します。Archive Destroyer バッチプロセスは、アーカイブされたデータに対してアーカイブ破棄ルールを実行します。バッチプロセスの一部のパラメーターを設定できます。 ナビゲーション: System Archiving > Archive Destroy Rules 次のスクリプトを使用して、実行する破棄ルールごとにスケジュールジョブを作成します (注意:最初に準本番インスタンスでテストしてください)。new GlideArchiver().archiveDestroyByRule(xxxx);xxxx は破棄ルールの sys_id です。 ドキュメントへのリンク: 破棄ルールの作成 アーカイブ診断ページ: UI ページにアクセスするためのリンク:https://<your-instance>.service-now.com/ui_page.do?sys_id=71681edc9f3120007aaa207c7f4bcc2b このページには、有効なアーカイブルール数、アーカイブされたレコード総数、およびアーカイブジョブの最終実行情報が表示されます。 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Data ArchivingBlog: Data Archival Walkthrough 既知の問題: PRB608048 - アーカイブスレッドは、長時間実行されるアーカイブプロセスのために別々のノードで並列実行できるため、パフォーマンスが低下し、ログに不要なエラーメッセージが出力されます。 PRB1296280/KB0695364 : CI レコードがアーカイブされている場合、すべての cmdb_rel_ci レコードをアーカイブすることはできず、CMDB 識別エンジンが CI がアーカイブ済みである可能性を考慮せずエラーを発生させると、CompactRelation エラーが発生し、syslog テーブルが大幅に増加する PRB1164902/KB0780321 - アーカイブされたレコードがスコープ対象のアプリケーションからのものである場合、アーカイブ破棄ルールが機能しない PRB592993/KB0791832 - 復元されたレコードが多すぎるためにアーカイブスループットが妨げられている FAQ: 質問:テーブルローテーションが有効なテーブルに対してアーカイブを有効にすることはできますか?いいえ、ローテーションされたテーブルに対してアーカイブを有効にすることはできません。 質問:関連レコードをアーカイブできますか?はい。[アーカイブ関連レコード] 関連リストを使用して、関連レコードをアーカイブルールに追加します。 質問:すべてのユーザーがアーカイブされたレコードを表示できますか? デフォルトでは、アーカイブテーブルは同名の元テーブルの ACL を使用します。たとえば、アーカイブされたインシデント [ar_incident] テーブルは、アーカイブされていないインシデント [incident] テーブルに対して定義された ACL を使用します。詳細については、 データのアーカイブ を参照してください。 質問: 破棄ルールを使用してアーカイブログからレコードを削除できますか?破棄ルールは Archive Log ではなく、アーカイブテーブル(ar*)内のレコードのみ削除できます。 質問:テーブルクリーナーを使用してアーカイブログからレコードを削除できますか?まだ破棄されていないアーカイブログからレコードを削除すると、復元できなくなります。 質問:関連レコードでは、関連テーブルのアーカイブルール条件が使用されますか? いいえ。関連レコードは常にアーカイブされます。関連テーブルに独自のアーカイブ ルールがある場合、そのルールの条件は使用されません。関連レコードを条件付きでアーカイブする方法はありません。