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 Verbindungen mit der Geodatabase erfordern (z. B. die Bearbeitung und Abfrage geometrischer Netzwerke) möglicherweise nicht ausgeführt werden.
Ab Geodatabases der Version 10.5.0.1.4 in Oracle ist die gespeicherte Prozedur sde.gdb_util.update_open_cursors in der Geodatabase vorhanden und Sie können mit den folgenden Schritten zum Synchronisieren der Einstellung "open_cursors" fortfahren:
- 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-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;
- Für Geodatabases in Oracle 12c können Sie 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 die Oracle-Einstellung "open_cursors" in Zukunft aktualisieren, führen Sie diese gespeicherte Prozedur erneut aus.