12C 新特性--全库缓存
Force Full Database Caching Mode
意思就是可以把整个数据库缓存到内存中,当然你内存一定要非常大,起码要等于数据库的大小,才能容下整个数据库。
在RAC环境下,对于一个良好的分区应用,当要把所有实例的内存缓存结合到一起的时候可以使用,但是需要额外的一些空间去处理在实例之间的复制缓存块,所以内存的大小要大于数据库的大小。
1.数据库缓存类型
1.1在此之前还有一个默认的数据库缓存类型
Oracle数据库进行全表扫描时使用的默认数据库缓存模式。在默认缓存模式,Oracle数据库并不总是当用户查询一个大表,因为这样做可能会从缓冲区缓存中删除更多有用的数据缓存中的基础数据。
1)小表只有在表的大小小于内存的百分之二的情况下,才会被载入到内存。
2)对于中表,Oracle会分析上一次表扫描和缓存到内存的时间间隔。如果上一次扫描中表被重用的大小大于内存中保留的缓存大小,则表会被缓存。
3)对于大表,不会被加载到内存中,除非你手动声明KEEP到共享池中。
1.2.强制全数据库缓存类型-
随着更多的内存被添加到数据库,缓存的大小也随着增大。在一些情况下,数据库甚至可以被全部缓存到内存中。当然这个可以大大提高数据库的性能。
在启用强制全数据库缓存,Oracle会缓存整个数据库到内存中,内存大小要足够大。所有的数据文件,包括NOCACHE的LOB,使用SecureFiles的LOB都会被加载到内存中。
2.1决定什么时候使用强制
1)The logical database size (or actual used space) is smaller than the individual buffer cache of each database instance in an Oracle RAC environment. This is applicable for non-Oracle RAC database as well.
2)The logical database size is smaller than 80% of the combined buffer cache sizes of all the database instances for well-partitioned workloads (by instance access) in an Oracle RAC environment.
3)The database uses SGA_TARGET or MEMORY_TARGET.
4)The NOCACHE LOBs need to be cached. The NOCACHE LOBs are never cached unless force full database caching is used.
对于前三种情况,在启用全数据库缓存期间,要观察数据库的性能是否达到期望的性能。
对于RAC环境,必须所有实例同时启用全数据库缓存。
3.验证数据库缓存类型
默认情况下,数据库是在默认数据库缓存类型上运行
A)查看是否启用全数据库缓存
SELECT FORCE_FULL_DB_CACHING FROM V$DATABASE;
B)启用全数据库缓存
ALTER DATABASE FORCE FULL DATABASE CACHING;
转:http://www.cndba.cn/Expect-le/article/282
12C 新特性--全库缓存的更多相关文章
- Oracle 12c新特性
转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1) 多租户架构是Oracle 12c(12.1)的新增重磅特性 ...
- 11g新特性与12c新特性
1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图
- Maclean Liu对Oracle Database 12c新特性研究汇总
Maclean Liu关于DB 12c新特性的研究文章如下: [Oracle Database 12c新特性] In-Database Archiving数据库内归档 [Oracle Database ...
- Oracle 12C 新特性之扩展数据类型(extended data type)
Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...
- Java 8 正式发布,新特性全搜罗
经过2年半的努力.屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本. Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码: ...
- ORACLE 12C新特性——CDB与PDB
Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库( ...
- Oracle 12C 新特性之 PDB热克隆(本地克隆、远端异机克隆)
说明:版本12.2.0.1 12c r1版本中 clone 一份PDB源库需要打开在read only只读模式 , 在12c r2版本中引入了local undo mode, 源PDB在read/wr ...
- Oracle 12c新特性(For DBA)
一: Multitenant Architecture (12.1.0.1) 多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器 ...
- Oracle Database 12c 新特性 - Pluggable Database
在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...
随机推荐
- spring与memcached整合[转]
1, 开始肯定是下载需要的文件了,这里就下载附件里的文件就好,我也是在网上down的,放这好找.然后我们安装一下Memcache服务器,找到解压的memcached-1.2.1-win32,启动cmd ...
- Aggregate Services
https://stackoverflow.com/questions/7199097/constructor-injection-into-a-base-class-using-autofac Ca ...
- 配置阿里云maven中央库
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> ...
- spark学习11(Wordcount程序-本地测试)
wordcount程序 文件wordcount.txt hello wujiadong hello spark hello hadoop hello python 程序示例 package wujia ...
- centos 安装jdk/resin/mysql
一.安装JDK 1.判断是否安装 java -version 我的计算机上使用java -version命令,内容如下: java version "1.7.0_45"OpenJD ...
- oracle 子查询详解 in和exists的区别
sql允许多层嵌套,子查询是嵌套在其他查询中的查询.我们可以把子查询当做一张表来看到,即外层语句可以把内嵌的查询结果当做一张表使用. 子查询查询结果有三种情况 不返回查询记录.若子查询不返回记录则主查 ...
- JAR_给别人使用
1. http://zhidao.baidu.com/link?url=Ru2tGNV5iRsuRYlEdWzmKDRz88aYqHAqQBQy8sCaHWhjJpaJpbTGibEk-zyxegNJ ...
- MSSQL复制表操作
1:复制表结构及数据到新表 select * into 目的数据库名.dbo.目的表名 from 原表名 select * into my0735home.dbo.infoMianTest from ...
- mysql 程序编写实例
DELIMITER $$ drop trigger if exists `updata_depart_lead_name`;-- 新建触发器 ---- 功能:在更新部门的领导编号是,自动填写部门领导名 ...
- spring的AOP动态代理--JDK代理和CGLIB代理区分以及注意事项
大家都知道AOP使用了代理模式,本文主要介绍两个代理模式怎么设置以及区别,对原文一些内容进行了引用后加入了自己的理解和更深入的阐述: 一.JDK代理和CGLIB代理的底层实现区别* JDK代理只能 ...