
DB FILE MULTIBLOCK READ COUNT - 日本エクセム株式会社 Oracleパラメータ
目次[非表示]
- 1.基本情報
- 1.1.Parameter情報
- 1.2.説明
- 2.注意
- 2.1.System StatisticsとMBRC
- 2.2.10gR2での変化
- 2.3.10gR2でのBug
- 3.関連情報
基本情報
Parameter情報
説明
Full Scan(Full Table Scan、Index Fast Full Scan)を実行する際、一度に読み込めるBlock数を決定します。Full Scanの性能を制御する目的で使用されます。
注意
System StatisticsとMBRC
Oracle 9iからWorkload System Statisticsを収集すると、OracleはV$SYSSTATビューとV $ FILESTATビューを利用して、実際のシステムで使用されるMBRC値を求めます。 System Statisticsによって求められたMBRC値はOptimizerがMulti Block I/Oのコストを計算するために使用されます。つまり、System Statisticsが正常に収集された場合には、これ以上のDB_FILE_MULTIBLOCK_READ_COUNTパラメータがOptimizerのコスト計算に考慮されません。ただし、実際のMulti Block I/Oを実行するときは、まだDB_FILE_MULTIBLOCK_READ_COUNTサイズだけ読み込みます。つまり、Optimizerが使用するMBRCと実際の実行時に使用されるMBRCが別に存在する事になります。
もしSystem Statisticsを収集しなければOracleはまだDB_FILE_MULTIBLOCK_READ_COUNTパラメータの値をMulti Block I/Oのコスト計算と実行の両方に使用します。ただし、Oracle 10gR2からDB_FILE_MULTIBLOCK_READ_COUNTパラメータが内部的には_DB_FILE_EXEC_READ_COUNT、_DB_FILE_OPTIMIZER_READ_COUNT、二つのパラメータで区別されて使用されます。
Oracleの基本的な勧告は、Workload System Statisticsを収集し、DB_FILE_MULTIBLOCK_READ_COUNTパラメータの値は、System I/Oパフォーマンスを考慮した最適の値を指定するように求めるものです。これにより、Optimizerのコストの計算に影響を与えることなく、十分に大きいMBRC値を指定することができます。
10gR2での変化
Oracle 10gR2でDB_FILE_MULTIBLOCK_READ_COUNTパラメータと関連し、以下のような変化が生じます。
10gR2でのBug
Oracle10gR2では、System LevelでDB_FILE_MULTIBLOCK_READ_COUNT値を変えてもSession Levelでの_DB_FILE_OPTIMIZER_READ_COUNT値が反映されません。ただし、_DB_FILE_EXEC_READ_COUNT値は反映されます。詳細については、以下のPostを参照してください。