2016-08-18 8 views
0

オンライン処理とバッチ処理が同時に行われる環境では、パラメータopen_cursorsを考案する方法はありますか?オープンカーソル導出ロジック

open_cursorパラメータのテスト環境を最適化できるようにしています。私はすでにOracle Performance Tuningのガイドをチェックしていますが、この番号に到達する方法を理解できません。

ロードランナーテストを実行すると、この番号を取得できますか?助けに必要な情報があれば教えてください。

答えて

1

実際に問題がありますか? open_cursorsは、1つのセッションで開くことができるカーソルの数に制限があります。これはシステム全体の制限ではありません。適切な値は負荷や他のセッションで何が起こっても影響を受けません。

デフォルト値は、適切に記述されたアプリケーションでは、ほとんどの場合常に十分です。長時間実行しているセッションとカーソルリークを持つアプリケーションを使用している場合は、カーソルリークを見つけて解決している間に問題が発生する前に、値を大きくすると実行時間が長くなる可能性がありますが、あなたのセッティングに関係します。ほとんどの場合、open_cursorsに関連するエラーが発生した場合、適切な解決策は、open_cursorsを変更するのではなく、カーソルが漏れているバグを見つけて修正することです。

+0

私たちには問題があります。問題は定期的にこの問題の原因となっている第三者専用システムにアクセスしていることです。技術的に私たちのコードを理解していないので、彼らの提案では、値を何度も変更しようとしました。その間、彼らは自分のコードを修正し、open_cursorsの価値を高める以外にいくつかのツール/方法論があります。これはこの問題をより良く分析するのに役立ちますか? –

+0

@ShashankVyas - 第三者がこのバグの原因となるコードを書いている場合、サードパーティはコードに1つ(またはそれ以上)のカーソルリークを持つことはほとんどありません。あなたがリークを修正できない場合、 'open_cursors'の値は十分ではありません。結局、悪いコードはあまりにも多くのカーソルハンドルをリークして失敗します。これを増やすと、リークが失敗するのに時間がかかります。 「受け入れがたいほど長い」失敗するまで、設定を倍にすることができます。または、リソースをリークする新しいセッションを取得するように、プロセスが定期的にリークしている間は、強力に再起動することができます。 –

関連する問題