OPEN CURSORS
EXEM Knowledge Base
목차 |
[편집] 기본 정보
[편집] Parameter 정보
| Syntax | OPEN_CURSORS |
| 설정방법 |
|
| 버전 및 기본값 |
| 9iR2 | 10gR1 | 10gR2 | 11g |
|---|---|---|---|
| 50 | 50 | 50 | 50 |
[편집] 설명
하나의 Process가 Open 가능한 최대 Cursor 개수를 지정한다. 이 값은 Process가 필요로 하는 모든 Cursor를 Open할 수 있을 만큼 커야 하며, 지나치게 많은 Cursor가 Open됨으로써 불필요한 메모리를 사용하지 않을만큼 작아야 한다.
[편집] 참고 사항
[편집] 큰 크기의 OPEN_CURSORS 값과 Shared Pool Fragmentation
Oracle 10g 이전 버전에서는 PL/SQL 객체에 대한 Cache 공간이 OPEN_CURSORS 파라미터로 지정되었다. 이 때문에 특정 버전과 환경에서 지나치게 높은 OPEN_CURSORS 파라미터 값으로 인해 Shared Pool이 Fragmentation되는 현상이 보고되어 있다. 이 경우 ORA-4031 에러가 발생할 수 있다. 이런 현상이 발생할 경우에는 OPEN_CURSORS 파라미터의 값을 1000이하로 설정해야 한다.
Oracle 10g부터는 PL/SQL 객체에 대한 Cache가 SESSION_CACHED_CURSORS 파라미터로 지정된다. 따라서 이전과 같은 문제는 발생하지 않으며, 이전 버전에서와 같은 높은 OPEN_CURSORS 파라미터 값은 불필요하다.
[편집] 관련된 정보
- SESSION_CACHED_CURSORS 파라미터
- V$OPEN_CURSOR 뷰
- ORA-4031 에러