CURSOR_SHARINGの設定値を変更する
--システムレベルの変更 ALTER SYSTEM SET cursor_sharing = EXACT; --セッションレベルの変更 ALTER SESSION SET cursor_sharing = EXACT;
CURSOR_SHARINGの値の意味
- FORCE
- リテラルが違い実行計画が変わっても、意味的には同じSQL文であれば、カーソルが共有されます。
- SIMILAR
- リテラルの違いが実行計画に影響しなければ、カーソルが共有されます。
- EXACT
- 完全に一致するSQL文のみ、カーソルが共有されます。
SIMILARは11gからは削除
SIMILARは11gからは削除されています。
リテラルをバインド変数化するための設定値として SIMILAR と FORCE があるという話を出しましたが、この SIMILAR というヤツはなかなかの曲者で、実際に Oracle 10g には存在していますが 11g からは削除(実際には、もうちょっと賢い設定値が追加)されています。
ヒストグラム統計と bind peek と CURSOR_SHARING について - 理系学生日記