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 新特性--全库缓存的更多相关文章

  1. Oracle 12c新特性

    转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性 ...

  2. 11g新特性与12c新特性

    1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图

  3. Maclean Liu对Oracle Database 12c新特性研究汇总

    Maclean Liu关于DB 12c新特性的研究文章如下: [Oracle Database 12c新特性] In-Database Archiving数据库内归档 [Oracle Database ...

  4. Oracle 12C 新特性之扩展数据类型(extended data type)

    Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...

  5. Java 8 正式发布,新特性全搜罗

    经过2年半的努力.屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本. Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码: ...

  6. ORACLE 12C新特性——CDB与PDB

    Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库( ...

  7. Oracle 12C 新特性之 PDB热克隆(本地克隆、远端异机克隆)

    说明:版本12.2.0.1 12c r1版本中 clone 一份PDB源库需要打开在read only只读模式 , 在12c r2版本中引入了local undo mode, 源PDB在read/wr ...

  8. Oracle 12c新特性(For DBA)

    一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器 ...

  9. Oracle Database 12c 新特性 - Pluggable Database

    在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...

随机推荐

  1. Python 文件操作综合案例

    # 案例 # 文件的复制 # 要求 # 将一个文件, 复制到另外一个副本中 # 步骤分析 # 1. # 只读模式, 打开要复制的文件 import os import shutil path = &q ...

  2. 使用shiro缓存用户身份信息的时候报:java.io.NotSerializableException: org.apache.shiro.util.SimpleByteSource

    最近在使用shiro缓存用户的身份信息的时候,报了simpleByteSource不能序列化,跟进源码一看,原来这个类没有实现序列化的接口,但是我在缓存身份信息的实现又要用到这个类,解决方法:重写一个 ...

  3. spring security采用基于简单加密 token 的方法实现的remember me功能

    记住我功能,相信大家在一些网站已经用过,一些安全要求不高的都可以使用这个功能,方便快捷. spring security针对该功能有两种实现方式,一种是简单的使用加密来保证基于 cookie 的 to ...

  4. Spring Boot 快速入门(Eclipse)

    步骤一:关于版本(前期工作) JDK 1.8 maven 3.5 配置环境变量: 步骤二:创建项目 首先新建个maven项目(SpringBoot 应用,本质上是一个Java 程序,其采用的风格是 m ...

  5. Python中求阶乘(factorial)

    1. math.factorial(x) import math value = math.factorial(x) 2. reduce函数 def factorial(n): return redu ...

  6. JS 闭包应用

    1. 代替全局变量 //闭包应用1:代替全局变量的使用 //多个函数都用到一个变量,通常我们会定义一个全局变量,然后在各函数中应用它,//为了避免使用全局变量,可以通过使用立即执行函数定义临时变量,子 ...

  7. PHP5+APACHE2.2配置

    注意这里用的是PHP5.3版本 在Windows系统上使用Apache2.2上模块化安装PHP5.3 PHP5.3增加了一些功能,如namespace,静态迟绑定等. 本篇文章将帮您如何安装PHP5. ...

  8. gitlab 卸载

    gitlab 卸载 清理命令 sudo gitlab-ctl uninstall sudo gitlab-ctl cleanse sudo gitlab-ctl remove-accounts 停止g ...

  9. Pandas与SQL比较

    由于许多潜在的Pandas用户对SQL有一定的了解,因此本文章旨在提供一些如何使用Pandas执行各种SQL操作的示例. import pandas as pd url = 'tips.csv' ti ...

  10. 《JavaScript高级程序设计》第6章补充 继承

    基于原型链继承 将父类的实例赋给子类的prototype来实现继承. 原理:父类的实例有父类所有的实例属性和原型方法,将它赋给子类的prototype后,子类的创建的实例就有会__proto__属性指 ...