ALTER MATERIALIZED ZONEMAP

目的

ALTER MATERIALIZED ZONEMAP文を使用すると、既存のゾーン・マップを次の方法で変更できます。

  • 属性の変更

  • デフォルトのリフレッシュ方法とモードの変更

  • プルーニングの使用の有効化または無効化

  • コンパイル、再作成または使用不可にする

関連項目:

前提条件

ゾーン・マップが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY MATERIALIZED VIEWシステム権限が必要です。

ゾーン・マップを含むスキーマを所有するユーザーは、各表のREADまたはSELECTオブジェクト権限あるいはREAD ANY TABLEまたはSELECT ANY TABLEシステム権限を介して、スキーマの外にあるゾーン・マップの実表のアクセスを必要とします。

構文

alter_materialized_zonemap::=

alter_zonemap_attributes::=

zonemap_refresh_clause::=

ノート:

zonemap_refresh_clauseを指定する場合、REFRESHキーワードの後に少なくとも1つの句を指定する必要があります。

セマンティクス

schema

ゾーン・マップが含まれているスキーマを指定します。schemaを指定しない場合、このゾーン・マップは自分のスキーマ内にあるとみなされます。

zonemap_name

変更するゾーン・マップの名前を指定します。

alter_zonemap_attributes

この句を使用してゾーン・マップの次の属性を変更します: PCTFREEPCTUSEDおよびCACHEまたはNOCACHE。これらの属性は、ALTER MATERIALIZED ZONEMAPおよびCREATE MATERIALIZED ZONEMAPに対して同じセマンティクスを持ちます。これらの属性の詳細は、CREATE MATERIALIZED ZONEMAPのドキュメントのPCTFREE, PCTUSEDおよびCACHE | NOCACHEを参照してください。

zonemap_refresh_clause

この句を使用して、ゾーン・マップのデフォルトのリフレッシュ方法およびモードを変更します。この句は、ALTER MATERIALIZED ZONEMAPおよびCREATE MATERIALIZED ZONEMAPに対して同じセマンティクスを持ちます。この句の詳細は、CREATE MATERIALIZED ZONEMAP「zonemap_refresh_clause」を参照してください。

ENABLE | DISABLE PRUNING

この句を使用して、プルーニングのゾーン・マップの使用を有効化または無効化します。この句は、ALTER MATERIALIZED ZONEMAPおよびCREATE MATERIALIZED ZONEMAPに対して同じセマンティクスを持ちます。この句の詳細は、CREATE MATERIALIZED ZONEMAPENABLE | DISABLE PRUNINGを参照してください。

COMPILE

この句を使用すると、ゾーン・マップを明示的にコンパイルできます。DDL操作が1つ以上の実表の構造を変更した後、この操作はゾーン・マップを検証します。Oracleデータベースが使用前にコンパイルが必要なゾーン・マップを自動的にコンパイルするため、通常この句を発行する必要はありません。ただし、ゾーン・マップを明示的にコンパイルする場合、この句を使用して実行できます。

ゾーン・マップのコンパイル結果は、実表がゾーン・マップに影響する方法で変更されるかどうかによって異なります。たとえば、列が実表に追加されると、変更がゾーン・マップに影響しないため、コンパイル後にゾーン・マップが有効になります。ただし、ゾーン・マップの定義する副問合せに含まれる列が実表から削除される場合、コンパイル後にゾーン・マップが無効になります。

ALL_, DBA_COMPILE_STATE列およびUSER_ZONEMAPSデータ・ディクショナリ・ビューを問い合せて、ゾーン・マップでコンパイルが必要かどうかを判断できます。列の値がNEEDS_COMPILEの場合、ゾーン・マップにコンパイルが必要です。

REBUILD

この句を使用すると、ゾーン・マップを明示的に再作成できます。この操作は、ゾーン・マップのデータをリフレッシュします。この句は、次の場合に有効です。

  • この句を使用して、REFRESH ON DEMANDモードのゾーン・マップのデータをリフレッシュできます。詳細は、CREATE MATERIALIZED ZONEMAPのドキュメントのON DEMAND句を参照してください。

  • ゾーン・マップのデフォルト・リフレッシュ・モードに関係なく、ゾーン・マップの実表のいずれかのEXCHANGE PARTITION操作の後にこの句を発行する必要があります。

  • ゾーン・マップが使用不可とマークされている場合、この句を発行して使用不可とマークできます。ALL_, DBA_UNUSABLE列およびUSER_ZONEMAPSデータ・ディクショナリ・ビューを問い合せて、ゾーン・マップが使用不可とマークされているかどうかを判断できます。

UNUSABLE

この句を指定して、ゾーン・マップを使用不可にします。後続の問合せはゾーン・マップを使用しないため、データベースはゾーン・マップを保持しません。ALTER MATERIALIZED ZONEMAP ... REBUILD文を発行して、再度ゾーン・マップを使用可能にすることができます。

ゾーン・マップ属性の変更: 例

次の文はゾーン・マップsales_zmapPCTFREEおよびPCTUSED属性を変更し、キャッシュを使用しないようにゾーン・マップを変更します。

ALTER MATERIALIZED ZONEMAP sales_zmap
  PCTFREE 20 PCTUSED 50 NOCACHE;

デフォルトのリフレッシュ方法とゾーン・マップのモードの変更: 例

次の文は、ゾーン・マップsales_zmapのデフォルトのリフレッシュ方法をFASTに変更し、デフォルトのリフレッシュ・モードをON COMMITに変更します。

ALTER MATERIALIZED ZONEMAP sales_zmap
  REFRESH FAST ON COMMIT;

プルーニングのためのゾーン・マップの使用の無効化: 例

次の文は、ゾーン・マップsales_zmapをプルーニングに使用できないようにします。

ALTER MATERIALIZED ZONEMAP sales_zmap
  DISABLE PRUNING;

ゾーン・マップのコンパイル: 例

次の文は、ゾーン・マップsales_zmapをコンパイルします。

ALTER MATERIALIZED ZONEMAP sales_zmap
  COMPILE;

ゾーン・マップの再構築: 例

次の文は、ゾーン・マップsales_zmapを再構築します。

ALTER MATERIALIZED ZONEMAP sales_zmap
  REBUILD;

ゾーン・マップの使用禁止: 例

次の文は、ゾーン・マップsales_zmapを使用禁止にします。

ALTER MATERIALIZED ZONEMAP sales_zmap
  UNUSABLE;