ttCommitBufferStats
この組込みプロシージャは、コミット・バッファのオーバーフロー回数、およびトランザクション・コミット処理の間にトランザクション再利用レコードに使用された最大メモリー量を返します。
このプロシージャ・コールの結果によって提供される情報は、CommitBufferSizeMax接続属性またはALTER SESSION SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用してコミット・バッファの最大サイズを明示的に設定する場合に役立ちます。このプロシージャにより、オーバーフローの回数および再利用レコードによる最大メモリー使用量に基づいて、再利用バッファの正しいサイズを選択できるようになります。
バッファ・オーバーフローがある場合には、コミット・バッファの最大サイズを増やすことを検討します。バッファ・オーバーフローがなく、最大メモリー使用量がコミット・バッファの最大サイズを十分に下回っている場合には、コミット・バッファの最大サイズを減らすことを検討します。
コミット・バッファ・サイズの設定方法を含む再要求操作の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の「トランザクションの再要求操作」を参照してください。
必要な権限
このプロシージャには、権限は必要ありません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$COMMIT_BUFFER_STATSシステム表を問い合せます。
構文
ttCommitBufferStats()
パラメータ
ttCommitBufferStats
にパラメータはありません。
結果セット
ttCommitBufferStats
は次の結果を返します。
列 | 型 | 説明 |
---|---|---|
|
|
コミット・バッファ・オーバーフローの合計回数。 |
|
|
トランザクション・コミット・バッファに現在使用されている最大量(バイト)。 |
例
次の例は、コミット・バッファ・オーバーフローがなく、トランザクション・コミット・バッファが500MBに設定されているセッションの結果を示しています。
Command> ALTER SESSION SET COMMIT_BUFFER_SIZE_MAX = 500; Session altered. Command> CALL ttCommitBufferStats(); < 0, 524288000 > 1 row found
コミット・バッファ・オーバーフローが10回あり、トランザクション・コミット・バッファが2MBに設定されているセッションでは、このプロシージャの出力は次のようになります。
Command> ALTER SESSION SET COMMIT_BUFFER_SIZE_MAX = 2; Session altered. Command> CALL ttCommitBufferStats(); < 10, 2097152 > 1 row found
ノート:
組込みプロシージャttCommitBufferStatsReset
をコールすると、コミット・バッファ統計はバイトで表されます。ただし、ttConfigurationの出力および接続属性CommitBufferSizeMaxにより設定された値はMBで表されます。