ストリームの管理

このトピックでは、ストリームの管理に関連する管理タスクについて説明します。

このトピックの内容:

ビューと基になるテーブルの変更追跡の有効化

ユーザーがビューの変更データをクエリできるようにするには、ビューと基になるテーブルで変更追跡を有効にする必要があります。

変更追跡を有効にできるのは、特定のビューまたは基になるテーブルのオブジェクト所有者(つまり、 OWNERSHIP 権限を持つロール)のみです。

変更追跡を有効にするには、次のオプションを使用できます。

  1. ビュー所有者のロールを使用して、ビューにストリームを作成します。このアクションにより、ビューでの変更追跡が可能になります。

    同じロールが基になるテーブルも所有している場合、変更追跡もテーブルで有効になります。それ以外の場合、テーブルの所有者は、テーブルの変更追跡を明示的に有効にする必要があります。これらのステップについては、 基になるテーブルで変更追跡を明示的に有効にする (このトピック内)をご参照ください。

  2. ビューとテーブルで変更追跡を明示的に有効にします。手順については、このセクションの残りの手順をご参照ください。

ビューの変更追跡を明示的に有効にする

ビューを作成するとき(CREATE VIEW を使用)またはそれ以降(ALTER VIEW を使用)に CHANGE_TRACKING パラメーターを設定します。

ビューの基になるテーブルでも、変更追跡を明示的に有効にする必要があることに注意してください。手順については、 基になるテーブルで変更追跡を明示的に有効にする (このトピック内)をご参照ください。

たとえば、テーブルから行のサブセットを選択するセキュアビューを現在のスキーマに作成します。

CREATE SECURE VIEW v CHANGE_TRACKING = TRUE AS SELECT col1, col2 FROM t;

たとえば、既存のビューを変更して、変更追跡を有効にします。

ALTER VIEW v2 SET CHANGE_TRACKING = TRUE;

基になるテーブルで変更追跡を明示的に有効にする

テーブルを作成するとき(CREATE TABLE を使用)またはそれ以降(ALTER TABLE を使用)に CHANGE_TRACKING パラメーターを設定します。

たとえば、現在のスキーマにテーブルを作成します。

CREATE TABLE t (col1 STRING, col2 NUMBER) CHANGE_TRACKING = TRUE;

たとえば、既存のテーブルを変更して、変更追跡を有効にします。

ALTER TABLE t1 SET CHANGE_TRACKING = TRUE;

ストリームが古くなることの回避

ストリームが古くなるのを防ぐために、 STALE_AFTER タイムスタンプの前に(つまり、ソースオブジェクトの延長されたデータ保持期間内に)変更データを定期的に使用することを強くお勧めします。

ストリームのデータ保持期間を表示するには、 DESCRIBE STREAM または SHOW STREAMS コマンドを実行します。STALE_AFTER 列のタイムスタンプは、ストリームが古くなると現時点で予測される時期(または、タイムスタンプが過去の場合は古くなった時期)を示します。このタイムスタンプは、 DATA_RETENTION_TIME_IN_DAYS または MAX_DATA_EXTENSION_TIME_IN_DAYS パラメーター設定の大きい方を現在のタイムスタンプに追加することによって計算されます。タイムスタンプが過去の場合、ストリームはすでに古くなっている可能性があることに注意してください。STALE 列は、ストリームが実際にはまだ古くなっていない可能性があるものの、古くなっていると予想されるかどうかも示します。

ストリームの変更データを消費すると、 STALE_AFTER タイムスタンプが先送りされます。

詳細については、 データ保持期間と陳腐化 をご参照ください。

最上部に戻る