Oracle E-Business Suiteメンテナンス・ガイド リリース12.2 E51768-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
Oracle E-Business Suiteリリース12では、SQL文に対する最も効率的な実行計画を選択するために、コスト・ベースの最適化を使用します。この方法を使用して、オプティマイザは、SQLでアクセスされるスキーマ・オブジェクトに関する統計に基づいて、使用可能なアクセス・パスのコストを計算し、情報を分析することによって、最適な実行計画を決定します。
Oracle E-Business Suiteでは、最適なパフォーマンスを確保するために、いくつかのデータベース初期化パラメータが正しく設定されている必要があります。My Oracle Supportナレッジ・ドキュメント396009.1を参照し、これに従ってパラメータを構成していることを確認してください。
問合せのオプティマイザによって最適な実行計画が作成されるには、データ・ディクショナリの統計が、表および索引の量とデータ分布を正確に反映している必要があります。このため、データベース統計は、定期的にリフレッシュされる必要があります。ただし、これは、統計を頻繁に収集する必要があるという意味ではありません。まもなく使用が開始されるシステムでは、通常、既存システムのデータ移行時に大量のデータが挿入されます。この場合、大量ロードによってデータ分布が大幅に変更される可能性があるため、統計はかなり頻繁にリフレッシュされる必要があります(たとえば、各主要ロード後)。システムが安定した状態になった後で、スキーマ/データベース・レベルの統計収集の頻度を、毎月1回などに削減する必要があります。ただし、一部の変化しやすい表の統計は、必要に応じた頻度で収集できます。
Oracle E-Business Suiteには、FND_STATSパッケージに、これらの統計の収集を容易にする一連のプロシージャが用意されています。FND_STATSでは、統計の収集にDBMS_STATSパッケージが使用されます。
統計を収集する場合は、次の操作を実行します。
FND_STATS、または「スキーマ統計の収集」および「表統計の収集」の各コンカレント・プログラムのみを使用します。
analyzeまたはdbms_statsコマンドを直接使用しないでください。これらのコマンドの直接使用はサポートされていないため、計画が最適ではなくなります。
GATHER_AUTOオプションを使用して増分的に収集します。
すべてのスキーマを10%で分析してから、特定のオブジェクトをx%で分析します。データに偏りがあるため、製品または表によってはサンプリング率を高くすると有効な場合があります。
Oracle Database 10g/11gの自動ジョブを無効にして統計を収集します。夜間や週次など、スキーマ全体またはデータベース全体で過度に統計を収集しないでください。
FND_STATSはDatabase 11g拡張統計をサポートしていることに注意してください。
NOWORKLOAD統計モードを使用することをお薦めします。WORKLOAD統計を使用すると、実行計画が不安定になるという問題が発生する場合があります。
FND_STATS.GATHER_SCHEMA_STATSでは、OPTIONSというパラメータが使用されます。このパラメータをGATHER AUTOに設定すると、FND_STATSによってこのオプションが使用され、統計を収集する必要がある表が変更しきいに基づいて自動的に判断されます。「変更しきい」は、modpercentを渡すことによってユーザーが調整できます。modpercentのデフォルトは10です。GATHER AUTOでは、すべての表に対して有効にする必要がある、表モニターと呼ばれる機能が使用されます。特定のスキーマまたはすべてのApplicationsスキーマに対するすべての表でモニターを有効化するために、ENABLE_SCHEMA_MONITORINGというプロシージャが用意されています。
Oracle Database 11g上のOracle E-Business Suiteは、FND_STATSパッケージ内の改善されたDBMS_STATS.AUTO_SAMPLE_SIZE機能をデフォルトで使用し、自動サンプリング統計収集の改善を図ります。
Oracle E-Business Suiteには、アプリケーション・データベース・オブジェクトの統計を収集するために、パッケージFND_STATSを使用するコンカレント・プログラムが用意されています。DBMS_STATSの詳細は、オラクル社が提供するPL/SQLパッケージのマニュアルを参照してください。
統計を収集および保守するために、次のコンカレント・プログラムを使用できます。
表統計の収集
バックアップ表統計
表統計の復元
スキーマ統計の収集
FND_STATS 履歴レコードのパージ
「表統計の収集」プログラムでは、指定した表の表統計が収集されます。このプログラムでは、オプションで、新規統計の収集前に、既存の統計をFND_STATTAB表にバックアップできます。backup_flagの値がBACKUPの場合は、FND_STATSによって、新規統計の収集前に、dbms_stats.export_table_statsを使用して旧統計がエクスポートされます。エクスポートされたデータは、FND_STATTAB表に格納されます。backup_flagの値がBACKUP以外の場合、旧表統計は保存されません。このプログラムでは、デフォルトで、表の索引統計も収集されます。このコンカレント・プログラムで使用されるプロシージャの詳細は、「GATHER_TABLE_STATSプロシージャ」を参照してください。
変数 | 説明 |
---|---|
所有者名 | 表の所有者。 |
表名 | 表の名称。 |
評価率 | サンプリング率。空白のままにすると、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
並列度 | 統計の収集に使用される並列度。指定されない場合は、parallel_max_serversとcpu_countの小さい方の値にデフォルト設定されます。 |
パーティション名 | パーティションの名称。 |
バックアップ・フラグ | バックアップ・フラグは、統計をバックアップするかどうかを示します。このフラグがBACKUPに設定されていると、統計がバックアップされます。 |
粒度 | 収集する統計の粒度(パーティション化されている表にのみ関係します)。有効な値は、次のとおりです。次の表に有効な値を示します。
|
履歴モード | このパラメータでは、作成される履歴レコードの量が制御されます。有効なモードは、LASTRUN、FULLおよびNONEです。デフォルトはLASTRUNです。それぞれのモードの説明は、「GATHER_TABLE_STATSプロシージャ」を参照してください。 |
依存カーソルの無効化 | このフラグは、分析対象の表に依存するカーソルが無効化されるかどうかを示します。このパラメータは、Oracle 9iリリース2(9.2.x)より前のデータベースを実行している場合は無視されます。 |
このコンカレント・プログラムでは、特定の表の現行統計がFND_STATTAB表にバックアップされます。このプログラムでは、デフォルトで、関連する索引および列の統計もバックアップされます。
通常STATIDと呼ばれる識別子をバックアップ統計と関連付けることができます。このSTATIDにより、「表統計の復元」コンカレント・プログラムを使用して、特定のバージョンの統計を復元できます。同じオブジェクトの統計を異なるSTATIDでバックアップできます。また、異なるSTATIDを割り当てることによって、同じオブジェクトの様々なバージョンの統計をバックアップすることもできます。
このコンカレント・プログラムで使用されるプロシージャの詳細は、
「BACKUP_TABLE_STATSプロシージャ」を参照してください。
変数 | 説明 |
---|---|
スキーマ名 | スキーマの名称。値ALLは、すべてのOracle E-Business Suiteスキーマを表します。 |
表名 | 表の名称。 |
統計ID | FND_STATTAB内の統計と関連付けるためのオプションの識別子。デフォルトのSTATIDはBACKUPです。 |
パーティション名 | 表パーティションの名称。表がパーティション化されていて、パーティション名がNULLの場合は、グローバル表およびパーティション表の統計がエクスポートされます。 |
このコンカレント・プログラムを使用することにより、通常STATIDと呼ばれる特定の統計識別子について、以前にバックアップされた表統計を復元できます。
指定した表に関連付けられているすべての索引および列の統計も復元されます。
このコンカレント・プログラムで使用されるプロシージャの詳細は、
「RESTORE_TABLE_STATSプロシージ」を参照してください。ャ
変数 | 説明 |
---|---|
スキーマ名 | スキーマの名称。値ALLは、すべてのOracle E-Business Suiteスキーマを表します。 |
表名 | 表の名称。 |
統計ID | FND_STATTAB内の統計と関連付けるためのオプションの識別子。デフォルトのSTATIDはBACKUPです。 |
パーティション名 | 表パーティションの名称。表がパーティション化されていて、パーティション名がNULLの場合は、グローバル表およびパーティション表の統計がインポートされます。 |
このコンカレント・プログラムでは、指定したスキーマ・レベルの統計が収集されます。
統計の収集前に、このプログラムでは、バックアップ・フラグの値によって、現行統計のバックアップも作成できます。なんらかの理由で、以前の統計を復元する必要がある場合は、「スキーマ統計の復元」コンカレント・プログラムを使用して復元できます。このバックアップに使用されるSTATIDはNULLです。
このプログラムでは、FND_HISTOGRAM_COLS表にシードされている列のヒストグラムも作成されます。
このコンカレント・プログラムで使用されるプロシージャの詳細は、「GATHER_SCHEMA_STATSプロシージャ」を参照してください。
変数 | 説明 |
---|---|
スキーマ名 | 統計が収集されるスキーマ。すべてのOracle E-Business Suiteスキーマ(FND_PRODUCT_INSTALLATIONS表にエントリがあるすべてのスキーマ)を対象とする場合は、ALLを指定します。 |
パーセント | サンプリング率。空白のままにすると、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
並列度 | 統計の収集に使用される並列度。指定されない場合は、parallel_max_serversとcpu_countの小さい方の値にデフォルト設定されます。 |
バックアップ・フラグ | バックアップ・フラグは、統計をバックアップするかどうかを示します。現行統計をFND_STATTAB表にバックアップする場合は、このフラグをBACKUPに設定します。NOBACKUPを使用すると、GATHER_SCHEMA_STATSプロシージャによる現行統計のバックアップは行われません。この方法では、GATHER_SCHEMA_STATSプロシージャの実行速度が上がります。 |
要求IDの再起動 | 「スキーマ統計の収集」の実行がなんらかの理由で失敗した場合に、失敗した実行のコンカレントrequest_idを指定すると、コンカレント要求を再発行でき、失敗した実行が中断した箇所が抽出されます。 |
履歴モード | このパラメータでは、作成される履歴レコードの量が制御されます。履歴レコードはFND_STATS_HISTに格納され、問い合せると、特定のオブジェクトの統計の収集時期、およびそのオブジェクトの統計収集に要した時間がわかります。
|
収集オプション | このパラメータでは、統計収集の対象となるオブジェクトの選択方法が指定されます。
|
変更しきい | GATHER AUTOおよびLIST AUTOオプションにのみ適用可能です。このパラメータでは、AUTO統計収集用に抽出されるために、表で行われている必要がある(合計行に関する)変更の率が指定されます。 |
依存カーソルの無効化 | このフラグは、分析対象の表に依存するカーソルが無効化されるかどうかを示します。デフォルトでは、依存カーソルは無効化されています。このパラメータは、Oracle 9iリリース2(9.2.x)より前のデータベースを実行している場合は無視されます。 |
このコンカレント・プログラムは、列統計の収集、つまり特定の列のヒストグラムの作成に使用してください。
プロシージャによって、統計収集前にFND_STATTAB表にバックアップが作成されます。
このコンカレント・プログラムで使用されるプロシージャの詳細は、
「GATHER_COLUMN_STATSプロシージャ」を参照してください。
変数 | 説明 |
---|---|
表所有者 | 表の所有者。 |
表名 | 表の名称。 |
列名 | 列の名称。 |
評価率 | サンプリング率。空白のままにすると、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
並列度 | 統計の収集に使用される並列度。指定されない場合は、parallel_max_serversとcpu_countの小さい方の値にデフォルト設定されます。 |
バケット・サイズ | ヒストグラム・バケットの数。 |
バックアップ・フラグ | バックアップ・フラグは、統計をバックアップするかどうかを示します。現行の列統計をFND_STATTAB表にバックアップする場合は、このフラグをBACKUPに設定します。空白のままにすると、NOBACKUPにデフォルト設定されます。 |
このコンカレント・プロシージャは廃止されました。
このプログラムを実行すると、FND_STATS_HIST表から履歴レコードをパージできます。このプログラムは、「履歴モード」がFULLに設定されて統計が収集されている場合は、定期的に実行するようにスケジュールする必要があります。「履歴モード」をNONEまたはデフォルトのLASTRUNに設定して統計を収集している場合は、このプログラムを実行する必要はありません。
変数 | 説明 |
---|---|
パージ・モード | DATEまたはREQUESTのいずれかの値を指定できます。選択したモードがDATEの場合、履歴レコードは日付範囲に基づいてパージされます。REQUESTの場合、レコードは要求IDに基づいてパージされます。 |
値:自 | 開始日または要求ID。 |
値:至 | 終了日または要求ID。 |
FND_STATSパッケージでは、Oracle E-Business Suiteデータベース・オブジェクトに対する統計を収集するためのプロシージャが提供されます。また、現行の統計を表FND_STATTABにバックアップするプロシージャ、および必要に応じてそれらを復元するためのプロシージャも提供されます。このパッケージでは、ユーザーが並列度も指定できます。指定すると、大規模オブジェクトに対する統計収集の速度が上がります。FND_STATSでは、表FND_STATS_HISTでその処理の履歴も保守できます。この表のデータは、再開機能を提供するために使用されます。また、これを問い合せると、各オブジェクトの統計に要した時間がわかります。
FND_STATSは、実際の統計収集を実行するために、オラクル社が提供するパッケージDBMS_STATSに依存します。DBMS_STATSの詳細は、Oracleデータベースのチューニングおよび提供パッケージのリファレンス・マニュアルを参照してください。
このプロシージャでは、統計のバックアップに必要な表が作成されます。
このプロシージャには2つのバージョンがあります。1番目のバージョンは引数を必要とせず、FND製品に対応するスキーマ内にデフォルト名FND_STATTABで表が作成されます。2番目のバージョンでは、統計表に対するスキーマ名、表名および表領域を指定できます。
FND_STATS.CREATE_STAT_TABLE ;
FND_STATS.CREATE_STAT_TABLE (
schemaname IN VARCHAR2,
tabname IN VARCHAR2,
tblspcname IN VARCHAR2);
変数 | 説明 |
---|---|
schemaname | スキーマの名称。 |
tabname | 表の名称。 |
tblspcname | 統計表を作成する表領域。指定されない場合、表はユーザーのデフォルト表領域に作成されます。 |
このプロシージャでは、特定の表の統計がFND_STATTAB表にバックアップされます。cascadeをTRUEに設定すると、指定した表と関連付けられているすべての索引および列の統計も格納されます。通常STATIDと呼ばれる識別子をバックアップ統計と関連付けることができます。このSTATIDにより、RESTORE_TABLE_STATSプロシージャを使用して、特定のバージョンの統計を復元できます。
FND_STATS.BACKUP_TABLE_STATS (
schemaname VARCHAR2,
tabname VARCHAR2,
statid VARCHAR2 DEFAULT 'BACKUP',
partname VARCHAR2 DEFAULT NULL,
cascade BOOLEAN DEFAULT TRUE);
変数 | 説明 |
---|---|
schemaname | スキーマの名称。 |
tabname | 表の名称。 |
statid | FND_STATTAB内の統計と関連付けるためのオプションの識別子。 |
partname | 表パーティションの名称。表がパーティション化されていて、partnameがNULLの場合は、グローバル表およびパーティション表の統計がエクスポートされます。 |
cascade | TRUEの場合は、この表の列および索引の統計もエクスポートされます。 |
このプロシージャを使用すると、スキーマ全体の統計をバックアップできます。統計はFND_STATTAB表にバックアップされます。異なるstatidを指定すると、異なるバージョンを格納できます。通常STATIDと呼ばれる識別子をバックアップ統計と関連付けることができます。このSTATIDにより、RESTORE_SCHEMA_STATSプロシージャを使用して、特定のバージョンの統計を復元できます。
FND_STATS.BACKUP_SCHEMA_STATS (
schemaname VARCHAR2,
statid VARCHAR2 DEFAULT NULL);
変数 | 説明 |
---|---|
schemaname | スキーマの名称。ALLは、すべてのOracle E-Business Suiteスキーマを表します。 |
statid | FND_STATTAB内の統計と関連付けるためのオプションの識別子。 |
このプロシージャでは、以前にFND_STATTAB表にバックアップされた、特定のスキーマに対する統計がディクショナリに復元されます。同じオブジェクトに対する異なる統計のセットを区別するために、statidを指定できます。
FND_STATS.RESTORE_SCHEMA_STATS (
schemaname VARCHAR2,
statid VARCHAR2 DEFAULT NULL
);
変数 | 説明 |
---|---|
schemaname | スキーマの名称。ALLは、すべてのOracle E-Business Suiteスキーマを表します。 |
statid | FND_STATTAB内の統計と関連付けるためのオプションの識別子。 |
このプロシージャでは、特定のstatid(オプション)に対する特定の表の統計がFND_STATTAB表から復元され、ディクショナリに戻されます。cascadeをTRUEに設定すると、指定した表と関連付けられているすべての索引および列の統計もインポートされます。
FND_STATS.RESTORE_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
statid VARCHAR2 DEFAULT NULL,
partname VARCHAR2 DEFAULT NULL,
cascade BOOLEAN DEFAULT TRUE,
);
変数 | 説明 |
---|---|
ownname | スキーマの名称。 |
tabname | 表の名称。 |
statid | FND_STATTAB内の統計と関連付けるためのオプションの識別子。 |
partname | 表パーティションの名称。表がパーティション化されていて、partnameがNULLの場合は、グローバル表およびパーティション表の統計がエクスポートされます。 |
cascade | TRUEの場合は、この表の列および索引の統計もエクスポートされます。 |
このプロシージャでは、特定のstatid(オプション)に対する特定の列の統計がFND_STATTAB表から復元され、ディクショナリに戻されます。このプロシージャには2つのバージョンがあります。1番目のバージョンでは、表の所有者、表名および列名を指定する必要があります。2番目のバージョンでは、FND_HISTOGRAM_COLS表にシードされているすべての列に対する統計が復元されます。
FND_STATS.RESTORE_COLUMN_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
colname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
statid VARCHAR2 DEFAULT NULL
);
FND_STATS.RESTORE_COLUMN_STATS (
statid VARCHAR2 DEFAULT NULL
);
変数 | 説明 |
---|---|
ownname | スキーマの名称。 |
tabname | 表の名称。 |
colname | 列の名称。FND_STATTAB内の統計と関連付けるためのオプションの識別子。 |
partname | 表パーティションの名称。表がパーティション化されていて、partnameがNULLの場合は、グローバル表およびパーティション表の統計がエクスポートされます。 |
statid | FND_STATTAB内の統計と関連付けるためのオプションの識別子。 |
このプロシージャは、指定したスキーマのすべての表についてモニター・オプションを有効化するために使用してください。モニター・オプションは、GATHER_SCHEMA_STATSのGATHER AUTOまたはLIST AUTOオプションを使用する前に有効化する必要があります。schemaname引数の値がALLの場合、モニター・オプションは、Oracle E-Business Suiteに登録されているすべてのスキーマに属するすべての表に対して有効化されます。
FND_STATS.ENABLE_SCHEMA_MONITORING (
schemaname VARCHAR2 DEFAULT ‘ALL’);
変数 | 説明 |
---|---|
schemaname | モニターを有効化するスキーマの名称。 |
このプロシージャは、指定したスキーマのすべての表についてモニター・オプションを無効化するために使用してください。schemaname引数の値がALLの場合、モニター・オプションは、Oracle E-Business Suiteに登録されているすべてのスキーマに属するすべての表に対して無効化されます。
FND_STATS.DISABLE_SCHEMA_MONITORING (
schemaname VARCHAR2 DEFAULT ‘ALL’);
変数 | 説明 |
---|---|
schemaname | モニターを無効化するスキーマの名称。 |
このプロシージャでは、スキーマ内のすべてのオブジェクトに対する統計が収集されます。統計は、DEFAULTの粒度で収集されます。このプロシージャは、コンカレント・プログラム「スキーマ統計の収集」を介して使用することもできます。このプロシージャが操作中に失敗した場合、失敗した要求の要求IDを指定すると再開できます。要求IDは、プログラムの開始時にコンカレント・マネージャから取得するか、またはFND_STATS_HIST表から問い合せることができます。
GATHER_SCHEMA_STATSは、OUTパラメータがあるため、SQL*Plusで直接実行できません。sqlplusプロンプトからスキーマ統計を収集するために、プロシージャGATHER_SCHEMA_STATISTICSが提供されています。
FND_STATS.GATHER_SCHEMA_STATS (
schemaname VARCHAR2,
estimate_percent NUMBER DEFAULT NULL,
degree NUMBER DEFAULT NULL,
internal_flag NUMBER DEFAULT NULL,
Errors OUT Error_Out,
request_id NUMBER default null,
hmode VARCHAR2 default 'LASTRUN',
options in VARCHAR2 default 'GATHER',
modpercent NUMBER default 10,
invalidate VARCHAR2 default 'Y'
);
FND_STATS.GATHER_SCHEMA_STATISTICS (
schemaname VARCHAR2,
estimate_percent NUMBER DEFAULT NULL,
degree NUMBER DEFAULT NULL,
internal_flag NUMBER DEFAULT NULL,
request_id NUMBER DEFAULT NULL,
hmode VARCHAR2 DEFAULT 'LASTRUN',
options in VARCHAR2 DEFAULT 'GATHER',
modpercent NUMBER DEFAULT 10,
invalidate VARCHAR2 DEFAULT 'Y'
);
変数 | 説明 |
---|---|
schemaname | 分析するスキーマ。ALLは、すべてのOracle E-Business Suiteスキーマを表します。 |
estimate_percent | サンプリング率。値が指定されない場合は、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
degree | 統計の収集に使用される並列度。指定されない場合は、parallel_max_serversとcpu_countの小さい方の値にデフォルト設定されます。 |
internal_flag | バックアップ・フラグは、統計をバックアップするかどうかを示します。現行統計をFND_STATTAB表にバックアップする場合は、このフラグをBACKUPに設定します。NOBACKUPを使用すると、GATHER_SCHEMA_STATSプロシージャによる現行統計のバックアップは行われません。この方法では、GATHER_SCHEMA_STATSプロシージャの実行速度が上がります。 |
errors | エラー・メッセージを格納するためのユーザー定義のタイプ。 |
Request_id | request_idを指定すると、特定の統計収集実行に対する履歴レコードを識別できます。このパラメータは、再開機能を提供するためにも使用されます。統計収集がなんらかの理由で失敗した場合に、失敗した実行のrequest_idを指定すると、失敗した実行が中断した箇所をその次の実行で抽出できます。 |
Hmode | このパラメータでは、作成される履歴レコードの量が制御されます。履歴レコードはFND_STATS_HISTに格納され、問い合せると、特定のオブジェクトの統計の収集時期、およびそのオブジェクトの統計収集に要した時間がわかります。 LASTRUN: 各スキーマの履歴レコードは、最後の収集統計の実行に関してのみ保守されます。後続の各実行によって、オブジェクトに対する以前の履歴レコードは上書きされます。これがデフォルトの動作です。 FULL: このモードでは、履歴情報は上書きされません。履歴レコードは各実行ごとに作成され、要求IDによって識別されます。要求IDが指定されなかった場合は自動的に生成されます。このモードを使用する場合は、「FND_STATS 履歴レコードのパージ」コンカレント・プログラムを定期的に実行して、FND_STATS_HIST表をパージする必要があります。 NONE: このモードでは、履歴情報は生成されません。このモードを使用する場合、実行は再開できません。 |
Options | このパラメータでは、統計収集の対象となるオブジェクトの選択方法が指定されます。 GATHER - スキーマ<スキーマ名>のすべての表および索引が統計収集の対象として選択されます。これがデフォルトです。 GATHER AUTO - 変更率がmodpercentを超えたスキーマschemanameの表が統計収集の対象として選択されます。これらの表の索引はデフォルトで選択されます。このオプションを使用するには、表モニターが有効化されている必要があります。 GATHER EMPTY - 統計は、統計のない表および索引に対してのみ収集されます。 LIST AUTO - このオプションでは統計は収集されません。GATHER AUTOオプションを使用する場合に、統計収集の対象として選択されるすべての表のリストが提供されるのみです。 LIST EMPTY - このオプションでは統計は収集されません。GATHER EMPTYオプションを使用する場合に、統計収集の対象として選択されるすべての表のリストが提供されるのみです。 |
Modpercent | GATHER AUTOおよびLIST AUTOオプションにのみ適用可能です。このパラメータでは、AUTO統計収集用に抽出されるために、表で行われている必要がある(合計行に関する)変更の率が指定されます。 |
Invalidate | このフラグは、分析対象の表に依存するカーソルが無効化されるかどうかを示します。デフォルトでは、依存カーソルは無効化されています。このパラメータは、Oracle 9iリリース2(9.2.x)より前のデータベースを実行している場合は無視されます。 |
ORA-20000: Schema does not exist or insufficient privileges.
ORA-20001: Bad input value.
このプロシージャでは、指定した索引に対する統計が収集されます。
FND_STATS.GATHER_INDEX_STATS (
ownname VARCHAR2,
indname VARCHAR2,
percent NUMBER DEFAULT NULL,
partname VARCHAR2 DEFAULT NULL,
backup_flag VARCHAR2 DEFAULT NULL,
hmode VARCHAR2 DEFAULT 'LASTRUN',
invalidate VARCHAR2 DEFAULT 'Y'
);
変数 | 説明 |
---|---|
ownname | 分析する索引のスキーマ。 |
indname | 索引の名称。 |
percent | サンプリング率。空白のままにすると、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
partname | パーティション名。 |
backup_flag | バックアップ・フラグは、統計をバックアップするかどうかを示します。現行の列統計をFND_STATTAB表にバックアップする場合は、このフラグをBACKUPに設定します。空白のままにすると、NOBACKUPにデフォルト設定されます。 |
Hmode | このパラメータでは、作成される履歴レコードの量が制御されます。 LASTRUN: 各索引の履歴レコードは、最後の収集統計の実行に関してのみ保守されます。後続の各実行によって、オブジェクトに対する以前の履歴レコードは上書きされます。これがデフォルトの動作です。 FULL: このモードでは、履歴情報は上書きされません。履歴レコードは各実行ごとに作成され、要求IDによって識別されます。要求IDが指定されなかった場合は自動的に生成されます。このモードを使用する場合は、「FND_STATS 履歴レコードのパージ」コンカレント・プログラムを定期的に実行して、FND_STATS_HIST表をパージする必要があります。 NONE: このモードでは、履歴情報は生成されません。このモードを使用する場合、実行は再開できません。 |
Invalidate | このフラグは、分析対象の索引に依存するカーソルが無効化されるかどうかを示します。デフォルトでは、依存カーソルは無効化されています。 |
このプロシージャでは、表、列および索引の統計が収集されます。可能なかぎり多くの作業を並列化しようとします。分析対象の表に対する選択権限がユーザーにない場合、この操作は並列化されません。
FND_STATS.GATHER_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
percent NUMBER DEFAULT NULL,
degree NUMBER DEFAULT NULL,
partname VARCHAR2 DEFAULT NULL,
backup_flag VARCHAR2 DEFAULT NULL,
cascade BOOLEAN DEFAULT TRUE,
granularity VARCHAR2 DEFAULT ‘DEFAULT’,
hmode VARCHAR2 DEFAULT 'LASTRUN',
invalidate VARCHAR2 DEFAULT 'Y'
);
変数 | 説明 |
---|---|
ownname | 表の所有者。 |
tabname | 表の名称。 |
percent | サンプリング率。空白のままにすると、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
degree | 統計の収集に使用される並列度。指定されない場合は、parallel_max_serversとcpu_countの小さい方の値にデフォルト設定されます。 |
partname | パーティションの名称。 |
backup_flag | バックアップ・フラグは、統計をバックアップするかどうかを示します。現行の表統計をFND_STATTAB表にバックアップする場合は、このフラグをBACKUPに設定します。空白のままにすると、NOBACKUPにデフォルト設定されます。 |
cascade | TRUEに設定すると、指定した表の統計収集に加え、索引統計も収集されます。索引統計収集は並列化されません。このオプションの使用は、各表の索引についてGATHER_INDEX_STATSプロシージャを実行した場合と同じです。 |
granularity | 収集する統計の粒度(パーティション化されている表にのみ関係します)。有効な値は、次のとおりです。有効な値は、次のとおりです。 DEFAULT: グローバル・レベルおよびパーティション・レベルの統計が収集されます。 SUBPARTITION: サブパーティション・レベルの統計が収集されます。 PARTITION: パーティション・レベルの統計が収集されます。 GLOBAL: グローバル・レベルの統計が収集されます。 ALL: すべて(サブパーティション、パーティションおよびグローバル)の統計が収集されます。 |
Hmode | このパラメータでは、作成される履歴レコードの量が制御されます。 LASTRUN: 各索引の履歴レコードは、最後の収集統計の実行に関してのみ保守されます。後続の各実行によって、オブジェクトに対する以前の履歴レコードは上書きされます。これがデフォルトの動作です。 FULL: このモードでは、履歴情報は上書きされません。履歴レコードは各実行ごとに作成され、要求IDによって識別されます。要求IDが指定されなかった場合は自動的に生成されます。このモードを使用する場合は、「FND_STATS 履歴レコードのパージ」コンカレント・プログラムを定期的に実行して、FND_STATS_HIST表をパージする必要があります。 NONE: このモードでは、履歴情報は生成されません。このモードを使用する場合、実行は再開できません。 |
Invalidate | このフラグは、分析対象の索引に依存するカーソルが無効化されるかどうかを示します。デフォルトでは、依存カーソルは無効化されています。 |
このプロシージャは、列統計の収集、つまり特定の列のヒストグラムの作成に使用してください。
このプロシージャには2つのバージョンがあります。1番目のバージョンでは、特定のappl_idに対するFND_HISTOGRAM_COLSにシードされているすべての列に対する統計が収集されます。NULLの場合は、すべてのシード済ヒストグラムが作成されます。2番目のバージョンでは、指定した列の列統計が収集されます。
FND_STATS.GATHER_COLUMN_STATS (
appl_id NUMBER DEFAULT NULL,
percent NUMBER DEFAULT NULL,
degree NUMBER DEFAULT NULL,
backup_flag VARCHAR2 DEFAULT NULL,
Errors OUT Error_Out,
hmode VARCHAR2 DEFAULT 'LASTRUN',
invalidate VARCHAR2 DEFAULT 'Y'
);
FND_STATS.GATHER_COLUMN_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
colname VARCHAR2,
percent NUMBER DEFAULT NULL,
degree NUMBER DEFAULT NULL,
hsize NUMBER DEFAULT 254,
backup_flag VARCHAR2 DEFAULT NULL,
partname VARCHAR2 DEFAULT NULL,
hmode VARCHAR2 DEFAULT 'LASTRUN',
invalidate VARCHAR2 DEFAULT 'Y'
);
変数 | 説明 |
---|---|
appl_id | アプリケーションID。 |
ownname | 表の所有者。 |
colname | 列名。 |
tabname | 表名。 |
partname | パーティションの名称。 |
percent | サンプリング率。空白のままにすると、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
degree | 統計の収集に使用される並列度。指定されない場合は、parallel_max_serversとcpu_countの小さい方の値にデフォルト設定されます。 |
hsize | ヒストグラムのバケット数。 |
backup_flag | バックアップ・フラグは、統計をバックアップするかどうかを示します。現行の列統計をFND_STATTAB表にバックアップする場合は、このフラグをBACKUPに設定します。空白のままにすると、NOBACKUPにデフォルト設定されます。 |
errors | エラー・メッセージを格納するためのユーザー定義のタイプ。 |
hmode | このパラメータでは、作成される履歴レコードの量が制御されます。 LASTRUN: 各索引の履歴レコードは、最後の収集統計の実行に関してのみ保守されます。後続の各実行によって、オブジェクトに対する以前の履歴レコードは上書きされます。これがデフォルトの動作です。 FULL: このモードでは、履歴情報は上書きされません。履歴レコードは各実行ごとに作成され、要求IDによって識別されます。要求IDが指定されなかった場合は自動的に生成されます。このモードを使用する場合は、「FND_STATS 履歴レコードのパージ」コンカレント・プログラムを定期的に実行して、FND_STATS_HIST表をパージする必要があります。 NONE: このモードでは、履歴情報は生成されません。このモードを使用する場合、実行は再開できません。 |
Invalidate | このフラグは、分析対象の索引に依存するカーソルが無効化されるかどうかを示します。デフォルトでは、依存カーソルは無効化されています。 |
このプロシージャでは、指定したスキーマに属する列の統計が収集されます。つまり、FND_HISTOGRAM_COLSにシードされているすべての列に対するヒストグラムが作成されます。
FND_STATS.GATHER_ALL_COLUMN_STATS (
ownname VARCHAR2 ,
percent NUMBER DEFAULT NULL,
degree NUMBER DEFAULT NULL,
hmode VARCHAR2 DEFAULT 'LASTRUN',
invalidate VARCHAR2 DEFAULT 'Y'
);
変数 | 説明 |
---|---|
ownname | シード済ヒストグラムが作成されるスキーマ。ALLは、すべてのApplicationsスキーマを表します。 |
percent | サンプリング率。空白のままにすると、デフォルト値の10が使用されます。有効な範囲は0〜100です。 |
degree | 統計の収集に使用される並列度。指定されない場合は、parallel_max_serversとcpu_countの小さい方の値にデフォルト設定されます。 |
Hmode | このパラメータでは、作成される履歴レコードの量が制御されます。 LASTRUN: 各索引の履歴レコードは、最後の収集統計の実行に関してのみ保守されます。後続の各実行によって、オブジェクトに対する以前の履歴レコードは上書きされます。これがデフォルトの動作です。 FULL: このモードでは、履歴情報は上書きされません。履歴レコードは各実行ごとに作成され、要求IDによって識別されます。要求IDが指定されなかった場合は自動的に生成されます。このモードを使用する場合は、「FND_STATS 履歴レコードのパージ」コンカレント・プログラムを定期的に実行して、FND_STATS_HIST表をパージする必要があります。 NONE: このモードでは、履歴情報は生成されません。このモードを使用する場合、実行は再開できません。 |
Invalidate | このフラグは、分析対象の索引に依存するカーソルが無効化されるかどうかを示します。デフォルトでは、依存カーソルは無効化されています。 |
このプロシージャは廃止されました。
このプロシージャは廃止されました。
このプロシージャは、不要な履歴レコードをfnd_stats_hist表からパージするために使用してください。このプロシージャには2つのバージョンがあります。1番目のバージョンでは、要求IDの範囲が取得され、その範囲内のすべての履歴レコードが削除されます。2番目のバージョンでは、引数として日付の範囲が取得され、その範囲内のすべての履歴レコードが削除されます。削除は、自律型取引として実行されます。
FND_STATS.PURGE_STAT_HIST (
From_req_id NUMBER,
To_req_id NUMBER);
FND_STATS. PURGE_STAT_HIST(
Purge_from_date VARCHAR2,
Purge_to_date VARCHAR2);
変数 | 説明 |
---|---|
from_req_id | 開始要求ID。 |
to_req_id | 終了要求ID。 |
purge_from_date | 開始パージ日付。 |
purge_to_date | 終了パージ日付。 |
このプロシージャでは、カンマ区切り表の特定のリストについて、これらの表の一意でないすべての索引の重要なすべての列にあるデータがチェックされ、これらの列に対するヒストグラムを作成する必要があるかどうかが判断されます。このプロシージャのアルゴリズムは、次のとおりです。
select
decode(floor(sum(tot)/(max(cnt)*FACTOR)),0,'YES','NO') HIST
from (select count(col) cnt , count(*) tot
from tab sample (PERCENT)
where col is not null
group by col);
decode文によって、単一の値がサンプル率の1/FACTOR以上を占めるかどうかが判別されます。
sum(cnt)が非常に小さい場合(NULL以外の小さいサンプルの場合)、結果が不正確になる可能性があります。count(*)は3000以上に設定することをお薦めします。プロシージャは、サーバー出力の設定後にSQLプロンプトから実行されます。
FND_STATS.CHECK_HISTOGRAM_COLS (
tablelist VARCHAR2,
factor NUMBER DEFAULT 75,
percent NUMBER DEFAULT 10,
degree NUMBER DEFAULT NULL);
変数 | 説明 |
---|---|
tablelist | 表のカンマ区切りのリスト。schema.tablenameの形式であることが必要です。tablenameにワイルドカードも使用できます。たとえば、tablelist=>'oe.so%head% , pa.pa_exp% , ar.ra_customers'と指定できます。所有者の部分は必須です。 |
factor | ヒストグラムを計算するための係数。 |
percent | サンプル率。 |
degree | 並列度。 |
このプロシージャでは、カンマ区切りの表の特定のリストまたは特定のスキーマ名について、表、索引およびヒストグラムに対するデータ・ディクショナリ表内の統計をレポートします。
FND_STATS.VERIFY_STATS (
schemaname VARCHAR2 DEFAULT NULL,
tablelist VARCHAR2 DEFAULT NULL,
days_old NUMBER DEFAULT NULL,
column_stat BOOLEAN DEFAULT FALSE);
変数 | 説明 |
---|---|
schemaname | スキーマの名称。schemanameがNULL(デフォルト)の場合は、表の特定のリストについてレポートされます。 |
tablelist | 表のカンマ区切りのリスト。tablenameが<schema>.<tablename>の形式でない場合、スキーマは、schemanameパラメータの値です。tablelistがNULL(デフォルト)の場合は、指定したschemanameに対するすべての表についてレポートされます。 |
days_old | プロシージャによって、統計がdays_old日数より前の表のみがレポートされます。デフォルトはNULLで、この場合はすべての表についてレポートされます。 |
column_stat | TRUEの場合、export_table_stats表に対する列統計がレポートされます。デフォルトはFALSEです。 |
Copyright © 1994, 2013, Oracle and/or its affiliates. All rights reserved.