이번에 Production system에서 NullPointerException으로 API call이 failed 되는 이슈가 발생했다.
Review 하던 중에 Maximum Open Cursor도 함께 발생해서, 느낌은 Maximum Open Cursor 때문에 NullPointerException도 발생한 것 같은데 들어주는 사람이 없네.. -.-

어쨋든, 이슈는 이슈고, DBA 얘기로는 Cursor 개수 Count는 Session 단위라고 하니, 해당 이슈가 다시 발생할 개연성은 많이 줄은 듯 하다. ( 특히나 얼마전에 Upgrade 작업으로 DB Session들이 한 번 Restart 됐으니. )

그래도 일단은 Cursor Monitoring은 해야 할 듯 해서 Article을 찾아 보니 아래 Article이 괜찮아 보인다.

http://www.orafaq.com/node/758


현재 OPen Cursor 개수를 확인하는 Query

select a.value, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#  and s.sid=a.sid
and b.name = 'opened cursors current';


현재 최대 Open Cursor 개수와 Maximum Cursor Limitation Check

select max(a.value) as highest_open_cur, p.value as max_open_cur
from v$sesstat a, v$statname b, v$parameter p
where a.statistic# = b.statistic# 
and b.name = 'opened cursors current'
and p.name= 'open_cursors'
group by p.value;


Posted by headiron
,