오라클 ‘Open_cursors’ 매개변수 설정 방법 안내
소프트웨어: ArcSDE
요약 : ArcSDE 에서 오라클 ‘Open_cursors’ 매개변수 설정 방법을 확인합니다.
오라클 ‘Open_cursors’ 매개변수 설정
오라클 init.ora 매개변수 ‘OPEN_CURSORS’는 세션에서 한번에 가질 수 있는 open cursors의 최대 개수를 명시합니다.
Open cursor 매개 변수를 지정함으로써 세션에서 커서의 개수가 초과하는 것을 방지할 수 있습니다.
기본 값으로는 300을 가지며 cursors 개수를 초과해 새로운 cursors를 열려고 하는 경우에는 -1000 에러를 발생합니다.
응용프로그램에서 open cursors가 부족해지는 현상을 방지할 수 있기 때문에 OPEN_CUROSRS 값을 높게 설정하는 것이 중요합니다.
Curosr는 open_cursors가 충분한 값으로 설정된 경우에만 열리게 됩니다.
ArcSDE 세션이 연결 될 때 open_curosrs 매개변수의 값을 가져오고 cursor 값의 80%까지 유지하게 됩니다.
예를 들어 오라클 인스턴스의 open_cursors 매개변수를 300으로 설정하면 ArcSDE는 240개의 cursors만을 세션에서 유지합니다.
open_cursors 매개변수를 높게 설정해도 큰 문제가 없다고 오라클 문서에 언급되어 있으므로 관리자는 매개변수 값을 높게 설정하셔도 됩니다.
관리자가 잠재적인 cursors 개수를 계산하길 원하는 경우에는 다음 공식을 이용해 cursors의 개수를 구할 수 있습니다.
- 다양한SDE 데이터 관리 cursors(20) + 다양한 익명 PL/SQL blocks (20) + 공간 쿼리 – 레이어당 6 + 로그 파일 쿼리(11)와 멀티 버전된 테이블 편집시 사용되는 기타 쿼리 – 멀티 버전된 테이블 또는 레이어당 12
위의 공식을 이용해 ArcMap 응용프로그램에서 10개의 레이어로 작업시 231개의 cursors가 열리게 됩니다 (20 + 20 + 60 + 11 + 120 = 231).
Cursor의 개수가 자주 모자라는 경우에는 50, 100 단위로 매개변수를 증가시킵니다.
Note:
Oracle 10g 에서는 인스턴스에 대한 open cursor의 개수가 1,200을 초과하면 서버 경고를 발생시키도록 설정 되어 있습니다.
지오데이터베이스에서 1,200개의 open cursors는 드문 현상이 아니기 때문에 한계치를 증가 시켜 alert queue에서 관련 없는 경고를 제거할 수 있습니다.
오라클 인스턴스를 실행하고 있는 서버의 메모리 리소스가 각 오라클 프로세스에 충분하지 않을 때 관리자는 매개변수 값을 낮춰줘야 합니다.
더 자세한 내용은 http://support.esri.com/en/knowledgebase/techarticles/detail/27024
또는 http://resources.arcgis.com/en/help/main/10.1/index.html#//002n00000003000000 을 참조하세요