Oracle 11g 的服务器结果缓存result_cache_mode

对于经常要查的结果集,返回少量记录,服务器端是可以缓存的,结果集保存在共享池中,如果是绑定变量,绑定变量的值也要一样。

SQL> show parameter result_cache

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

client_result_cache_lag              big integer 3000

client_result_cache_size             big integer 0

result_cache_max_result              integer     5

result_cache_max_size                big integer 33440K

result_cache_mode                    string      manual

result_cache_remote_expiration       integer     0

--result_cache_max_result 指定任何单个结果集可以使用result_cache_max_size的大小(单位为百分比),默认为5,允许从1到100的值,超过这个限制的结果集会被双色至为无效。

--result_cache_max_size 指定用来作为结果缓存的共享池内存的大小,如果被设置为0,表示这个特性被禁用。

--result_cache_mode
如果设置为MANUAL(这也是默认情况),只有指定hint result_cache的时候才能使用结果缓存;当为force的时候,所有不包含hint no_result_cache的查询语句都会使用结果缓存,查询第二次即生效;当为auto时,在11g下运行同样的SQL第三次,缓存才起作用。

--result_cache_remote_expiration
缓存远程对象的有效期(单位为分钟),因为基于远程对象的结果集无法由于远程对象的变更而自动地变为无效,通常默认为0,这意味着基于远程对象的查询结果的缓存是被禁止的。

--result_cache_max_result和result_cache_max_size是系统级别的设置,result_cache_mode和result_cache_remote_expiration可以在会话级别修改。

SQL> alter
system set result_cache_mode=force

SQL>
SELECT COUNT(1)

2    FROM GG_DISTRIBUTION W

3   WHERE W.DATA_AREA LIKE ‘03‘ || ‘%‘

4     AND W.CREATE_DATE > TO_DATE(‘2013-01-01‘, ‘yyyy-GG-dd‘);

已用时间:  00: 00: 22.48

执行计划

----------------------------------------------------------

Plan hash value: 3923546474

-------------------------------------------------------------------------------------------------------------

| Id  | Operation                 | Name            | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |

-------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT          |                 |     1 |    14 |   106K  (1)| 00:24:46 |       |       |

|   1 |  SORT AGGREGATE           |                 |     1 |    14 |            |          |       |       |

|   2 |   PARTITION RANGE ALL     |                 |  2173K|    29M|   106K  (1)| 00:24:46 |     1 |     2 |

|   3 |    PARTITION LIST ITERATOR|                 |  2173K|    29M|   106K  (1)| 00:24:46 |   KEY |   KEY |

|*  4 |     TABLE ACCESS FULL     | GG_DISTRIBUTION |  2173K|    29M|   106K  (1)| 00:24:46 |     1 |    48 |

-------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

4 - filter("W"."CREATE_DATE">TO_DATE(‘ 2013-01-01 00:00:00‘, ‘syyyy-GG-dd hh24:mi:ss‘) AND

"W"."DATA_AREA" LIKE ‘03%‘)

统计信息

----------------------------------------------------------

0  recursive calls

0  db block gets

280123  consistent gets

263679  physical reads

0  redo size

339  bytes sent via SQL*Net to client

337  bytes received via SQL*Net from client

2  SQL*Net roundtrips to/from client

0  sorts (memory)

0  sorts (disk)

1  rows processed

SQL> /

已用时间:  00: 00: 00.11

执行计划

----------------------------------------------------------

Plan hash value: 3923546474

-------------------------------------------------------------------------------------------------------------------------

| Id  | Operation                  | Name                       | Rows  | Bytes | Cost (%CPU)| Time  | Pstart| Pstop |

-------------------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT           |                            |     1 |    14 |   106K  (1)| 00:24:46 |       |       |

|   1 |  RESULT CACHE              | 0mr1089p1wxv3919raqyvtwtsv |       |       |            |       |  |       |

|   2 |   SORT AGGREGATE           |                            |     1 |    14 |            |       |  |       |

|   3 |    PARTITION RANGE ALL     |                            |  2173K|    29M|   106K  (1)| 00:24:46 |     1 |     2 |

|   4 |     PARTITION LIST ITERATOR|                            |  2173K|    29M|   106K  (1)| 00:24:46 |   KEY |   KEY |

|*  5 |      TABLE ACCESS FULL     | GG_DISTRIBUTION            |  2173K|    29M|   106K  (1)| 00:24:46 |     1 |    48 |

-------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

5 - filter("W"."CREATE_DATE">TO_DATE(‘ 2013-01-01 00:00:00‘, ‘syyyy-GG-dd hh24:mi:ss‘) AND "W"."DATA_AREA"

LIKE ‘03%‘)

Result Cache Information (identified by operation id):

-----------------------------------------------------

1 - column-count=1; dependencies=(LCAM_TEST.GG_DISTRIBUTION); attributes=(single-row); parameters=(nls); name="SELECT COUNT(1)

FROM GG_DISTRIBUTION W

WHERE W.DATA_AREA LIKE ‘03‘ || ‘%‘

