By default, the geodatabase assumes an Oracle open_cursors setting of 300. The geodatabase does not have access to the open_cursors value set for the Oracle database; therefore, if you set your Oracle database open_cursors parameter to a value other than 300, execute the sde.gdb_util.update_open_cursors stored procedure to synchronize the geodatabase's open_cursors setting with that of the Oracle database in which it resides.
Tip:
The sde.gdb_util.update_open_cursors stored procedure updates the open_cursors parameter stored in the master sde geodatabase repository and any user-schema geodatabases that are present in the Oracle database. Therefore, you do not need to run the procedure separately for user-schema geodatabases.
If you do not synchronize the open_cursors setting between the Oracle database and the geodatabase, activities that require multiple cursors could fail.
The sde.gdb_util.update_open_cursors stored procedure is present in the geodatabase. Follow these steps to synchronize the open_cursors setting using the stored procedure:
- Connect to the geodatabase using sys as sysdba from an SQL client.
- If your geodatabase is in an Oracle 12c or newer release database, you must grant privileges to the sde user to run the sde.gdb_util.update_open_cursors stored procedure.
GRANT INHERIT PRIVILEGES ON USER SYS TO SDE;
- Execute the sde.gdb_util.update_open_cursors stored procedure.
EXECUTE sde.gdb_util.update_open_cursors;
- You can revoke the inherit privilege you granted to the sde user in step 2.
REVOKE INHERIT PRIVILEGES ON USER SYS FROM SDE;
The database and geodatabase open_cursors settings are now synchronized.
If you update the Oracle open_cursors setting in the database in future, run this stored procedure again to update the setting in the geodatabase.