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 curseurs risquent d’échouer.
La procédure stockée sde.gdb_util.update_open_cursors est présente dans la géodatabase. Pour synchroniser le paramètre open_cursors à l’aide de la procédure stockée, procédez comme suit :
- 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 ou plus récente, 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;
- 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 à l’avenir vous mettez à jour le paramètre Oracle open_cursors dans la base de données, exécutez de nouveau cette procédure stockée pour mettre à jour le paramètre dans la géodatabase.