Par défaut, la géodatabase suppose un paramètre open_cursors Oracle égal à 300. La géodatabase n'a pas accès à la valeur open_cursors définie pour la base de données Oracle. Par conséquent, si vous définissez le paramètre open_cursors de votre base de données Oracle sur une valeur différente de 300, exécutez la procédure stockée sde.gdb_util.update_open_cursors pour synchroniser le paramètre open_cursors de la geodatabase avec celui de la base de données Oracle dans laquelle il se trouve.
Si vous ne synchronisez pas le paramètre open_cursors entre la base de données Oracle et la géodatabase, les activités qui nécessitent plusieurs connexions à la géodatabase (telles que la mise à jour et l'interrogation des réseaux géométriques) risquent d'échouer.
A partir des géodatabases de version 10.5.0.1.4 dans Oracle, la procédure stockée sde.gdb_util.update_open_cursors est présente dans la géodatabase et vous pouvez suivre ces étapes pour synchroniser le paramètre open_cursors :
- Connectez-vous à la géodatabase avec sys as sysdba à partir d'un client SQL.
- Si votre géodatabase se trouve dans une base de données Oracle 12c, vous devez accorder des privilèges à l'utilisateur sde pour exécuter la procédure stockée sde.gdb_util.update_open_cursors.
GRANT INHERIT PRIVILEGES ON USER SYS TO SDE;
- Exécutez la procédure stockée sde.gdb_util.update_open_cursors.
EXECUTE sde.gdb_util.update_open_cursors;
- Pour les géodatabases dans Oracle 12c, vous pouvez révoquer le privilège inherit que vous avez accordé à l'utilisateur sde à l'étape 2.
REVOKE INHERIT PRIVILEGES ON USER SYS FROM SDE;
Les paramètres open_cursors de la base de données et de la géodatabase sont maintenant synchronisés.
Si vous mettez à jour le paramètre open_cursors Oracle à l'avenir, réexécutez cette procédure stockée.