ALTER MATERIALIZED ZONEMAP
目的
ALTER MATERIALIZED ZONEMAP文を使用すると、既存のゾーン・マップを次の方法で変更できます。
-
属性の変更
-
デフォルトのリフレッシュ方法とモードの変更
-
プルーニングの使用の有効化または無効化
-
コンパイル、再作成または使用不可にする
関連項目:
-
ゾーン・マップの作成の詳細は、CREATE MATERIALIZED ZONEMAPを参照してください。
-
ゾーン・マップの詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。
前提条件
ゾーン・マップが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、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
この句を使用してゾーン・マップの次の属性を変更します: PCTFREE、PCTUSEDおよび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 ZONEMAPのENABLE | DISABLE PRUNINGを参照してください。
COMPILE
この句を使用すると、ゾーン・マップを明示的にコンパイルできます。DDL操作が1つ以上の実表の構造を変更した後、この操作はゾーン・マップを検証します。Oracleデータベースが使用前にコンパイルが必要なゾーン・マップを自動的にコンパイルするため、通常この句を発行する必要はありません。ただし、ゾーン・マップを明示的にコンパイルする場合、この句を使用して実行できます。
ゾーン・マップのコンパイル結果は、実表がゾーン・マップに影響する方法で変更されるかどうかによって異なります。たとえば、列が実表に追加されると、変更がゾーン・マップに影響しないため、コンパイル後にゾーン・マップが有効になります。ただし、ゾーン・マップの定義する副問合せに含まれる列が実表から削除される場合、コンパイル後にゾーン・マップが無効になります。
ALL_, DBA_のCOMPILE_STATE列およびUSER_ZONEMAPSデータ・ディクショナリ・ビューを問い合せて、ゾーン・マップでコンパイルが必要かどうかを判断できます。列の値がNEEDS_COMPILEの場合、ゾーン・マップにコンパイルが必要です。
REBUILD
この句を使用すると、ゾーン・マップを明示的に再作成できます。この操作は、ゾーン・マップのデータをリフレッシュします。この句は、次の場合に有効です。
-
この句を使用して、REFRESH ON DEMANDモードのゾーン・マップのデータをリフレッシュできます。詳細は、
CREATEMATERIALIZEDZONEMAPのドキュメントのON DEMAND句を参照してください。 -
ゾーン・マップのデフォルト・リフレッシュ・モードに関係なく、ゾーン・マップの実表のいずれかの
EXCHANGEPARTITION操作の後にこの句を発行する必要があります。 -
ゾーン・マップが使用不可とマークされている場合、この句を発行して使用不可とマークできます。
ALL_,DBA_のUNUSABLE列およびUSER_ZONEMAPSデータ・ディクショナリ・ビューを問い合せて、ゾーン・マップが使用不可とマークされているかどうかを判断できます。
UNUSABLE
この句を指定して、ゾーン・マップを使用不可にします。後続の問合せはゾーン・マップを使用しないため、データベースはゾーン・マップを保持しません。ALTER MATERIALIZED ZONEMAP ... REBUILD文を発行して、再度ゾーン・マップを使用可能にすることができます。
例
ゾーン・マップ属性の変更: 例
次の文はゾーン・マップsales_zmapのPCTFREEおよび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;


