Error ORA-01000: Maximum Open Cursors Exceeded on Siebel Object Manager or CommOutboundMgr log files when using Email Response view. (Doc ID 1488631.1)

Last updated on MARCH 02, 2017

Applies to:

Siebel Email Response - Version 8.1.1.1 SIA [21211] to 8.1.1.7 SIA [21238] [Release V8]
Information in this document applies to any platform.

Symptoms

On Siebel 8.1.1.1 to 8.1.1.7 using Siebel Email Response functionality to reply to inbound email messages.

The following error can be observed on Siebel Application Object Manager log or Communication Outbound Manager component log file:

ObjMgrLog       Error   1       00046cf84f5c151b:0      2012-03-13 12:08:30     (oracon.cpp (3211)) SBL-DBC-00108: An error has occurred preparing a Sql statement.
Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DBC-00108)  ORA-01000: maximum open cursors exceeded

The issue can be observer when user go to Site Map> 'Communication' screen and in  'Communication List' (Inbound Item List View) user goes to 'Communication Detail - Response View' via Reply, Forward, Reply All, or Resume buttons and move around records in this detail view, the
opened cursor count keeps increasing. Leaving the screen doesn't free the  opened cursors. Sometimes we may see error 'ORA-01000: maximum open cursors exceeded' if the application is stay login overnight.

Following SQL can be used to check the open cursor count:

Siebel table owner id has to be used to login PL/SQL to use these SQLs.
1) If program name is known (like siebel.exe), use this SQL:
  select substr(a.sid,1,10) sid,
         substr(nvl(b.program,machine),1,20) program,
         count(*)
  from v$open_cursor a,
       v$session b
  where a.saddr=b.saddr and
        b.program like 'siebel.exe'
  group by substr(a.sid,1,10),
           substr(nvl(b.program,machine),1,20)
  order by 3 desc;
 
2) If login user name is known, following SQL can be used:
   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' and
          s.username like '<Siebel User Name>'
   order by 1 desc;

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms