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モードのゾーン・マップのデータをリフレッシュできます。詳細は、
CREATE
MATERIALIZED
ZONEMAP
のドキュメントのON DEMAND句を参照してください。 -
ゾーン・マップのデフォルト・リフレッシュ・モードに関係なく、ゾーン・マップの実表のいずれかの
EXCHANGE
PARTITION
操作の後にこの句を発行する必要があります。 -
ゾーン・マップが使用不可とマークされている場合、この句を発行して使用不可とマークできます。
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;