CONTEXT SIZE & CURSORS

   1. Context size 관련한 error message

      .ora-1046 :can't acquire space to extend context area.

      .ora-1050 :can't acquire space to open context area.

      .ora-1051 :maximum context area extents exceeded.

 

   2. Context size 무엇인가?

      (1) Cursor initial size이다 . , Cursor allocate 되는 user memory이다.

      (2) 이는 init.ora CONTEXT_SIZE 의해 결정된다.

      (3) Cursor 할당되는 additional space CONTEXT_INCR 의하며 50 extents 갖는다.

      (4) Recommended context size increment 4096 bytes(4K)이다.

      (5) SQL statement 수행 시마다 cursor open 되며, 같은 cursor reuse 되도록 design 되어 SQL*PLUS session 2-3 이상 open 되어지지 않는다.

          그러나 SQL*FORMS 여러 다른 task 수행하므로 많은 cursor open한다.  (100 or more)

      (6)Cursor hold 하는 item

         * the SQL statement

         * the parsed SQL statement

         * one row of the result

 

   3. ORA-1051 무엇이 문제인가?

      (1) cursor size 줄인다.

      (2) CONTEXT_SIZE, CONTEXT_INCR 늘린다.

 

   4.  OPEN_CURSORS 수를 줄이는 전략

      (1) Commit 자주한다.

      (2) Synonym이나 view 사용하지 않음으로써 implicit cursor 수를 줄인다.

      (3) SQL*FORMS 에서 select 문대신 #COPY 바꿔 사용한다.

      (4) SQL*FORMS 에서 large forms 여러 개의 작은 forms 나눈다.

      (5) ASAP, EXEC  SQL CLOSE C1; 수행한다.

      (6) HOLD_CURSOR=NO  & RELEASE_CURSOR=YES 사용한다.

사업자 정보 표시
(주)블루원 | 김홍태 | 서울특별시 용산구 원효로 4가 135 금홍 2빌딩 | 사업자 등록번호 : 106-86-76684 | TEL : 02-3272-7200 | Mail : support_ora@blueone.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

+ Recent posts