説明
このステートメントは、マテリアライズドビューログ(Materialized View Log、mlog)のプロパティを変更するために使用されます。
説明
OceanBaseデータベースV4.3.5では、V4.3.5 BP1バージョンから ALTER MATERIALIZED VIEW LOG ステートメントがサポートされています。
権限要件
ALTER MATERIALIZED VIEW LOG ステートメントを実行するには、現在のユーザーがベーステーブル(通常のテーブルまたはマテリアライズドビュー)に対する ALTER 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、Oracleモードの権限分類を参照してください。
構文
ALTER MATERIALIZED VIEW LOG ON [schema.]table_name alter_mlog_action_list;
alter_mview_action_list:
alter_mlog_action [, alter_mlog_action ...]
alter_mlog_action:
parallel_clause
| PURGE [[START WITH expr] [NEXT expr]]
parallel_clause:
NOPARALLEL
| PARALLEL integer
パラメータの説明
| パラメータ | 説明 |
|---|---|
| schema. | オプション。マテリアライズドビューのログに対応するベーステーブルが属するスキーマを指定します。schema. を省略した場合、デフォルトでベーステーブルは現在のセッションが属するスキーマ内に存在します。 |
| table_name | マテリアライズドビューのログに対応するベーステーブル名を指定します。 |
| alter_mlog_action_list | マテリアライズドビューのログに対して実行可能な変更操作のリストを示します。複数の操作を同時に指定する場合は、英字のカンマ(,)で区切ります。詳細については、以下のalter_mlog_actionを参照してください。 |
alter_mlog_action
parallel_clause:マテリアライズドビューのログテーブルの並列度を変更します。値は以下のとおりです:NOPARALLEL:並列度は1で、デフォルト設定です。PARALLEL integer:並列度を指定します。integerの値は1以上の整数です。
例:
ALTER MATERIALIZED VIEW LOG ON tbl1 PARALLEL 5;PURGE [[START WITH expr] [NEXT expr]]:マテリアライズドビューのログのバックグラウンドクリーンアップタスクの時間間隔を変更します。[START WITH expr]:オプション。マテリアライズドビューのログの最初のクリーンアップ時間を示します。[NEXT expr]:オプション。次回のマテリアライズドビューのログのクリーンアップ時間を示します。次回のマテリアライズドビューのログのクリーンアップ時間を設定するために使用されます。
注意
START WITH exprとNEXT exprの2つの時間式が将来の日付時刻に設定されていることを確認してください。そうでない場合、エラーが発生します。現在のタイムゾーンの時間を表すには、
current_dateを使用することを推奨します。時間式の例は以下のとおりです:現在の時間(
current_date)から、10秒ごとに期限切れのマテリアライズドビューのログレコードをクリーンアップします。START WITH current_date NEXT current_date + INTERVAL '10' SECOND現在の時間(
current_date)から、10時間ごとに期限切れのマテリアライズドビューのログレコードをクリーンアップします。START WITH current_date NEXT current_date + INTERVAL '10' HOUR現在の時間(
current_date)から、1日ごとに期限切れのマテリアライズドビューのログレコードをクリーンアップします。START WITH current_date NEXT current_date + 1
例:
ALTER MATERIALIZED VIEW LOG ON tbl1 PURGE START WITH current_date;ALTER MATERIALIZED VIEW LOG ON tbl1 PURGE NEXT current_date + 1;ALTER MATERIALIZED VIEW LOG ON tbl1 PURGE START WITH current_date NEXT current_date + 1;