如果在shared_pool中keep cursor(sql)

原创 2004年07月12日 11:49:00
SQL> desc sys.dbms_shared_pool
PROCEDURE ABORTED_REQUEST_THRESHOLD
  Argument Name                  Type                    In/Out Default?
  ------------------------------ ----------------------- ------ --------
  THRESHOLD_SIZE                 NUMBER                  IN
PROCEDURE KEEP
  Argument Name                  Type                    In/Out Default?
  ------------------------------ ----------------------- ------ --------
  NAME                           VARCHAR2                IN
  FLAG                           CHAR                    IN     DEFAULT
PROCEDURE SIZES
  Argument Name                  Type                    In/Out Default?
  ------------------------------ ----------------------- ------ --------
  MINSIZE                        NUMBER                  IN
PROCEDURE UNKEEP
  Argument Name                  Type                    In/Out Default?
  ------------------------------ ----------------------- ------ --------
  NAME                           VARCHAR2                IN
  FLAG                           CHAR                    IN     DEFAULT
  
SQL>  
  
也就是说如果我们想要keep一个sql的话
我们可以查询 v$sqlarea  
查到 'address' and 'hash_value'  
  
然后执行 dbms_shared_pool.keep('0034CDFF, 20348871', 'C')
这样就把该 cursor keep 在内存中
   
  
  procedure keep(name varchar2, flag char DEFAULT 'P');
   --  Keep an object in the shared pool.  Once an object has been keeped in
   --    the shared pool, it is not subject to aging out of the pool.  This
   --    may be useful for certain semi-frequently used large objects since
   --    when large objects are brought into the shared pool, a larger
   --    number of other objects (much more than the size of the object
   --    being brought in, may need to be aged out in order to create a
   --    contiguous area large enough.
   --    WARNING:  This procedure may not be supported in the future when
   --    and if automatic mechanisms are implemented to make this
   --    unnecessary.
   --  Input arguments:
   --    name
   --      The name of the object to keep.  There are two kinds of objects:
   --      PL/SQL objects, triggers, sequences, types and Java objects,
   --      which are specified by name, and
   --      SQL cursor objects which are specified by a two-part number
   --      (indicating a location in the shared pool).  For example:
   --        dbms_shared_pool.keep('scott.hispackage')
   --      will keep package HISPACKAGE, owned by SCOTT.  The names for
   --      PL/SQL objects follows SQL rules for naming objects (i.e.,
   --      delimited identifiers, multi-byte names, etc. are allowed).
   --      A cursor can be keeped by
   --        dbms_shared_pool.keep('0034CDFF, 20348871', 'C')
   --      The complete hexadecimal address must be in the first 8 characters.
   --      The value for this identifier is the concatenation of the
   --      'address' and 'hash_value' columns from the v$sqlarea view.  This
   --      is displayed by the 'sizes' call above.
   --      Currently 'TABLE' and 'VIEW' objects may not be keeped.
   --    flag
   --      This is an optional parameter.  If the parameter is not specified,
   --        the package assumes that the first parameter is the name of a
   --        package/procedure/function and will resolve the name.  Otherwise,
   --        the parameter is a character string indicating what kind of object
   --        to keep the name identifies.  The string is case insensitive.
   --        The possible values and the kinds of objects they indicate are
   --        given in the following table:
   --        Value        Kind of Object to keep
   --        -----        ----------------------
   --        P          package/procedure/function
   --        Q          sequence
   --        R          trigger
   --        T          type
   --          JS         java source
   --          JC         java class
   --        JR         java resource
   --        JD         java shared data
   --        C          cursor
   --      If and only if the first argument is a cursor address and hash-value,
   --        the flag parameter should be set to 'C' (or 'c').
   --  Exceptions:
   --    An exception will raised if the named object cannot be found.

SQLServer游标(Cursor)简介和使用说明 及全局变量说明和功能

游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许...
  • zzy7075
  • zzy7075
  • 2015年01月02日 10:59
  • 7287

也谈下sqlite的rawQuery方法获取的Cursor流查询数据方法

因为对于cursor流不太熟悉,特别是在数据中查询一部分属性,而在网上也没找到相应的资料,因此我花时间研究了一下。以下是研究成果: public void getChatMsg(String fr...
  • nalanrumeng1113
  • nalanrumeng1113
  • 2016年10月04日 16:49
  • 1373

python中cursor操作数据库

坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。 我采用的是MySQLdb操作的MYSQL数...
  • tycoon1988
  • tycoon1988
  • 2014年10月24日 11:18
  • 11105

DBMS_SHARED_POOL.PURGE 如何让游标cursor失效,如何清除占用共享池过大的游标

场景1:执行计划走错了,你重新分析了表,发现ORACLE依然在用之前错误的执行计划,新的统计信息没有起作用。 场景2:有一条SQL占用的共享池内存过大,你想把这个游标清理出去 通常有以下几种办法:...
  • jiujiuaiqi
  • jiujiuaiqi
  • 2011年09月27日 12:57
  • 1885

清除掉shared pool中某条sql语句方法

← ORA-600[4194]/[4193]解决 sqlplus版本不正确,导致ORA-12560 →   发表于 2012 年 02 月 15 日 由 惜分飞 联...
  • jarry_gao
  • jarry_gao
  • 2014年07月02日 10:50
  • 509

深入shared pool 存储结构 library cache dictionary cache 解析SQL语句 硬解析 软解析

SQL语句分为两部分,静态部分与动态部分。 静态就是表名称,列名等; 动态是字面值; where name='hsj'的where name是静态部分,hsj是动态部分。静态数量...
  • f88520402
  • f88520402
  • 2011年11月10日 00:46
  • 1335

buffer cache的keep pool的过程及操作

如果某个表是热点表,经常被访问,就应该考虑将其放入 keep buffer cache.防止其被挤出default pool 。从而减少physical read所带来的I/O开销。 默认的情况下 ...
  • feather_s_poetry
  • feather_s_poetry
  • 2012年09月26日 18:38
  • 193

Oracle Buffer Cache 中 Keep Pool 说明

一. Keep Pool 说明在我之前的Blog里对DB buffer 进行了一个说明,参考:            Oracle Buffer Cache 原理            http://...
  • tianlesoftware
  • tianlesoftware
  • 2011年07月03日 00:02
  • 10480

default/keep/recycle buffer pool 的区别

引自asktom:   Block Buffer Cache  So far, we have looked at relativ...
  • loryliu
  • loryliu
  • 2014年06月01日 21:43
  • 500

Oracle - SGA → Data_buffer_cache 之 Keep pool

1.摘要          前些天,我们探讨了Oracle - SGA → Data_buffer_cache之default pool:http://blog.csdn.net/together8/...
  • u012474376
  • u012474376
  • 2013年11月07日 22:02
  • 1128
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如果在shared_pool中keep cursor(sql)
举报原因:
原因补充:

(最多只允许输入30个字)