Note: This statistic does not include implicit parsing that occurs when an application executes a statement whose shared SQL area is no longer in the library cache. For information on detecting implicit parsing, see the section "Examining Library Cache Activity" .
If the count value for the Parse step is near the count value for the Execute step for a statement, your application may be deliberately making a parse call each time it executes the statement. Try to reduce these parse calls through your application tool.
In general, an application that reuses private SQL areas for multiple SQL statements does not need as many private SQL areas as an application that does not reuse private SQL areas. However, an application that reuses private SQL areas must perform more parse calls because the application must make a new parse call whenever an existing private SQL is reused for a new SQL statement.
Be sure that your application can open enough private SQL areas to accommodate all of your SQL statements. If you allocate more private SQL areas, you may need to increase the limit on the number of cursors permitted for a session. You can increase this limit by increasing the value of the initialization parameter OPEN_CURSORS. The maximum value for this parameter depends on your operating system. The minimum value is 5.
The means by which you control parse calls and allocation and deallocation of private SQL areas varies depending on your Oracle application tool. The following sections introduce the means used for some tools. Note that these means apply only to private SQL areas and not to shared SQL areas.
Reducing Parse Calls with the Oracle Precompilers With the Oracle Precompilers, you control private SQL areas and parse calls with these options:
These options can be specified in two ways:
For information on these options, see the Programmer's Guide to the Oracle Precompilers.
Reducing Parse Calls with the Oracle Call Interfaces (OCIs) With the Oracle Call Interface (OCI), you have complete control over parse calls and private SQL areas with these OCI calls:
OSQL3 OPARSE | An OSQL3 or OPARSE call allocates a private SQL area for a SQL statement. |
OCLOSE | An OCLOSE call closes a cursor and deallocates the private SQL area of its associated statement. |
Reducing Parse Calls with Oracle Forms With Oracle Forms, you also have some control over whether your application reuses private SQL areas. You can exercise this control in three places: