默认情况下,地理数据库假定 Oracle open_cursors 设置为 300。由于地理数据库无法访问对 Oracle 数据库设置的 open_cursors 值;因此,如果未将 Oracle 数据库 open_cursors 参数的值设置为 300,请执行 sde.gdb_util.update_open_cursors 存储过程来同步地理数据库及其所属 Oracle 数据库的 open_cursors 设置。
如果未同步 Oracle 数据库和地理数据库之间的 open_cursors 设置,则需要与地理数据库建立多个连接的活动(例如,编辑和查询几何网络)可能会失败。
自 Oracle 中 10.5.0.1.4 版本的地理数据库开始, sde.gdb_util.update_open_cursors 存储过程将位于地理数据库中,您可以执行以下步骤来同步 open_cursors 设置:
- 使用 sys 作为 sysdba 从 SQL 客户端连接到地理数据库。
- 如果您的地理数据库位于 Oracle 12c 数据库中,则必须向 sde 用户授予权限才能运行 sde.gdb_util.update_open_cursors 存储过程。
GRANT INHERIT PRIVILEGES ON USER SYS TO SDE;
- 执行 sde.gdb_util.update_open_cursors 存储过程。
EXECUTE sde.gdb_util.update_open_cursors;
- 对于 Oracle 12c 中的地理数据库,可以撤消在步骤 2 中授予 sde 用户的 inherit 权限。
REVOKE INHERIT PRIVILEGES ON USER SYS FROM SDE;
现在,数据库和地理数据库的 open_cursors 设置已同步。
如果将来更新 Oracle 的 open_cursors 设置,则请再次运行此存储过程。