DBMS_AUTO_PARTITIONパッケージ
DBMS_AUTO_PARTITIONパッケージは、スキーマおよび表の自動パーティション化を管理するための管理ルーチンを提供します。
CONFIGUREプロシージャ
この手順では、Autonomous AI Databaseでの自動パーティション化の設定を構成します。
構文
DBMS_AUTO_PARTITION.CONFIGURE (
PARAMETER_NAME IN VARCHAR2,
PARAMETER_VALUE IN VARCHAR2,
ALLOW IN BOOLEAN DEFAULT TRUE);パラメータ
| パラメータ | 摘要 |
|---|---|
PARAMETER_NAME |
更新する自動パーティション化構成パラメータの名前。次のいずれかの値を指定できます。
最初は、両方のリストが空であり、データベース内のすべてのスキーマで自動パーティション化を使用できます。包含リストに1つ以上のスキーマが含まれている場合、包含リストにリストされているスキーマのみが自動パーティション化を使用できます。包含リストが空で、除外リストに1つ以上のスキーマが含まれている場合、除外リストにリストされているスキーマを除くすべてのスキーマで自動パーティション化が使用されます。両方のリストに1つ以上のスキーマが含まれている場合、除外リストにリストされているスキーマを除くすべてのスキーマで自動パーティション化が使用されます。
最初は、両方のリストが空であり、データベース内のすべての表で自動パーティション化を使用できます。包含リストに1つ以上の表が含まれている場合、自動パーティション化を使用できるのは、包含リストにリストされている表のみです。包含リストが空で、除外リストに1つ以上の表が含まれている場合、すべての表では、除外リストにリストされている表を除き、自動パーティション化が使用されます。両方のリストに1つ以上の表が含まれている場合、除外リストにリストされている表を除き、すべての表で自動パーティション化が使用されます。表がどちらのリストにもない場合、スキーマの包含リストおよび除外リストによって、表が自動パーティション化の候補表かどうかが決定されます。スキーマ・レベル・リストと表レベル・リストの間に競合がある場合は、表レベル・リストが優先されます。 包含リストおよび除外リストからすべての表を削除するには、次を実行します。
|
PARAMETER_VALUE |
parameter_nameで指定した構成設定の値。NULLに設定すると、構成設定にデフォルト値が割り当てられます。 |
ALLOW |
次のいずれかの値を持つ
AUTO_PARTITION_SCHEMAおよびAUTO_PARTITION_TABLE構成設定の説明を参照してください。 |
使用上のノート
- 次のSQLを使用して、自動パーティション化構成の現在の設定を確認できます。
SELECT * FROM DBA_AUTO_PARTITION_CONFIG;- 自動索引付けとは異なり、自動パーティション化がバックグラウンド・タスクとして定期的に実行されることはありません。自動パーティション化が実行されるのは、
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHODファンクションを使用して起動した場合のみです。
VALIDATE_CANDIDATE_TABLEファンクション
この関数は、指定された表がAutonomous AI 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;パラメータ
| パラメータ | 摘要 |
|---|---|
SQLSET_OWNER, SQLSET_NAME |
評価するワークロードを表すSQLチューン・セットの名前。 |
TABLE_OWNER, TABLE_NAME |
自動パーティション化の候補として検証する表の名前。 |
使用上のノート
- たとえば、次のSQLを使用して、サンプル表
TESTのLINEORDERの有効性をチェックできます。
SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE
( TABLE_OWNER => 'TEST',
TABLE_NAME => 'LINEORDER')
FROM DUAL;RECOMMEND_PARTITION_METHODファンクション
このファンクションは、APPLY_RECOMMENDATIONプロシージャとともに使用して推奨事項を適用できる推奨事項IDを戻すか、またはDBA_AUTO_PARTITION_RECOMMENDATIONSビューとともに使用してAutonomous AI 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;パラメータ
| パラメータ | 摘要 |
|---|---|
SQLSET_OWNER, SQLSET_NAME |
評価するワークロードを表すSQLチューン・セットの名前。 |
TABLE_OWNER, TABLE_NAME |
自動パーティション化の候補として検証する表の名前。 |
TIME_LIMIT |
ファンクションが推奨を生成する表を選択する場合、TABLE_OWNERおよびTABLE_NAMEはNULL)、パラメータにより、パーティション化する新しい候補表の検索が停止するまでのファンクションの実行時間が制限されます。表の処理が開始されると、プロセスは終了しません。このファンクションは、このパラメータより長く実行されることが予想されます。NULLの場合、このパラメータは無視されます。デフォルトは1日です。 |
REPORT_TYPE |
推奨パーティション方法のレポートを生成するために使用されます。詳細は、「REPORT_ACTIVITYファンクション」を参照してください。 |
REPORT_SECTION |
推奨パーティション・メソッドの永続レポートの生成に使用されます。詳細は、「REPORT_ACTIVITYファンクション」を参照してください。 |
REPORT_LEVEL |
推奨パーティション方法のレポートを生成するために使用されます。詳細は、「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;APPLY_RECOMMENDATIONプロシージャ
この手順では、自律型AIデータベース内の指定された推奨事項を適用します。
構文
DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION
( RECOMMENDATION_ID IN RAW,
TABLE_OWNER IN VARCHAR2 DEFAULT NULL,
TABLE_NAME IN VARCHAR2 DEFAULT NULL);パラメータ
| パラメータ | 摘要 |
|---|---|
RECOMMENDATION_ID |
RECOMMEND_PARTITION_METHODファンクションから戻された推奨ID、またはDBA_AUTO_PARTITION_RECOMMENDATIONSビューから問い合せた推奨ID。 |
TABLE_OWNER, TABLE_NAME |
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で生成された場合に適用されます。
REPORT_ACTIVITYファンクション
このファンクションは、特定の期間中に自律型AIデータベースで実行された自動パーティション化操作のレポートを返します。
構文
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;パラメータ
| パラメータ | 摘要 |
|---|---|
ACTIVITY_START |
自動パーティション化操作の開始時間がレポートに使用されます。値が指定されていない場合、またはNULLを指定すると、実行された最後の自動パーティション化操作についてレポートが生成されます。 |
ACTIVITY_END |
レポートに自動パーティション化操作で使用される終了時間。値を指定しない場合、またはNULLを指定すると、実行された最後の自動パーティション化操作についてレポートが生成されます。 |
TYPE |
次のいずれかの値を含むレポートの書式:
|
SECTION |
次のいずれかの値を持つ、レポートに含めるセクション:
|
level |
次のいずれかの値を持つレポートに含める情報のレベル:
|
使用上のノート
戻り値: 推奨事項の適用後にデータベースで実行されるワークロードのパフォーマンス分析レポート。このレポートは、推奨事項とともに永続的に保存されません。
REPORT_LAST_ACTIVITYファンクション
このファンクションは、Autonomous AI Databaseで実行された最新の自動パーティション化操作のレポートを返します。
構文
DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY
( TYPE IN VARCHAR2 DEFAULT 'TEXT',
SECTION IN VARCHAR2 DEFAULT 'ALL',
LEVEL IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN CLOB;パラメータ
| パラメータ | 摘要 |
|---|---|
TYPE |
レポートの出力形式については、REPORT_ACTIVITYファンクションを参照してください。 |
SECTION |
レポートに含まれる各項は、「REPORT_ACTIVITYファンクション」を参照してください。 |
LEVEL |
レポートに含まれる情報のレベルについては、「REPORT_ACTIVITYファンクション」を参照してください。 |
使用上のノート
戻り値: 最新の推奨の適用後にデータベースで実行されたワークロードのパフォーマンス分析レポート。このレポートは、推奨事項とともに永続的に保存されません。