重庆思庄Oracle、Redhat认证学习论坛

标题: Oracle 参数 OPEN_CURSORS [打印本页]

作者: jiawang    时间: 2024-1-11 15:24
标题: 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.               
[td]
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、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2