contents.gifindex.gifprev1.gifnext1.gif

Oracle: Checking System Parameters

Acu4GL makes use of something called cursor caching to process Oracle RDBMS data efficiently. A cursor is a prepared query, saved in a parameterized format. When a like function is to be performed on a different record (such as a get next), the task can be performed by executing the saved query with new parameters. This improves performance by eliminating the need to regenerate the query. The number of cursors available to your COBOL application may need to be adjusted as described below.

Acu4GL cursor

Acu4GL allows you to specify the number of cursors available to your application by setting the configuration variable MAX-CURSORS. The default (and the maximum) value is 100; you need not change it unless you need to save memory. If you do need to reduce MAX-CURSORS, set it to a value which is at least the number of files that your application will use.

Oracle cursors

You can set Oracle's initialization variable open_cursors to specify the maximum number of cursors available to any application using Oracle. Version 7.0 of Oracle has a default of 50. The Acu4GL interface handles all of the file processing of your COBOL application, and it uses seven extra cursors just for overhead functions. So open_cursors must be set to a number which is at least the total of MAX-CURSORS plus 7. (Note: Informix also uses cursors

Examples

If you use the default value of Acu4GL's MAX-CURSORS, Oracle's open_cursors must be modified as follows:

Default value of MAX-CURSORS: 100

Acu4GL internal overhead cursors: 7

You should set Oracle's open_cursors to: 107

If your application uses 23 files, and you want to minimize memory usage, you can do this:

Set MAX-CURSORS to: 23

Acu4GL internal overhead cursors: 7

Set Oracle's open_cursors to at least: 30

Setting the Parameters

In summary, what you need to do is:

* Set MAX-CURSORS to the number of cursors you want to have in addition to those required for Acu4GL overhead.

* Set the Oracle system parameter open_cursors to indicate the total number of cursors you want to have. To do this, look in Oracle's init.ora and initSID.ora, or any other database initialization files used at your site, and add or modify the line:

open_cursors = nnn

Make sure nnn is at least equal to the sum of Acu4GL's internal needs (7) and the value of MAX-CURSORS.

NOTE

Setting open_cursors should only be done by your System Administrator or Database Administrator, since it affects all applications using the database.