Cursors Remain Open (in V$OPEN_CURSOR View) after being Closed

(Doc ID 1020427.102)

Last updated on AUGUST 28, 2017

Applies to:

PL/SQL - Version 9.2.0.8 and later
Generic UNIX
***Checked for relevance on 28-Aug-2017***


Symptoms

You are executing a PL/SQL program running against an Oracle 9.2 server(or higher). Your program contains an explicit cursor LOOP, within which a cursor OPEN and a cursor CLOSE statement are performed. The CLOSE cursor is performed at the end of each iteration. When the program completes, however, you select against the V$OPEN_CURSOR view and see that the cursors are still 'OPEN'.

How can this happen when an explicit cursor CLOSE has been called? Can this lead to performance problems, especially if you exceed the maximum number of open cursors for your session?

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