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です。
|
-rowcount <rowcount> |
削除された行の数をリクエストします。これはOUTパラメータ・オプションであり、コマンドの出力値をバインド変数に格納するために使用されます。 |