RAC環境順序(シーケンス)の非常に頻繁に使用します。そして、「DFSロックハンドル」のイベントが頻繁に発生するのを待ちます。 通常のアプローチはNOORDERある並べ替えオプションを使用せずにキャッシュ・シーケンスを高めることです。 。シーケンスのキャッシュ20、非ソートNOORDERを作成するデフォルトの 次の文の更新シーケンスキャッシュによって: ALTERシーケンスSEQ_NAMEキャッシュ200があり、 RAC およびシーケンス[ ID 853,652.1 ] 通過中: キャッシュ+注文はISに使用し、 RACは、IS有効(CLUSTER_DATABASE = )trueに、 そしてたくてセッションする NEXTVALザ・GET のシーケンスを必要とするためにGET 挿入する前に排他的インスタンスSVロックまたはシーケンスの更新値 で共有プールを。ときに複数のセッションがNEXTVALたいの同じシーケンスを、 その後、 いくつかのセッションが待機します上の 「DFSロックハンドル」 waitevent に等しいID1 に シーケンス番号。
================================================== ======================================
あなたはRAC環境で非常に頻繁にOracleのシーケンスを使用している場合は、
ほとんどの場合、あなたは 、ほとんどの時間指定イベントの一つが「DFSロックハンドル」であることがわかります。
一般的に、あなたは、より大きなキャッシュサイズを持つように順序を設定してあるNOORDERオプション、とすべきである デフォルト、
最高のパフォーマンスのために。
最悪の最高の組み合わせオプションのパフォーマンス:
- ORDERとNOCACHE
- NOORDERとNOCACHE
- ORDERとCACHE
- NORTHとCACHE
注意すべきいくつかのより多くの事
- ハイボリュームは、集中的な挿入 シーケンス生成されたキーを使用してアプリケーションを余分なオーバーヘッドを追加し
NOCACHEは、パフォーマンスのために最悪です - CACHE NOORDERは、パフォーマンスのために最善であります
- サービスは、インサート場合でも、CACHEのNOORDERシーケンスのパフォーマンスを向上させることがあり 、アプリケーションが唯一の優先インスタンスでサービスを使用しています。
- これは、CACHEのORDERを使用した場合、すべてのインスタンスの中から次の値を調整するために必要なインターコネクトのトラフィックと同期のオーバーヘッドを解消します