Mettre à jour le paramètre open_cursors dans les géodatabases dans Oracle

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.

Astuce :

La procédure stockée sde.gdb_util.update_open_cursors met à jour le paramètre open_cursors stocké dans le référentiel de la géodatabase sde et dans les géodatabases de structure d’utilisateur qui sont présentes dans la base de données Oracle. Par conséquent, il n'est pas nécessaire d'exécuter la procédure séparément pour les géodatabases de structure utilisateur.

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 :

  1. Connectez-vous à la géodatabase avec sys as sysdba à partir d'un client SQL.
  2. 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;

  3. Exécutez la procédure stockée sde.gdb_util.update_open_cursors.

    EXECUTE sde.gdb_util.update_open_cursors;

  4. 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.