Oracle 11g 的server结果缓存result_cache_mode

对于常常要查的结果集,返回少量记录,server端是能够缓存的,结果集保存在共享池中,假设是绑定变量,绑定变量的值也要一样。

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 的server结果缓存result_cache_mode

时间: 2024-10-14 17:31:23

Oracle 11g 的server结果缓存result_cache_mode的相关文章

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

对于经常要查的结果集,返回少量记录,服务器端是可以缓存的,结果集保存在共享池中,如果是绑定变量,绑定变量的值也要一样. SQL> show parameter result_cache NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ client_result_cache_la

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 的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

vCenter Server 5.5配置独立Oracle 11g R2数据库

1.  环境清单 服务器 操作系统 应用软件 vCenter  Server服务器 Windows  Server 2008R2-64bit vSphere  5.5 DB服务器 CentOS  7.1-64bit Oracle  11g r2 2.  安装Oracle 11g R2 在Centos7.1中安装Oracle 11g R2的过程不是本文档主讲内容,顾忽略. 3.  为vCenter Server创建数据库 登入DB服务器(确保centos 7已启用图形界面) 鼠标右键选择打开命令行

SQL SERVER 2008向ORACLE 11G迁移示例

来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(一) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(二) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(三) 使用O

Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项

错误代码及解释: 在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建项 解决方法: 这是由于windows server 2008 默认使用语言为英语,在安装oracle 时,找不到相应的中文字符集,所以报错. 在控制面板,打开区域和语言,在“管理”选项中,将区域和语言设置为“中文(简体,中国)",重新启动服务, 重新安装oracle 11G . 来自:http://

使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g

ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracle SQL Developer is a free and fully supported graphical tool for database development. With SQL Developer, you can browse database objects, run SQL st

详解Windows Server 2008 R2下安装Oracle 11g

本篇文章转载 http://www.it165.net/database/html/201212/3385.html 一.安装前的准备工作: 1. 修改计算机名: 服务器的计算机名称对于登录到Oracle数据库非常重要!切记! (1) 安装好Oracle数据库后,再修改计算机名称,可能会无法启动服务,即不能在浏览器中使用OEM(Oracle Enterprise Manager); (2)Oracle Net Manager配置Oracle服务器端的监听程序时,也会用到服务器的计算机名称. 2.

Oracle 11g数据库的部署

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