My Oracle Support Banner

10gまたは9iから11g/12cにアップグレードする場合のオプティマイザ統計の扱いについて (Doc ID 2401590.1)

Last updated on SEPTEMBER 28, 2020

適用範囲:

Oracle Database - Personal Edition - バージョン 10.1.0.2 から 12.1.0.2 [リリース 10.1 から 12.1]
Oracle Database - Enterprise Edition - バージョン 10.1.0.2 から 12.1.0.2 [リリース 10.1 から 12.1]
Oracle Database - Standard Edition - バージョン 10.1.0.2 から 12.1.0.2 [リリース 10.1 から 12.1]
この文書の内容はすべてのプラットフォームに適用されます。

このドキュメントは、Oracle Applications、Siebel、PSFT、その他のカスタム・アプリケーションでOracleデータベースを使用する場合にも適用されます。


本文書利用上のご注意
  本文書は英語の文書 <Document 465787.1> (最終メジャー更新日: 2018年8月4日) の日本語翻訳版です。
  英語の文書の最終メジャー更新日が新しい場合は本文書に適宜反映いたします。


目的

このドキュメントは、リリース9iまたは10gから11g/12cへのアップグレードを行う際の、既存のCBO統計の管理に関するガイダンスを提供することを目的としたものです。アップグレード前のリリースは9iまたは10g、アップグレード後のリリースは11gまたは12cをあらわします。

中核となる考え方は、アプリケーションのスキーマの統計を引き続き収集し、さらに非アプリケーション・オブジェクト(データ・ディクショナリ、固定オブジェクト、システム統計)のクリーンなベースラインを作成することです。

コストベース・オプティマイザ(CBO)は、統計を使用して実行計画を生成します。CBOの統計は次の4種類に分類できます : 

推奨される統計収集の方法はバージョンによって異なります。次のドキュメントを参照してください :

<Document 2031419.1> コストベース・オプティマイザのための統計情報の収集方法

方針 :

  1. アプリケーションのスキーマ・オブジェクトについては、アプリケーション固有の方法が提供されている場合はそれを使用してください。例えば

    Oracle EBSを使用している場合は、FND_STATSを使用します。
    SIEBELについては、<Document 2077227.2> Performance Tuning Guidelines for Siebel CRM Application on Oracle Database を参照してください。
    PEOPLESOFTについては、<Document 1322888.1> pscbo_stats - Improving Statistics in Oracle RDBMS for PeopleSoft Enterprise を参照してください。

    アプリケーション・ベンダーが提供する方法が存在しない場合や、自社開発のアプリケーションの場合は、はじめはアップグレード前のリリースと同じ設定で統計収集を行ってください。DBMS_STATSパッケージのデフォルト値の一部は、9i/10gと11gで異なるので、アップグレード前と同じ値で実行するためにはDBMS_STATS.SET_*_PREFSのプロシージャを使用しなければならない場合があります。特にestimate_percentとmethod_optに注意が必要です。

  2. データ・ディクショナリ・オブジェクトについては、ヒストグラムなしの完全な統計を一度収集してください。次のメジャー・アップグレードが行われるか、ワークロードが変化するまでは、再収集は行わないでください。(多くの新規ユーザーを追加したり、多くのオブジェクトの削除や作成を行ったり、新しい表領域のプラグインを行うなど)大幅なスキーマの変更を行った場合は、再収集を行ってください。ヒストグラムなしで収集する理由は、ディクショナリ・オブジェクトにアクセスするSQLの実行計画を安定させるためです。

  3. 固定オブジェクトについては、通常のシステム負荷がかかった後で一度収集してください。次のメジャー・アップグレードが行われるか、ワークロードが変化するまでは、再収集は行わないでください。データベースがハングすることを避けるために、固定オブジェクトの統計収集はシステムの稼働後やデータベースの負荷がさがったタイミングで行ってください。ただし、データベース・システムがまったく稼働していない状態の時には、固定オブジェクトの統計を収集しないようにしてください。

  4. システム統計については、通常のシステム負荷がかかっている状態で一度収集してください。システムの構成や負荷が大きくかわった場合にのみ、再収集を行ってください。例えば午前9時から収集を開始して、3時間後に停止するなど、通常のシステム負荷の状態で2-3時間かけて、作業負荷(WORKLOAD)統計を収集してください。

解決策

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
目的
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.