9.11 IMMUTABLE_TABLE

このコマンドでは、DBMS_IMMUTABLE_TABLE PL/SQLパッケージの拡張機能が使用されます。

不変表は、不正な変更からデータを保護するread-only表です。また、これらの表では、人為的エラーによって発生する可能性がある偶発的なデータ変更も防ぐことができます。DBMS_IMMUTABLE_TABLE PL/SQLパッケージを使用すると、不変表内の期限切れ行を削除でき、時間隔パーティション化を追加できます。

次のサブコマンドがあります:

9.11.1 時間隔パーティション化の追加

時間隔パーティション化を、パーティション化されていない既存のV1またはV2不変表に追加します。

構文

immutable_table|im add_interval_partitioning|addintpartition {OPTIONS}

オプション

オプション 説明
必須
-table_name|-tab <table_name> 不変表の名前を指定します。この名前の前に、それぞれのスキーマ名を付けることができます。大文字と小文字が区別されるスキーマ名または表名を指定するには、名前全体を二重引用符で囲んでから、個々の名前を二重の二重引用符で囲みます。

ノート:

大文字と小文字が区別される、空白文字が埋め込まれている表名およびスキーマ名は、"""Alp_ha"".""Be $a"""のように入力する必要があります。パーサーでは、これらの値は"Alp_ha"."Be $a"として解析されます。
-interval_number|-intnum <interval_number> データベースで不変表のパーティションが作成される頻度を決める、間隔番号を指定します。
-interval_frequency|-intfreq <interval_frequency> interval_number設定によって設定され指定された間隔内での、データベースによって不変表のパーティションが作成される頻度を決める、間隔頻度を指定します。サポートされている値は、YEAR、MONTH、DAY、HOURおよびMINUTEです。
-first_high_timestamp|-firsthigh <first_high_timestamp> 不変表内の最初のパーティションの上限を決めるタイムスタンプを指定します。

9.11.2 期限切れ行の削除

不変表から期限切れ行を一部またはすべて削除します。このコマンドでは、データベース・リリースが19cまたは21cの場合はコミットされません。このコマンドでは、データベース・リリースが23ai以上である場合はコミットされます。

構文

immutable_table|im delete_expired_rows|del {OPTIONS}

オプション

オプション 説明
必須
-table_name|-tab <table_name> 不変表の名前を指定します。この名前の前に、それぞれのスキーマ名を付けることができます。大文字と小文字が区別されるスキーマ名または表名を指定するには、名前全体を二重引用符で囲んでから、個々の名前を二重の二重引用符で囲みます。

ノート:

大文字と小文字が区別される、空白文字が埋め込まれている表名およびスキーマ名は、"""Alp_ha"".""Be $a"""のように入力する必要があります。パーサーでは、これらの値は"Alp_ha"."Be $a"として解析されます。
オプション
-before_timestamp|-before <before_timestamp> 期限切れ行の削除を決めるタイムスタンプを指定します。このパラメータは、NLS_TIMESTAMP_TZ_FORMATまたはNLS_TIMESTAMP_FORMATに従って設定します。このパラメータのデフォルト値はNULLです。
  • このパラメータ値がNULLである場合は、表内の期限切れ行がすべて削除されます。
  • このパラメータ値がNULLではなく、現在時刻と行保存時間に基づいて算出されたタイムスタンプより前である場合は、このパラメータ値より前のタイムスタンプがある行が削除されます。
  • このパラメータ値がNULLではなく、現在時刻と行保存期間に基づいて算出されたタイムスタンプより後である場合は、算出されたタイムスタンプが使用され、期限切れ行すべてが削除されます。
-rowcount <rowcount> 削除された行の数をリクエストします。これはOUTパラメータ・オプションであり、コマンドの出力値をバインド変数に格納するために使用されます。

9.11.3 表の説明

指定された不変表の詳細を説明します。

構文
immutable_table|im desc {OPTIONS}
オプション 説明
必須
-table_name|-tab <table_name> 不変表の名前を指定します。この名前の前に、それぞれのスキーマ名を付けることができます。大文字と小文字が区別されるスキーマ名または表名を指定するには、名前全体を二重引用符で囲んでから、個々の名前を二重の二重引用符で囲みます。