SQL文を使用して表を作成および変更する場合、行、セグメントおよび表領域レベルでADOのポリシーを指定できます。ADOのポリシーを指定すると、データベース内の異なる層のストレージ間のデータの移動を自動化できます。これらのポリシーにより、各層に異なる圧縮レベルを指定し、データの移動が発生する時間を制御することもできます。ADOのポリシーの範囲は、SEGMENT
、ROW
またはGROUP
として指定できます。
SQL CREATE
およびALTER
TABLE
文のILM句により、ADOのポリシーを作成、削除、有効化または無効化できます。ILMポリシー句は、圧縮またはストレージ層ポリシーを決定し、追加の句を含みます。表を作成する場合、ADOの新しいポリシーを追加できます。表を変更してポリシーを追加したり、既存のポリシーを有効化、無効化または削除できます。ポリシーは、表全体または表のパーティションに追加できます。ILM ADOポリシーには、P1
、P2
、...P
n
などのシステム生成名が付けられます。
セグメント・レベルのポリシーは1回のみ実行されます。ポリシーが正常に実行されると、そのポリシーは無効になり、再度評価されることはありません。ただし、ポリシーを明示的に再び有効化することはできます。行レベルのポリシーは継続的に実行され、正常な実行後も無効になることはありません。
ポリシーのグループ化に適用できる圧縮のデフォルト・マッピングは次のとおりです。
ヒープ表のCOMPRESS
ADVANCED
は、索引に対して標準の圧縮およびLOBセグメントに対してLOW
にマップされます。
ヒープ表のCOMPRESS
FOR
QUERY
LOW
/QUERY
HIGH
は、索引に対して標準の圧縮およびLOBセグメントに対してMEDIUM
にマップされます。
ヒープ表のCOMPRESS
FOR
ARCHIVE
LOW
/ARCHIVE
HIGH
は、索引に対して標準の圧縮およびLOBセグメントに対してHIGH
にマップされます。
圧縮マッピングは変更できません。GROUP
は、セグメント・レベルのポリシーにのみ適用できます。ストレージ層ポリシーはセグメント・レベルでのみ適用可能で、行レベルで指定できません。
ポリシーを実行する時間を決定する機能を提供するON
PL/SQL_function
オプションを使用して、ポリシーをカスタマイズできます。ON
PL/SQL_function
オプションは、セグメント・レベルのポリシーでのみ使用できます。次に例を示します。
CREATE OR REPLACE FUNCTION my_custom_ado_rules (objn IN NUMBER) RETURN BOOLEAN; ALTER TABLE sales_custom ILM ADD POLICY COMPRESS ADVANCED SEGMENT ON my_custom_ado_rules;
関連項目:
SQL文のILM句の構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください