eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« Oracle10gR2如何删除误添加的空文件 | Blog首页 | MMNL进程与ORA-07445 ktsmg_get_threshold »

cursor_space_for_time参数在11.1.0.7中
modb.pro

前几天我曾经提到,在10.2.0.5 and 11.1.0.7中,Oracle将会废弃cursor_space_for_time参数。

今天有了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文章:
           成功升级Dopoda S1的ROM
    >> 2006-10-21文章:
           重新安装Lilina Rss聚合器

By eygle on 2008-10-21 10:31 | Comments (3) | Oracle12c/11g | 2064 |

3 Comments

11g里还有一个更重要的参数 background_dump_dest也被设为过期参数了,被DIAGNOSTIC_DEST替换了

这不是挂羊头卖狗肉

看来执行次数太多的时候要设置这个参数了 _fast_cursor_reexecute

不知道这个参数和mutex机制冲突吗

这东西就是为了让少数人知道,逐渐退出历史舞台。
肯定和Mutex机制不会冲突,不过可能收益已经很小了,所以Oracle废掉了这个参数。


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com