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来进行用户模式隔离的,现在,可组装式 ...
随机推荐
- Makefile的简单编写【学习笔记】
首先我们先创建两个简单的文件: main.c #include <stdio.h> extern void hi_fun(); int main() { printf("hell ...
- RBAC权限控制
1.什么是RBAC权限模型rity2.RBAC权限模型表设计3.整合Mybatis数据库4.UserDetailsService5.动态查询数据库登陆6.动态权限角色拦截 什么是RBAC权限模型r 基 ...
- quartz(4)--quartz.properties文件
Quartz有一个叫做quartz.properties的配置文件,它允许你修改框架运行时环境.缺省是使用Quartz.jar里面的quartz.properties文件.当然你应该创建一个quart ...
- 多线程之wait,notify,volatile,synchronized,sleep
最近在学习多线程,现在进行总结一下吧.首先要了解一下以下几个名词. (1)wait:当线程调用wait()方法时,当前该线程会进入阻塞状态,且释放锁,使用wait方法的时候,必须配合synchroni ...
- SpringBoot配置文件 application.properties详解
SpringBoot配置文件 application.properties详解 本文转载:https://www.cnblogs.com/louby/p/8565027.html 阅读过程中若发现 ...
- Shell 自定义函数
语法: function fname() { 程序段} 例子: #!/bin/bash ## 定义函数,分子除以分母,算利润.占有率等## 参数1:分子## 参数2:分母 function divfu ...
- Ajax技术基础
对于AJAX技术,感觉以前虽然用过但是对于AJAX没有一个清晰的认识,今天专门总结一下,希望掌握的更加牢固吧! 一,什么是AJAX? AJAX通常被叫做异步刷新技术,其实他也是可以同步的.主要都用于异 ...
- Linux:配置Linux网络和克隆虚拟机并更改配置
Linux学习笔记1:配置Linux网络和克隆虚拟机并更改配置 一.配置Linux网络 在安装Linux的时候,一定要保证你的物理网络的IP是手动设置的,要不然会在Linux设置IP连通网络的时候 ...
- opencv:图像的创建和储存
示例代码: #include <opencv.hpp> #include <vector> using namespace std; using namespace cv; v ...
- 【枚举】【最小生成树】【kruscal】bzoj3754 Tree之最小方差树
发现,若使方差最小,则使Σ(wi-平均数)2最小即可. 因为权值的范围很小,所以我们可以枚举这个平均数,每次把边权赋成(wi-平均数)2,做kruscal. 但是,我们怎么知道枚举出来的平均数是不是恰 ...