超出打开游标的最大数的原因和解决方案【131101】
1. 检查数据库中的
OPEN_CURSORS
参数值。
Oracle
使用
init.ora
中的初始化参数
OPEN_CURSORS
指定一个会话一次最多可以
拥有的游标数。缺省值为
50
。要获得数据库中
OPEN_CURSORS
参数的值,可以使用
以下查询:
SQL> show parameter open_cursors;
SQL> alter system set open_cursors=1000;
系统已更改。
SQL> commit;
提交完成。
SQL> show parameter open_cursors;
重要的是将
OPEN_CURSORS
的值设置得足够大,
以避免应用程序用尽所有打开的游标。
应用程序不同,该值也不同。即便会话打开的游标数未达
OPEN_CURSORS
指定的数量
(即设置的值高于实际需要的值)
,也不会增加系统开销。