論理パーティション・チェンジ・トラッキングおよびマテリアライズド・ビュー
Autonomous Databaseでの論理パーティション・チェンジ・トラッキング(LPCT)メタデータ・フレームワークおよび論理パーティション・チェンジ・トラッキングを使用したクエリー・リライトに関する情報について説明します。
- 論理パーティション変更トラッキングについて
論理パーティション変更トラッキング(LPCT)は、マテリアライズド・ビューの失効を追跡します。 - 論理パーティション・チェンジ・トラッキングの使用
論理パーティション・チェンジ・トラッキング(LPCT)は、指定されたキー列および方法を使用して表を論理的にパーティション化します。 - 例: 論理パーティション・チェンジ・トラッキング
結合および集計を含むマテリアライズド・ビューを使用して論理パーティション・チェンジ・トラッキング(LPCT)を使用するステップを示します。
論理パーティション・チェンジ・トラッキングについて
論理パーティション・チェンジ・トラッキングを使用すると、実表に論理パーティションを作成できます。マテリアライズド・ビュー・ログを使用せずに、またはマテリアライズド・ビューで使用されている表のパーティション化を必要としないで、個々の論理パーティションに対する実表の失効を評価します。
マテリアライズド・ビューの1つ以上の依存ベース表が更新されると、マテリアライズド・ビューはSTALE
になり、デフォルトの強制整合性モードではクエリー・リライトに使用できなくなります。
論理パーティション・チェンジ・トラッキング(LPCT)では、マテリアライズド・ビューの実表のユーザー指定の論理パーティション化情報を活用して、リフレッシュとリライトの両方の目的で、失効データをよりきめ細かくパーティション・レベルで追跡できます。従来のパーティション化チェンジ・トラッキング(PCT)は表の物理パーティション化に依存しますが、LPCTは物理的にパーティション化されている表に依存しません。LPCTは、パーティション表と非パーティション表の両方で使用できます。
論理パーティション・チェンジ・トラッキング・メカニズムでは、他のサブセットがSTALE
であるにもかかわらず、マテリアライズド・ビューのFRESH
サブセット(パーティション)が使用されます。マテリアライズド・ビューで事前に計算された結果を使用する頻度が高くなるため、ユーザー問合せのレスポンス時間を短縮できます。マテリアライズド・ビューの使用性を向上させる以外に、PCTおよびLPCTでは、マテリアライズド・ビュー・ログを必要とせずにマテリアライズド・ビューの増分リフレッシュも可能です。リフレッシュは、ON DEMAND
またはON COMMIT
の両方にできます。
パーティション・チェンジ・トラッキング(PCT)と同様に、論理パーティション・チェンジ・トラッキング(LPCT)は実表に関連付けられ、定義されている論理パーティション境界に従って、実表のデータ変更の影響を受けるマテリアライズド・ビュー内の行を正確に識別できます。
詳細は、高度なマテリアライズド・ビューの高度なマテリアライズド・ビューを参照してください。
論理パーティション・チェンジ・トラッキングの使用
論理パーティション・チェンジ・トラッキング(LPCT)は、指定されたキー列およびメソッドを使用して表を論理的にパーティション化します。
論理パーティション・チェンジ・トラッキング作成構文は、物理パーティションに似ています。表の作成の一部として作成する必要がある物理パーティションとは異なり、LPCTは、表の作成とその形状とは無関係に自由に指定できるため、要件に対応できる柔軟性が高まります。LPCTの作成はメタデータのみです。
- 論理パーティションの作成- BNF
BNF論理パーティションを作成する構文について説明します。 - 論理パーティション・キー列の選択
論理パーティション化キーは、各論理パーティションの境界を定義するために指定します。 - 論理パーティション・チェンジ・トラッキングを使用したマテリアライズド・ビューの最新性
論理パーティション・チェンジ・トラッキング(LPCT)失効トラッキング・メカニズムは、データ変更のたびに、指定された論理パーティション・キーおよびパーティション化方法に基づいて、変更統計を自動的に記録および統合します。 - 論理パーティション・チェンジ・トラッキングを使用したマテリアライズド・ビューでのリライト
論理パーティション・チェンジ・トラッキング(LPCT)を使用すると、Oracleは、実表の一部の論理パーティションに関してマテリアライズド・ビューがSTALE
であるが、他の部分についてはFRESH
であることを認識しています。 - 論理パーティション・チェンジ・トラッキングを使用したマテリアライズド・ビューのリフレッシュ
論理パーティション・チェンジ・トラッキング(LPCT)リフレッシュは、きめ細かいデータ・ステアネスを使用して実装し、マテリアライズド・ビューのSTALE
サブセットを増分リフレッシュすることで、コストのかかる完全リフレッシュまたはログベースの高速リフレッシュを排除できます。 - 論理パーティション・チェンジ・トラッキング – データ・ディクショナリ・ビュー
論理パーティションに関する情報を検索するためのデータ・ディクショナリ・ビューについて説明します。
論理パーティションの作成- BNF
BNF論理パーティションを作成する構文について説明します。
BNF論理パーティションを作成する構文を次に示します。
CREATE LOGICAL PARTITION TRACKING ON table_name
PARTITION BY RANGE (partition_key)
INTERVAL (interval_clause)
(partition_specification);
RANGE
およびINTERVAL
論理パーティション化メソッドのみがサポートされています。- 単一の論理パーティション・キー列のみがサポートされています。
- パーティション・キー列のデータ型は、次のとおりです。
NUMBER
DATE
CHAR
VARCHAR
VARCHAR2
TIMESTAMP
TIMESTAMP WITH TIME ZONE
親トピック: 論理パーティション・チェンジ・トラッキングの使用
論理パーティション・キー列の選択
論理パーティション化キーは、各論理パーティションの境界を定義するために指定します。
論理パーティション・キーは物理的ではありません。これは、キー範囲に属する表の行が別の物理パーティションに分離されないことを意味します。表は、非パーティション化または論理パーティション・キーとは異なるキーでパーティション化することができます。論理パーティション・キーは自由に選択でき、パーティション境界を柔軟にすることができます。
論理パーティション・チェンジ・トラッキング(LPCT)キー列を選択するために、クラスタ化された列、つまり、問合せフィルタ述語で頻繁に参照される、列値でソートされるデータが近い列について検討できます。クラスタ化された列の場合、データ・ロード中に影響を受ける論理パーティションは少なくなります。つまり、STALE
論理パーティションを少なくしてリフレッシュする必要があり、より多くのFRESH
論理パーティションをリライトに使用できます。表がすでにパーティション化されている場合は、パーティション・キー列以外の別の列を使用してLPCTを作成することをお薦めします。LPCTには、パーティショニング・チェンジ・トラッキング(PCT)と同様の利点があり、同じ列でデータ・トラッキングを実行した場合、結合された利点は最大化されません。
親トピック: 論理パーティション・チェンジ・トラッキングの使用
論理パーティション・チェンジ・トラッキングを使用したマテリアライズド・ビューの最新性
論理パーティション・チェンジ・トラッキング(LPCT)失効トラッキング・メカニズムは、データ変更のたびに、指定された論理パーティション・キーおよびパーティション化方法に基づいて、変更統計を自動的に記録および統合します。
隣接する変更データは、論理パーティションにグループ化されます。LPCTスキームは、物理パーティション境界に関連付けられたパーティショニング・チェンジ・トラッキング(PCT)とは異なり、実表に適用されたDMLによって生じるデータ変更を柔軟に管理およびグループ化できます。
従来のDMLおよびダイレクト・ロードでは、LPCTはPCTが失効の追跡に使用するアルゴリズムと同じアルゴリズムを採用します。クエリー・リライト時に、LPCTはリライト包含の計算にPCTが使用するのと同じアルゴリズムを採用します。
表がキー範囲を使用して論理的にパーティション化されている場合、マテリアライズド・ビューに論理パーティション・キーが含まれていると、表に定義されているマテリアライズド・ビューは、失効トラッキング、リフレッシュおよびクエリー・リライトにLPCTを使用できます。
LPCTでは、すべてのタイプのマテリアライズド・ビューがサポートされています。
親トピック: 論理パーティション・チェンジ・トラッキングの使用
論理パーティション・チェンジ・トラッキングを使用したマテリアライズド・ビューでのリライト
Oracleでは、論理パーティション・チェンジ・トラッキング(LPCT)を使用して、実表の一部の論理パーティションに関してマテリアライズド・ビューがSTALE
であるが、他の部分についてはFRESH
であることを認識しています。
実表のよりきめ細かいデータ失効情報があると、LPCTリライトにより、関連付けられたマテリアライズド・ビューがより頻繁に使用されます。
Oracleでは、QUERY_REWRITE_INTEGRITY = ENFORCED |TRUSTED
の場合、マテリアライズド・ビューのFRESH
サブセットを透過的に識別してクエリー・リライトに使用し、実表の複雑な問合せに応答します。
マテリアライズド・ビュー行がそれらの論理パーティションに関して部分的にFRESH
である場合、マテリアライズド・ビュー(FRESH
論理パーティション、および実表(STALE
論理パーティション)を部分的に使用して問合せに回答するために、部分リライトが行われることがあります。
親トピック: 論理パーティション・チェンジ・トラッキングの使用
論理パーティション・チェンジ・トラッキングを使用したマテリアライズド・ビューのリフレッシュ
論理パーティション・チェンジ・トラッキング(LPCT)リフレッシュは、きめ細かいデータ・ステアネスを使用して実装し、マテリアライズド・ビューのSTALE
サブセットを増分リフレッシュすることで、コストのかかる完全リフレッシュまたはログベースの高速リフレッシュを排除できます。
LPCTリフレッシュが指定されている場合は、STALE
論理パーティションが識別され、ターゲット・リフレッシュ操作はそれらの論理パーティションに対してのみ実行されます。
論理パーティション・チェンジ・トラッキングを使用してリフレッシュを起動するには、リフレッシュ・メソッドとして‘L’
または‘l’
(論理)を指定します。
たとえば: execute DBMS_MVIEW.REFRESH(<materialized_view_name>,’L’);
REFRESH FORCE
が指定されている場合は、FAST
リフレッシュが選択され、可能な場合は実行されます。それ以外の場合は、COMPLETE
リフレッシュが実行されます。マテリアライズド・ビューのFORCE
リフレッシュ中、LPCTリフレッシュの優先度はパーティション化チェンジ・トラッキング(PCT)リフレッシュと同じです。
親トピック: 論理パーティション・チェンジ・トラッキングの使用
論理パーティション・チェンジ・トラッキング- データ・ディクショナリ・ビュー
論理パーティションに関する情報を検索するためのデータ・ディクショナリ・ビューについて説明します。
-
ALL_MVIEW_DETAIL_LOGICAL_PARTITION
: このビューは、現行のユーザーがアクセスできるLPCTディテール論理パーティションに関して、マテリアライズド・ビューの最新情報を表示します。詳細は、ALL_MVIEW_DETAIL_PARTITIONを参照してください。 -
DBA_MVIEW_DETAIL_ LOGICAL_PARTITION
: LPCTディテール・論理パーティションに関して、データベース内のすべてのマテリアライズド・ビューに関するフレッシュネス情報を示します。詳細は、DBA_MVIEW_DETAIL_PARTITIONを参照してください。 -
USER_MVIEW_DETAIL_ LOGICAL_PARTITION
: 現行のユーザーが所有するすべてのマテリアライズド・ビューに対して、LPCTディテール・論理パーティションに関するフレッシュネス情報を示します。詳細は、USER_MVIEW_DETAIL_PARTITIONを参照してください。
親トピック: 論理パーティション・チェンジ・トラッキングの使用