데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

지영아빠

쿼리문은 단순한 insert문입니다.

 

oracle에서 10000 에러는 커서가 많이 열릴때 나는 에러입니다.

 

* sys 권한이 있다면 open cursor의 수를 확인하고 조정을 해주시면 됩니다. 

 

$ show parameter open_cursors;

==> 여기 value값을 아래 쿼리의 count 조건으로 줌

 

# sid, process, machine등에서 열린 커서 조회

$ select

a.sid, s.process, s.machine, s.module, s.action, count(*) as cnt

from

V$OPEN_CURSOR a

inner join V$SESSION s

on s.sid = a.sid

group by a.sid, s.process, s.machine, s.module, s.action

having count(*) > .....open_cursors_value....;


 

# 위쿼리의 sid로 쿼리를 확인해봄

$ select sql_id, sql_text from V$OPEN_CURSOR where sid = 위 쿼리에서 확인하고 싶은 sid;


 

확인을 다 마치고 쿼리를 변경하시거나 system변수를 조정하면 됩니다.

시스템 변수 조정

$ alter system set open_cursors = 적절한값 scope=both;






XE Login