« Oracle10gR2如何删除误添加的空文件 | Blog首页 | MMNL进程与ORA-07445 ktsmg_get_threshold »
cursor_space_for_time参数在11.1.0.7中
作者:eygle | 【转载请注出处】|【云和恩墨 领先的zData数据库一体机 | zCloud PaaS云管平台 | SQM SQL审核平台 | ZDBM 数据库备份一体机】
链接:https://www.eygle.com/archives/2008/10/fast_cursor_reexecute.html
前几天我曾经提到,在10.2.0.5 and 11.1.0.7中,Oracle将会废弃cursor_space_for_time参数。链接:https://www.eygle.com/archives/2008/10/fast_cursor_reexecute.html
今天有了11.1.0.7环境,首先就来看看这个参数的变化:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
首先这个参数仍然存在,也继续可以设置:
SQL> alter system set cursor_space_for_time=true;
alter system set cursor_space_for_time=true
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set cursor_space_for_time=true scope=spfile;
System altered.
但是在下一次启动过程中,Oracle会提示你设置了废弃的参数:
SQL> startup force;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 523108352 bytes
Fixed Size 1314492 bytes
Variable Size 373293380 bytes
Database Buffers 142606336 bytes
Redo Buffers 5894144 bytes
Database mounted.
Database opened.
SQL> show parameter cursor
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing string EXACT
cursor_space_for_time boolean TRUE
open_cursors integer 300
session_cached_cursors integer 50
检查告警日志,可以发现如下信息,有问题的参数被清晰列举出来:
Deprecated system parameters with specified values:
cursor_space_for_time
End of deprecated system parameter listing
Mon Oct 20 12:26:15 2008
PMON started with pid=2, OS id=32638
cursor_space_for_time参数缺省值为FALSE:
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
2 FROM SYS.x$ksppi x, SYS.x$ksppcv y
3 WHERE x.indx = y.indx
4 AND x.ksppinm LIKE '%&par%'
5 /
Enter value for par: cursor_space
old 4: AND x.ksppinm LIKE '%&par%'
new 4: AND x.ksppinm LIKE '%cursor_space%'
NAME VALUE DESCRIB
------------------------------ -------------------- ------------------------------------------------------------
cursor_space_for_time FALSE use more memory in order to get faster execution
替代这个参数的另外一个参数是_fast_cursor_reexecute,如果想要得到之前类似cursor_space_for_time参数的功能,可以使用这个新的隐含参数:
SQL> /
Enter value for par: fast_cursor_reexecute
old 4: AND x.ksppinm LIKE '%&par%'
new 4: AND x.ksppinm LIKE '%fast_cursor_reexecute%'
NAME VALUE DESCRIB
------------------------------ -------------------- ------------------------------------------------------------
_fast_cursor_reexecute FALSE use more memory in order to get faster execution
-The End-
历史上的今天...
>> 2018-10-21文章:
>> 2011-10-21文章:
>> 2010-10-21文章:
>> 2009-10-21文章:
>> 2007-10-21文章:
>> 2006-10-21文章:
By eygle on 2008-10-21 10:31 | Comments (3) | Oracle12c/11g | 2064 |
11g里还有一个更重要的参数 background_dump_dest也被设为过期参数了,被DIAGNOSTIC_DEST替换了
这不是挂羊头卖狗肉
看来执行次数太多的时候要设置这个参数了 _fast_cursor_reexecute
不知道这个参数和mutex机制冲突吗
这东西就是为了让少数人知道,逐渐退出历史舞台。
肯定和Mutex机制不会冲突,不过可能收益已经很小了,所以Oracle废掉了这个参数。