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

50

Modifiable

ALTER SYSTEM

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


数据运维技术 » Oracle 参数 OPEN_CURSORS 官方解释,作用,如何配置最优化建议