Oracle 参数 OPEN_CURSORS
Oracle OPEN_CURSORS 参数是控制Oracle的数据库最大的游标数量,如果游标数量超出了 OPEN_CURSORS设定的值,则会出现ORA-01000: 错误消息:游标数过多。
如果 Oracle 用户正在执行联合查询的复杂操作,OPEN_CURSORS的值会很重要。
正确设置Oracle的OPEN_CURSORS参数需要考虑用户数量,SESSION数量,数据库会话之间共享游标的最小值,以及在应用程序中循环遍历游标所需要的操作。
最好根据实际使用情况来调整 OPEN_CURSORS 的大小,可以使用下面的 SQL 语句来查询当前 Oracle 实例中已用游标最大数量:
SELECT a.value “Max CURSOR” FROM v$parameter a WHERE a.name = 'open_cursors';
可以使用下面的 SQL 语句来设置Oracle OPEN_CURSORS参数: ALTER SYSTEM SET open_cursors = SCOPE=MEMORY
如果你想永久的设置 OPEN_CURSORS 参数的值,可以使用下面的 SQL 语句:
ALTER SYSTEM SET open_cursors = SCOPE=SPFILE
官方英文解释
OPEN_CURSORS 指定会话一次可以拥有的最大打开游标数(专用 SQL 区域的句柄)。您可以使用此参数来防止会话打开过多的游标。
[TD接口]
财产
|
描述
|
参数类型
|
整数
|
默认值
|
50
|
修改
|
ALTER 系统
|
可在 PDB 中修改
|
是的
|
取值范围
|
0 到 65535
|
基本
|
是的
|
请务必将 OPEN_CURSORS 的值设置得足够高,以防止应用程序用完打开的游标。该数字因应用程序而异。假设会话未打开OPEN_CURSORS指定的游标数,则将此值设置为高于实际需要的值不会增加开销。
- Oracle Database
Performance Tuning Guide,了解有关设置此参数的更多信息 - 特定于操作系统的 Oracle 文档,了解值范围