ROLLUP_REBUILD
ROLLUP_REBUILDは、対応するTAG集計の過去のバケットを再計算するStandard Editionのプロシージャーです。 Cluster Editionではサポートしません。
構文と引数
EXEC ROLLUP_REBUILD(source_tag, tag_name, begin_time, end_time);| 引数 | 現在の入力形式 |
|---|---|
| source_tag | ソースTAGの識別子。必要に応じて所有者で修飾 |
| tag_name | 再構築する1つのタグ名文字列 |
| begin_time | 時刻文字列、または定数文字列引数を持つTO_DATE |
| end_time | 同じ形式の終了時刻。begin_time以上 |
現在の時刻引数処理は、一般的なDATETIME式の評価ではありません。NOW、NOW-1h、列・バインドパラメーターなどは 例として使用しないでください。相対範囲が必要な場合は運用ツールで時刻を確定し、対応する定数形式で渡します。 日付文字列、書式、タイムゾーンを明確にしてください。
時間範囲
開始・終了が属するバケットを含め、バケット全体を再計算します。1分単位の場合、00:00:30~00:01:00は [00:00:00, 00:02:00)の範囲です。開始=終了でもその時刻のバケットを処理し、開始>終了はエラーです。 HOUR段階では、時間バケット全体へさらに範囲が広がる場合があります。
ソースのWHEREの半開区間の終端をそのまま渡すと、次のバケットも含まれる場合があります。 補正した実際の時刻と各集計のバケット境界を基準に影響範囲を決定します。
対象と制約
- 基本演習の対象は、完全な自動SEC→MIN→HOUR階層です。
- 任意名の手動の通常ROLLUPや、SECがない自動階層も同じ経路で処理できると仮定しないでください。
- Customツリーは別経路で、現在の時間境界生成は1 SEC・1 MIN・1 HOURの間隔を対象とします。10 MINなど作成可能な他の間隔と、再構築可能な範囲は区別してください。
- Custom SELECTの時間バケットとoriginは、再構築の境界に一致する必要があります。
- 有効な対象がある場合、存在しないタグでは何も変更しない場合があります。
- 元データが失われていれば、削除前の統計値を復元することはできません。
実行例
次は、ch6_rebuild演習オブジェクトが準備済みの場合の呼び出しです。
EXEC ROLLUP_REBUILD(ch6_rebuild, 'S1',
TO_DATE('2026-01-01 00:00:30', 'YYYY-MM-DD HH24:MI:SS'),
TO_DATE('2026-01-01 00:01:00', 'YYYY-MM-DD HH24:MI:SS'));準備SQL、元データの訂正、通常・Custom結果の比較、後処理は、 6.10 完全な演習を参照してください。
ジョブ状態と失敗
関連する集計ジョブは停止・再計算・再起動の段階を経ます。再構築中に通常の集計がそのまま続く保証はありません。 ソースの安定した参照のための処理と、データ再生成の影響を隔離環境で確認してください。
失敗時には一部の結果がすでに変わっている場合があります。全体のロールバックや元の停止状態への自動復元を 前提にせず、元データ・対象バケット・V$ROLLUP・gap・最初のエラーを確認します。 非対応のジョブを除外するか手順を修正するまでは、同じコマンドを繰り返さないでください。
作成・参照構文、サポート範囲、 トラブルシューティングも確認してください。