2019.02.07
OPTIMIZER FEATURES ENABLE
目次
基本情報
パラメータ情報
Syntax : OPTIMIZER_FEATURES_ENABLE 設定方法 : ・Parameter File ・ALTER SYSTEM SET OPTIMIZER_FEATURES_ENABLE = “10.2.0.3” ・ALTER SESSION SET OPTIMIZER_FEATURES_ENABLE = “10.2.0.3”
バージョンとデフォルト 9iR2 : - 10gR1: - 10gR2: - 11g: -
説明
Optimizerをどのバージョンに基づいて動作させるかを決定します。
注意
Oracle UpgradeとOptimizer動作
OracleのVersionがUpgradeされるたびに、Optimizerの動作に大きな変化が生じます。ほとんどの場合、これは肯定的な方法で動作します。例えばOracle9iでBind Peekingアルゴリズムが追加されることで、より現実的な値に基づいて実行計画の作成が可能となりました。またはOracle10gのCost Based Subquery unnesting、View merging機能が追加されることでQuery Transformationがより現実的に行われるようになりました。
しかし、特定の状況では、このようなOptimizerの動作の変更が既存のクエリのパフォーマンスを遅くする場合が発生することがあります。このような場合には、個別にクエリを変更したり、関連する隠しパラメータを変更することにより解決可能です。万一、個々のクエリの修正が不可能または正確な原因を把握するのは難しい場合は、OPTIMIZER_FEATURES_ENABLEパラメータの値を以前のバージョンに戻すことにより、問題を解決することができます。例えば9.2.0.8を使用している環境では、何の問題もなかったクエリが10.2.0.3にアップグレードすることで、パフォーマンスの低下が発生した場合には、次のようにOptimizerの動作で、以前のバージョンに変換させることができます。
ALTER SYSTEM SET OPTIMIZER_FEATURES_ENABLE = "9.2.0.8";
ただし、この場合、新しいOptimizerが提供する機能を利用することができないという欠点があります。