DBMS_AUTO_PARTITIONパッケージ
DBMS_AUTO_PARTITION
パッケージは、スキーマおよび表の自動パーティション化を管理するための管理ルーチンを提供します。
- CONFIGUREプロシージャ
このプロシージャは、Autonomous Databaseでの自動パーティション化の設定を構成します。 - VALIDATE_CANDIDATE_TABLEファンクション
このファンクションは、指定された表がAutonomous Databaseでの自動パーティション化の有効な候補かどうかをチェックします。 - RECOMMEND_PARTITION_METHODファンクション
このファンクションは、推奨事項を適用するためにAPPLY_RECOMMENDATION
プロシージャで使用できる推奨事項IDを返します。または、DBA_AUTO_PARTITION_RECOMMENDATIONS
ビューとともに使用して、Autonomous Databaseでの自動パーティション化に関する推奨事項の詳細を取得できます。 - APPLY_RECOMMENDATIONプロシージャ
このプロシージャは、Autonomous Databaseで指定された推奨事項を適用します。 - REPORT_ACTIVITYファンクション
このファンクションは、特定の期間中にAutonomous Databaseで実行された自動パーティション化操作のレポートを返します。 - REPORT_LAST_ACTIVITYファンクション
このファンクションは、Autonomous Databaseで実行された最新の自動パーティション化操作のレポートを返します。
CONFIGUREプロシージャ
この手順では、Autonomous Databaseでの自動パーティション化の設定を構成します。
構文
DBMS_AUTO_PARTITION.CONFIGURE (
PARAMETER_NAME IN VARCHAR2,
PARAMETER_VALUE IN VARCHAR2,
ALLOW IN BOOLEAN DEFAULT TRUE);
パラメータ
パラメータ | 摘要 |
---|---|
|
更新する自動パーティション化構成パラメータの名前。次のいずれかの値を指定できます。
AUTO_PARTITION_MODE は、自動パーティション化操作のモードを設定し、次のいずれかの値を持ちます。
AUTO_PARTITION_SCHEMA は、自動パーティション化の使用を含めるか除外するようにスキーマを設定します。動作の制御には、allowパラメータを使用します。自動パーティション化プロセスでは、2つのスキーマ・リストが管理されます。
最初は両方のリストが空で、データベース内のすべてのスキーマで自動パーティション化を使用できます。包含リストに1つ以上のスキーマが含まれている場合は、包含リストにリストされたスキーマのみが自動パーティション化を使用できます。包含リストが空で、除外リストに1つ以上のスキーマが含まれている場合、すべてのスキーマでは、除外リストにリストされているスキーマを除き、自動パーティション化が使用されます。両方のリストに1つ以上のスキーマが含まれている場合、除外リストにリストされているスキーマを除き、すべてのスキーマで自動パーティション化が使用されます。
最初は、両方のリストが空であり、データベース内のすべての表で自動パーティション化を使用できます。包含リストに1つ以上の表が含まれている場合、自動パーティション化を使用できるのは、包含リストにリストされている表のみです。包含リストが空で、除外リストに1つ以上の表が含まれている場合、すべての表では、除外リストにリストされている表を除き、自動パーティション化が使用されます。両方のリストに1つ以上の表が含まれている場合、除外リストにリストされている表を除き、すべての表で自動パーティション化が使用されます。表がどちらのリストにもない場合、スキーマの包含リストおよび除外リストによって、表が自動パーティション化の候補表かどうかが決定されます。スキーマ・レベル・リストと表レベル・リストの間に競合がある場合は、表レベル・リストが優先されます。 包含リストおよび除外リストからすべての表を削除するには、次を実行します。
|
|
|
|
次のいずれかの値を持つ
AUTO_PARTITION_SCHEMA またはAUTO_PARTITION_TABLE 構成設定にのみ適用できます。
AUTO_PARTITION_SCHEMA およびAUTO_PARTITION_TABLE 構成設定の説明を参照してください。
|
使用上のノート
-
次のSQLを使用して、自動パーティション化構成の現在の設定を確認できます。
SELECT * FROM DBA_AUTO_PARTITION_CONFIG;
-
自動索引付けとは異なり、自動パーティション化がバックグラウンド・タスクとして定期的に実行されることはありません。自動パーティション化が実行されるのは、
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
ファンクションを使用して起動した場合のみです。
親トピック: DBMS_AUTO_PARTITIONパッケージ
VALIDATE_CANDIDATE_TABLEファンクション
このファンクションは、指定された表がAutonomous Databaseでの自動パーティション化の有効な候補かどうかをチェックします。
有効な候補者
- 表は、
AUTO_PARTITION_SCHEMA
およびAUTO_PARTITION_TABLE
構成パラメータで指定された包含テストおよび除外テストに合格します。 - 表が存在し、最新の統計があります。
- 表は64 GB以上です。
- 表には、表をスキャンしたSQLチューニング・セットに5つ以上の問合せがあります。
- 表に
LONG
データ型の列が含まれていません。 - 表は手動でパーティション化されていません。
- 表は、外部表、内部/外部ハイブリッド表、一時表、索引編成表またはクラスタ表ではありません。
- 表にドメイン索引またはビットマップ結合索引がありません。
- 表は、事前キューイング、マテリアライズド・ビューまたはフラッシュバック・アーカイブ・ストレージ表ではありません。
- 表にはネストした表や、その他の特定のオブジェクト機能はありません。
- 表が自律型パーティション化の有効な候補である場合は
VALID
- 表が自律型パーティション化の有効な候補ではなく、<reason>が表が有効な候補でない理由を説明する文字列である場合、
INVALID: <reason>
。
構文
DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE
( SQLSET_OWNER IN VARCHAR2 DEFAULT 'SYS',
SQLSET_NAME IN VARCHAR2 DEFAULT 'SYS_AUTO_STS',
TABLE_OWNER IN VARCHAR2,
TABLE_NAME IN VARCHAR2)
RETURN VARCHAR2;
パラメータ
パラメータ | 摘要 |
---|---|
|
評価するワークロードを表すSQLチューン・セットの名前。 |
|
自動パーティション化の候補として検証する表の名前。 |
使用上のノート
- たとえば、次のSQLを使用して、スキーマ
TEST
のサンプル表LINEORDER
の有効性をチェックできます。SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE ( TABLE_OWNER => 'TEST', TABLE_NAME => 'LINEORDER') FROM DUAL;
親トピック: DBMS_AUTO_PARTITIONパッケージ
RECOMMEND_PARTITION_METHODファンクション
このファンクションは、推奨を適用するためにAPPLY_RECOMMENDATION
プロシージャで使用できる推奨IDを返します。または、DBA_AUTO_PARTITION_RECOMMENDATIONS
ビューとともに使用して、Autonomous Databaseでの自動パーティション化の推奨の詳細を取得できます。
構文
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
( SQLSET_OWNER IN VARCHAR2 DEFAULT 'SYS',
SQLSET_NAME IN VARCHAR2 DEFAULT 'SYS_AUTO_STS',
TABLE_OWNER IN VARCHAR2 DEFAULT NULL,
TABLE_NAME IN VARCHAR2 DEFAULT NULL,
TIME_LIMIT IN INTERVAL DAY TO SECOND DEFAULT INTERVAL '1' DAY,
REPORT_TYPE IN VARCHAR2 DEFAULT 'TEXT',
REPORT_SECTION IN VARCHAR2 DEFAULT 'SUMMARY',
REPORT_LEVEL IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN RAW;
パラメータ
パラメータ | 摘要 |
---|---|
|
評価するワークロードを表すSQLチューン・セットの名前。 |
|
自動パーティション化の候補として検証する表の名前。 |
|
ファンクションが推奨を生成する表( |
|
推奨されるパーティション方法のレポートを生成するために使用されます。詳細は、REPORT_ACTIVITYファンクションを参照してください。 |
|
推奨されるパーティション方法の永続レポートを生成するために使用されます。詳細は、REPORT_ACTIVITYファンクションを参照してください。 |
|
推奨されるパーティション方法のレポートを生成するために使用されます。詳細は、REPORT_ACTIVITYファンクションを参照してください。 |
使用上のノート
-
AUTO_PARTITION_MODE
は、この関数によって実行されるアクションを制御します。IMPLEMENT
: このモードでは、自動パーティション化によってレポートが生成され、推奨されるパーティション・メソッドを使用して既存の表が変更されます。REPORT ONLY
: このモードでは、自動パーティション化によって生成されたレポートが生成されますが、既存の表は変更されません。これはデフォルト値です。OFF
: このモードでは、自動パーティション化によって、新しい推奨事項の生成、検討または適用が妨げられました。既存の自動パーティション表は無効化されません。
-
自動索引付けとは異なり、自動パーティション化がバックグラウンド・タスクとして定期的に実行されることはありません。自動パーティション化が実行されるのは、
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
ファンクションを使用して起動した場合のみです。
戻り値
このファンクションは、推奨を適用するDBMS_AUTO_PARTITION.APPLY_RECOMMENDATION
という推奨事項IDを戻します。
DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION
とともに使用して、推奨事項を適用します。DBA_AUTO_PARTITION_RECOMMENDATIONS
ビューとともに使用して、推奨事項の詳細を取得します。たとえば:SELECT PARTITION_METHOD, PARTITION_KEY FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
親トピック: DBMS_AUTO_PARTITIONパッケージ
APPLY_RECOMMENDATIONプロシージャ
このプロシージャは、Autonomous Databaseで指定された推奨事項を適用します。
構文
DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION
( RECOMMENDATION_ID IN RAW,
TABLE_OWNER IN VARCHAR2 DEFAULT NULL,
TABLE_NAME IN VARCHAR2 DEFAULT NULL);
パラメータ
パラメータ | 摘要 |
---|---|
|
|
|
1つの推奨IDに複数の表に対する推奨事項がある場合、このオプション・パラメータを使用すると、パーティション化する表を制御できます。
|
使用上のノート:
AUTO_PARTITION_MODE
に関係なく、RECOMMENDATION_ID
に関連付けられた受け入れられる推奨事項がないか、RECOMMENDATION_ID
に関連付けられたすべての受け入れられる推奨事項がすでに適用されている場合、このプロシージャはORA-20000: recommendation_id was not found
を呼び出します。最初のケースは、RECOMMENDATION_ID
がAUTO_PARTITION_MODE = OFF
で生成された場合に適用されます。2番目のケースは、RECOMMENDATION_ID
がAUTO_PARTITION_MODE = IMPLEMENT
で生成された場合に適用されます。
親トピック: DBMS_AUTO_PARTITIONパッケージ
REPORT_ACTIVITYファンクション
このファンクションは、Autonomous Databaseの特定の期間中に実行された自動パーティション化操作のレポートを返します。
構文
DBMS_AUTO_PARTITION.REPORT_ACTIVITY
( ACTIVITY_START IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
ACTIVITY_END IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
TYPE IN VARCHAR2 DEFAULT 'TEXT',
SECTION IN VARCHAR2 DEFAULT 'ALL',
LEVEL IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN CLOB;
パラメータ
パラメータ | 摘要 |
---|---|
|
開始時間の自動パーティション化操作では、レポートが使用されます。値を指定しない場合、または |
|
終了時間の自動パーティション化操作では、レポートが使用されます。値を指定しない場合、または |
|
次のいずれかの値を含むレポートの書式:
|
|
次のいずれかの値を持つ、レポートに含めるセクション:
|
|
次のいずれかの値を持つレポートに含める情報のレベル:
|
使用上のノート
戻り値: 推奨事項の適用後にデータベースで実行されるワークロードのパフォーマンス分析レポート。このレポートは、推奨事項とともに永続的に保存されません。
親トピック: DBMS_AUTO_PARTITIONパッケージ
REPORT_LAST_ACTIVITYファンクション
このファンクションは、Autonomous Databaseで実行された最新の自動パーティション化操作のレポートを返します。
構文
DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY
( TYPE IN VARCHAR2 DEFAULT 'TEXT',
SECTION IN VARCHAR2 DEFAULT 'ALL',
LEVEL IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN CLOB;
パラメータ
パラメータ | 摘要 |
---|---|
|
レポートの出力形式。詳細は、REPORT_ACTIVITYファンクションを参照してください。 |
|
レポートに含まれるセクションは、REPORT_ACTIVITYファンクションを参照してください。 |
|
レポートに含まれる情報のレベルは、REPORT_ACTIVITYファンクションを参照してください。 |
使用上のノート
戻り値: 最新の推奨の適用後にデータベースで実行されたワークロードのパフォーマンス分析レポート。このレポートは、推奨事項とともに永続的に保存されません。
親トピック: DBMS_AUTO_PARTITIONパッケージ