Die Geodatabase setzt für die Einstellung "open_cursors" in Oracle standardmäßig den Wert 300 voraus. Die Geodatabase hat keinen Zugriff auf den für die Oracle-Datenbank festgelegten Wert "open_cursors". Wenn Sie den Parameter "open_cursors" der Oracle-Datenbank auf einen anderen Wert als 300 einstellen, müssen Sie daher die gespeicherte Prozedur sde.gdb_util.update_open_cursors ausführen, um die Einstellung "open_cursors" der Geodatabase mit der der Oracle-Datenbank zu synchronisieren, in der sie sich befindet.
Wenn Sie die Einstellung "open_cursors" nicht zwischen der Oracle-Datenbank und der Geodatabase synchronisieren, können Aktivitäten, die mehrere Cursor erfordern, möglicherweise nicht ausgeführt werden.
Die gespeicherte Prozedur sde.gdb_util.update_open_cursors ist in der Geodatabase vorhanden. Führen Sie die folgenden Schritte aus, um die Einstellung "open_cursors" mithilfe der gespeicherten Prozedur zu synchronisieren:
- Stellen Sie eine Verbindung mit der Geodatabase her, indem Sie "sys" als "sysdba" aus einem SQL-Client verwenden.
- Wenn es sich bei Ihrer Geodatabase um eine Oracle 12c- oder neuere Datenbank handelt, müssen Sie dem SDE-Benutzer Berechtigungen zum Ausführen der gespeicherten Prozedur sde.gdb_util.update_open_cursors gewähren.
GRANT INHERIT PRIVILEGES ON USER SYS TO SDE;
- Führen Sie die gespeicherte Prozedur sde.gdb_util.update_open_cursors aus.
EXECUTE sde.gdb_util.update_open_cursors;
- Sie können die Berechtigung inherit zurückziehen, die Sie dem SDE-Benutzer in Schritt 2 gewährt haben.
REVOKE INHERIT PRIVILEGES ON USER SYS FROM SDE;
Die Einstellung "open_cursors" der Datenbank und der Geodatabase sind nun synchronisiert.
Wenn Sie künftig die Oracle-Einstellung "open_cursors" in der Datenbank aktualisieren, führen Sie diese gespeicherte Prozedur erneut aus, um die Einstellung in der Geodatabase zu aktualisieren.