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
specifies the maximum number of open cursors (handles to private SQL areas) a session can have at once. You can use this parameter to prevent a session from opening an excessive number of cursors.
Property | Description |
---|---|
Parameter type |
Integer |
Default value |
|
Modifiable |
|
Modifiable in a PDB |
Yes |
Range of values |
0 to 65535 |
Basic |
Yes |
It is important to set the value of OPEN_CURSORS
high enough to prevent your application from running out of open cursors. The number will vary from one application to another. Assuming that a session does not open the number of cursors specified by OPEN_CURSORS
, there is no added overhead to setting this value higher than actually needed.
See Also:
-
Oracle Database
Performance Tuning Guide for more information on setting this parameter -
Your operating system-specific Oracle documentation for the range of values