cache)領域に保存しています。Pool領域に存在し、次のようなクエリで確認することができます。lockを獲得しなければなりません。Cache領域を保護するロックです。Cacheでの競合が発生するのです。Cache領域で管理されているかどうかを確認することができます。Object(以下RCO)は、個々のディクショナリオブジェクトを意味します。一つのシーケンスAがあるとましょう。シーケンスAは、物理的にSYSTEM表領域のSYS.SEQ$テーブルに格納されています。Cache領域に読み込み、この過程で、シーケンスAに対応するRCOが生成されます。Cacheという名前が付けられました。lockを獲得しなければならないのです。lockをSRX(5)モードで獲得しなければなりません。lockを排他的(X)モードで獲得しなければならないのです。list)を介してブロックメカニズムを実装します。listが存在し、この二つのリストを使用してブロッキングメカニズムを実装します。enqueueと呼ぶのですが、これは意味を正確に伝達するために使用される用語であるだけでTXロックのようにEnqueue構造を使用しないという点に注意してください。cacheでの競合の分析が可能となります。cache全体(種類)の活動性に関する統計情報を提供します。objectの活動性を把握することができます。lock待機イベントの一つ不便な点は、実際のオブジェクトの情報ではなく、オブジェクトの種類の情報だけを提供するものであることです。objectが問題になるのかを把握するのは難しいことなのです。cacheダンプを使用すると、実際のオブジェクトに関する情報まで得ることができます。lockを獲得しなければなりません。lockイベントを待機します。lock待機イベントのパラメータの定義は、以下の通りです。キャッシュの種類を意味します。キャッシュの種類を得ることができます。dc_tablespaces、dc_sequencesと同じ値を持ちます。lockを獲得したモードを意味します。一般的なロックモード値定義と一致します。5はSRXモードでは、6は、Xモードを意味します。lockを要求されたモードを意味します。モード値の意味はP2と同様です。待機時間3秒間待機します。LOCK」とエラーメッセージを記録した後、終了します。lockの競合が最も頻繁に発生する場合は、NOCACHE属性のシーケンスです。lockをSRX(5)モードで獲得しなければなりません。SRXモード間での互換性がない。lockイベントの待機が広範囲に発生し、P2の値は「5」で観察されるのです。lock待機現象を監視したものでP3(request)の値が「5」の値を示すことを確認することができます。lockが発生した場合、複数のセッションで同時に使用されるシーケンスは、キャッシュのサイズを大きくしてくれることが望ましい事になります。1000程度のキャッシュサイズをデフォルトとして使用しますが、必要であれば、10,000以上の大きな値を付与してもよいのです。lock競合が生じる危険性が常に存在します。lock競合現象は明確なチューニング方法がないのが現状です。適切なシステムのチューニングを介して同時実行を減らすことが最善の方法となります。lockの競合を観察するための最も簡単な方法は、待機イベントを利用するものである。待機イベントだけではロックホルダーセッションと待機セッションの間の競合関係を把握するのが難しい。ROWCACHE_PARENTビューを利用すれば、これらの競合関係を把握することができる。ROWCACHE_PARENTビューの重要な列の意味を調べてみよう。:キャッシュの種類を表します。ROWCACHE.CACHE#カラムの意味です。:キャッシュの種類を表します。ROWCACHE.PARAMETERカラムの意味です。lockを獲得したモードです。1〜6の間の値を持ちます。lock待機イベントのP2と同じ意味です。lockを要求されたモードです。1〜6の間の角度を持つ。lock待機イベントのP3と同じ意味である。:このRCOを、現在使用中のセッションのアドレス。lockを獲得したか、要求しているということを意味する。SESSION.SADDRカラムと結合可能である。ROWCACHE_PARNETビューを介して観察する例である。lockを獲得するために待機しています。キャッシュの種類はすべてのシーケンス(dc_sequences)です。lockのホルダーセッション/スタンバイセッションの関係を明確に把握することができます。NOCACHE属性のシーケンスを生成します。IDを取得し、これを16進数に変換する。cacheダンプ内でシーケンスの情報を参照することができます。cacheをダンプします。Cacheダンプファイルの内容は、次のとおりです。2d2d2d2d上記のダンプファイルから意味のある情報は、以下の通りです。objectのメモリアドレスです。ROWCACHE_PARENTビューと結合することができます。ROWCACHE.CACHE#と結合することができます。lockを保有しているプロセスのリストです。lockを待機しているプロセスのリストです。data:最初の16進数が1a56eでSEQ_SEQのobject_idの16進数の値と同一であることを知ることができます。lockがどのように獲得されるかを観察してみましょう。以下のように10000回の間seq_seq.nextvalを呼び出します。lockを獲得することを知ることができます。Exclusiveモードでロックを獲得することです。lockを獲得することになります。objectsイベントの待機が周期的に発生しました。objectsイベントの発生状況を照会てみます。objectsイベントを待機しており、SQL文がすべて大文字でテーブル名に””(二重引用符)がされていることを見てリモートで実行されたクエリであることを知ることができます。SESSIONビューを照会して、latchのaddressを確認することができます。objectsを待機するセッションは同じラッチaddressを持っていることをP1RAWカラムを介して知ることができます。lockイベントを待機するセッションも確認することができます。objectsイベントを待機するセッションが実行されたSQLが同一です。id=16回であることを知ることができます。ROWCACHEビューを介して照会すると、結果は次の通りです。cacheの使用回数(USAGE)とリクエストすることができ(GETS)は、要求が失敗することができ(GETMISSES)が高くなっています。meta情報を提供するため、大気や競合が発生しないことがいいので、dc_histogram_defsディクショナリオブジェクトについての任意の部分で使用されるオブジェクトであることを確認しなければなりません。poolの負荷が発生する不具合があります。(Oracleの8バージョンまで存在していました。このような状況を考慮して10gにも再発されていないことを、Oracleにお問い合わせすることが望ましいものと考えます。Page本サイトに掲載されている情報は日本エクセム株式会社が提供しています。