AND W.CREATE_DATE > TO_DATE(‘2013-01-01‘, ‘yyyy-"

统计信息

----------------------------------------------------------

1  recursive calls

0  db block gets

0  consistent gets

0  physical reads

0  redo size

339  bytes sent via SQL*Net to client

337  bytes received via SQL*Net from client

2  SQL*Net roundtrips to/from client

0  sorts (memory)

0  sorts (disk)

1  rows processed

可以根据RESULT
CACHE=0mr1089p1wxv3919raqyvtwtsv找到其缓存的信息。

SQL>
select s.STATUS,

s.CREATION_TIMESTAMP,

s.BUILD_TIME,

s.ROW_COUNT,

s.SCAN_COUNT

from v$result_cache_objects s

where cache_id = ‘0mr1089p1wxv3919raqyvtwtsv‘;

STATUS    CREATION_TIMES BUILD_TIME  ROW_COUNT SCAN_COUNT

--------- -------------- ---------- ---------- ----------

Published 20-6月 -14            700          1         26

结果缓存的限制:

当查询语句使用非确定性函数、序列号和临时表的时候不能被缓存。

查询语句可能会造成数据不一致的时候。

引用到数据字典视图的查询语句不能缓存。

可以使用dbms_result_cache管理缓存。

Oracle 11g 的服务器结果缓存result_cache_mode

时间: 2024-10-12 21:45:45

Oracle 11g 的服务器结果缓存result_cache_mode的相关文章

Oracle 11g 的server结果缓存result_cache_mode

对于常常要查的结果集,返回少量记录,server端是能够缓存的,结果集保存在共享池中,假设是绑定变量,绑定变量的值也要一样. SQL> show parameter result_cache NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ client_result_cache

Oracle 11g 的PL/SQL函数结果缓存

模仿Oracle性能诊断艺术中的例子做了两个试验,书上说如果不用RELIES_ON,则函数依赖的对象发生的变更操作就不会导致结果缓存的失效操作(result_cache RELIES_ON(test1,test2)),试验证明不对,函数f1()并没有使用RELIES_ON,但表上的变化影响到了函数. C:\Documents and Settings\guogang>sqlplus gg_test/[email protected]_gg SQL*Plus: Release 10.2.0.1.0

安装ODP.NE后,服务器上原有程序无法连接ORACLE 11G,报ORC-12154

问题分析: 1.安装了ODP.NET后出的问题: 2.具体表现为D:\app\Administrator\product\11.2.0下面多了一个文件夹 2.1.1.D:\app\Administrator\product\11.2.0\client_2 解决方法: 1.将D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 下面的配置文件,copy到 D:\app\Administrator\product\11.2.0\clie

Oracle 11g win7 64位【桌面类 && 服务器类】安装过程

Oracle 11g  win7  64位[桌面类 && 服务器类]安装过程 一.首先,根据自己的操作系统位数(32位或64位),到官网下载相应的安装程序,如下图所示. 二.解压两个压缩包到同一目录,即"database".[]然后右键"setup.exe",点管理员身份运行(或者双击文件即可运行),如下图所示: 稍微等待一会,就会出现如下图所示的安装画面,取消下图所示的选中,然后单击"下一步"继续,同时在出现的信息提示框单击&q

Oracle 11g新特性之--Server Result Cache

Oracle 11g新特性之--Server  Result Cache 一.Server Result Cache说明 Oracle官网的说明,参考: 7.6 Managing the Server and Client  Result Caches http://docs.oracle.com/cd/E11882_01/server.112/e16638/memory.htm#BGBCABED 1.1 概述 SQL 查询结果高速缓存可在数据库内存中对查询结果集和查询碎片启用显式高速缓存.存储

Oracle 11g新特性direct path read引发的系统停运故障诊断处理

黎俊杰 | 2016-07-28 14:37 声明:部分表名为了脱敏而用XX代替 1.故障现象 (1)一个业务系统输入用户名与密码后无法进入首页,表现为一直在运行等待,运行缓慢 (2)整个系统无法正常使用,接近停运状态 2.故障解决方法 调整数据库参数alter system setevent='10949 trace name context forever, level 1'来关闭"direct path read"(直接路径读)特性,使SQL语句可以从缓存中查询数据,达到降低I/

Oracle 11g数据库的部署

一.前言 最近要准备考试了,准备温习下Oracle数据库的相关知识,那么学习Oracle的前提肯定是部署了,目前主流Oracle版本为11g,那么接下来我们就先来一起看下,如何部署Oracle已经对数据库的监听开启与启动数据库等操作 二.安装Red Hat Enterprise Linux 5.8操作系统的注意事项 安装要求: 防火墙的配置选项:禁用 SElinux配置:禁用 默认安装:软件开发 由于系统部署简单,这里就不再阐述了,有疑问的,麻烦大家自行百度一下! 三.前置条件的准备 Oracl

oracle 11g系列 体系结构

1.1. oracle体系结构 图中描述了oracle的结构,oracle结构是比较复杂的,oracle设计这么复杂的体系结构的原因在于:首先oracle是一个关系型数据库管理系统,主要就是为了实现数据存储和管理的,为了让数据库的速度变得更快,尽可能的让90%以上的工作都在内存完成.所以数据库中最稀缺的资源就是内存,其次是磁盘I/O,所以我们要做好内存和I/O的管理,为了解决这个问题oracle这么复杂的一个结构.从图中可以看出来oracle体系结构包含了进程结构.内存结构.存储结构.进程结构包

Centos6.5下Oracle 11g R2安装过程

来自: http://blog.csdn.net/cafardhaibin/article/details/25071249 1准备CentOS-6.5-x86_64-bin-DVD1linux_11gR2_database_1of2linux_11gR2_database_2of2VMware Workstation 10.0.2SSH Secure Shell Clientinstantclient_11_2plsqldev10052安装虚拟机及CentOS(1)安装VMware Works