Oracle 12cR1中性能优化新特性之全数据库缓冲模式
通常情况下,Oracle会决定哪些数据会留在缓冲区中。当没足够的空间时,数据会被写出内存。此外,为了避免大量读取将有用的信息挤出缓冲区,Oracle对有些操作也许会才去绕过缓冲区的措施。Oracle12cR1 (12.1.0.2)引入了全数据缓冲的概念。如果Oracle认为缓冲区大的足以容纳整个数据库,那么,它将会缓冲所有的数据块。此外,可以强制启用全数据缓冲模式。
1. 强制开启全数据库缓冲模式
不是让Oracle自己决定是否开启全数据库缓冲模式,你可以通过ALTER DATABASE命令强制开启该模式。
要想强制开启该模式,需要先将关闭并将库置于mount状态,否则,在打开的数据库上执行该ALTER DATABASE命令将会报错。
SQL>ALTER DATABASE FORCE FULL DATABASE CACHING;
ALTERDATABASE FORCE FULL DATABASE CACHING
*
ERRORat line 1:
ORA-01126:database must be mounted in this instance and not open in any
instance
SQL>
CONN/ AS SYSDBA
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
ALTERDATABASE FORCE FULL DATABASE CACHING;
ALTERDATABASE OPEN;
然后,查询V$DATABASE视图就会看到修改结果。
SELECTforce_full_db_caching FROM v$database;
FOR
---
YES
SQL>
2. 强制禁用全数据库缓冲模式
强制禁用全数据库缓冲模式和强制开启类似。
CONN/ AS SYSDBA
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
ALTERDATABASE NO FORCE FULL DATABASE CACHING;
ALTERDATABASE OPEN;
通过查V$DATABASE视图也可以看到修改后的变化。
SELECTforce_full_db_caching FROM v$database;
FOR
---
NO
SQL>
3. 注意
1) COMPATIBLE参数必须设置为12.0.0或更高。
2) 如果正使用AMM或 ASMM,可能会调整缓冲大小,从而导致缓冲太小而容不下整个数据库。需要合理调整内存参数或DB_CACHE_SIZE参数为稍大点的正确值。
3) 数据对象不会被预先加载到缓冲区,而是在被存取时被加载。
4) 当强制开启全数据库缓冲模式时,被定义为非缓冲的LOB数据也会被缓冲,在常规模式时,这些LOB数据不会被缓冲。
5) 当使用多宿主库选项时,强制开启全数据库缓冲模式会多CDB和所有PDB起作用。
6) 如需恢复控制文件,应先检查全数据库缓冲模式是否开启。
Oracle 12cR1中性能优化新特性之全数据库缓冲模式的更多相关文章
- Oracle12c中性能优化新特性之新增APPROX_COUNT_DISTINCT 快速唯一值计数函数
Oracle11g中,为了改善DBMS_STATS包收集统计信息时的唯一值计数功能,增加了 APPROX_COUNT_DISTINCT函数,但文档中未记载.Oracle12c文档中包括了该函数,因此, ...
- 浅析Oracle 12c中Data Guard新特性
浅析Oracle 12c中Data Guard新特性 写在前面 无论是做Oracle运维的小伙伴还是老伙伴,想必对Oracle数据库的数据级灾备核心技术—Data Guard是再熟悉不过了!这项从 ...
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...
- atitit.Oracle 9 10 11 12新特性attilax总结
atitit.Oracle 9 10 11 12新特性 1. ORACLE 11G新特性 1 1.1. oracle11G新特性 1 1.2. 审计 1 1.3. 1. 审计简介 1 1.4. ...
- Oracle 11g R2性能优化 10046 event
作为SQL Trace的扩展功能,Oracle 10046 event(10046事件)是一个重要的调试事件,也可以说是系统性能分析时最重要的一个事件,它包含比SQL Trace更多的信息.但可惜的是 ...
- Oracle 11g R2性能优化 tkprof
另一篇博文总结了关于SQL TRACE工具的使用方式,但是产生的trace文件格式阅读起来并不是十分友好,为了更好的分析trace文件,Oracle也自带了一个格式化工具tkprof.tkprof工具 ...
- Oracle 11g R2性能优化 SQL TRACE
作为Oracle官方自带的一种基本性能诊断工具,SQL Trace可以用来评估当前正在运行的SQL语句的效率,同时为该语句生成统计信息等,并保存这些信息到指定路径下的跟踪文件(trace)当中.SQL ...
- Oracle SQL语句性能优化方法大全
Oracle SQL语句性能优化方法大全 下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法: 1.SQL语句尽量用大写的: 因为oracle总是先解析SQL语句,把小写的字母转换成大写的 ...
- Jdk5.0中出现的新特性
掌握jdk5.0中出现的新特性1.泛型(Generics)2.增强的"for"循环(Enhanced For loop)3.自动装箱/自动拆箱(Autoboxing/unboxin ...
随机推荐
- Python入门之面向对象的__init__和__new__方法
Python入门之面向对象的__init__和__new__方法
- pythoy的configparser模块
生成配置文件的模块 DEFAULT块,在以块为单位取块的值时,都会出现 import configparser config = configparser.ConfigParser() #相当于生成了 ...
- vs2012添加自定义资源步骤
1.新建Win32工程 2.选中Resource Files -> add resource 点击打开 这里需要你填写一个Resource Type ,假如你之前已经有了,就直接输入,没有的话在 ...
- 完整的Android开发环境Eclipse+ADT+SDK(22.0.1)
现在开始学习Android嵌入式编程,首要的问题就是在Windows中搭建开发环境,就这个都要摸索很长的时间,总是在版本之间折腾折腾去,而且Google的Android正式差劲得很,经常是连不上,要不 ...
- MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
查询所有数据库占用磁盘空间大小的SQL语句: ,),' MB') as data_size, concat(,),'MB') as index_size from information_schema ...
- Spring batch的学习
Spring batch是用来处理大量数据操作的一个框架,主要用来读取大量数据,然后进行一定处理后输出成指定的形式. Spring batch主要有以下部分组成: JobRepository ...
- java 正则表达式验证邮箱格式是否合规 以及 正则表达式元字符
package com.ykmimi.testtest; /** * 测试邮箱地址是否合规 * @author ukyor * */ public class EmailTest { public s ...
- FAST Hello World - Preparation for software's running environment
Ubuntu 14.04 安装 libpcap-1.1.1 & libpnet-1.1.4 & NMAC function lib 参考: NetMagic.org yacc: com ...
- HDU 5887 Herbs Gathering(搜索求01背包)
http://acm.hdu.edu.cn/showproblem.php?pid=5887 题意: 容量很大的01背包. 思路: 因为这道题目背包容量比较大,所以用dp是行不通的.所以得用搜索来做, ...
- MVC ---- 如何使用Predicate以及如何自定定义Predicate委托
微软公司提供只能返回bool值,接受一个参数的委托类型(Predicate). //Predicate委托 public static class PredicateDemo{ //内置方法 publ ...