通常情况下,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中性能优化新特性之全数据库缓冲模式的更多相关文章

  1. Oracle12c中性能优化新特性之新增APPROX_COUNT_DISTINCT 快速唯一值计数函数

    Oracle11g中,为了改善DBMS_STATS包收集统计信息时的唯一值计数功能,增加了 APPROX_COUNT_DISTINCT函数,但文档中未记载.Oracle12c文档中包括了该函数,因此, ...

  2. 浅析Oracle 12c中Data Guard新特性

    浅析Oracle 12c中Data Guard新特性   写在前面 无论是做Oracle运维的小伙伴还是老伙伴,想必对Oracle数据库的数据级灾备核心技术—Data Guard是再熟悉不过了!这项从 ...

  3. Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)

    Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...

  4. 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. ...

  5. Oracle 11g R2性能优化 10046 event

    作为SQL Trace的扩展功能,Oracle 10046 event(10046事件)是一个重要的调试事件,也可以说是系统性能分析时最重要的一个事件,它包含比SQL Trace更多的信息.但可惜的是 ...

  6. Oracle 11g R2性能优化 tkprof

    另一篇博文总结了关于SQL TRACE工具的使用方式,但是产生的trace文件格式阅读起来并不是十分友好,为了更好的分析trace文件,Oracle也自带了一个格式化工具tkprof.tkprof工具 ...

  7. Oracle 11g R2性能优化 SQL TRACE

    作为Oracle官方自带的一种基本性能诊断工具,SQL Trace可以用来评估当前正在运行的SQL语句的效率,同时为该语句生成统计信息等,并保存这些信息到指定路径下的跟踪文件(trace)当中.SQL ...

  8. Oracle SQL语句性能优化方法大全

    Oracle SQL语句性能优化方法大全 下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法: 1.SQL语句尽量用大写的: 因为oracle总是先解析SQL语句,把小写的字母转换成大写的 ...

  9. Jdk5.0中出现的新特性

    掌握jdk5.0中出现的新特性1.泛型(Generics)2.增强的"for"循环(Enhanced For loop)3.自动装箱/自动拆箱(Autoboxing/unboxin ...

随机推荐

  1. Python3 itchat微信获取好友、公众号、群聊的基础信息

    Python3 itchat微信获取好友.公众号.群聊的基础信息 一.简介 安装 itchat pip install itchat 使用个人微信的过程当中主要有三种账号需要获取,分别为: 好友 公众 ...

  2. 20145206邹京儒MSF基础应用

    20145206邹京儒MSF基础应用 一.MS08_067漏洞渗透攻击实践 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版). 2.在VMware中设置两台 ...

  3. 20145221高其_PC平台逆向破解_advanced

    20145221高其_PC平台逆向破解_advanced 实践目录 shellcode注入 Return-to-libc 攻击实验 shellcode注入 概述 Shellcode实际是一段代码(也可 ...

  4. noip 邮票面值设计 - 搜索 - 动态规划

    描述 给定一个信封,最多只允许粘贴N张邮票,计算在给定M(N+M<=10)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大max ,使得1-max之间的每一个邮资值都能 ...

  5. Python 中的几种矩阵乘法 np.dot, np.multiply, *【转】

    本文转载自:https://blog.csdn.net/u012609509/article/details/70230204 Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.d ...

  6. Linux CentOS 7 下 JDK 安装与配置

    前言 简单记录一下在CentOS 7中安装配置JDK 1.7的全过程~  ( 安装别的版本或者jre一样) 下载 首先是jdk 1.7 64bit & 32bit的下载地址: jdk-7u79 ...

  7. bootstrap栅格系统进行偏移格式

    本文为博主原创,转载请注明出处: offset偏移都是向右偏移,且只能向右偏移,例: col-md-offset-2,向右偏移两列. col-md-pull-偏移数值         //向左偏移 c ...

  8. HDU 5834 Magic boy Bi Luo with his excited tree(树形dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=5834 题意: 一棵树上每个节点有一个价值$Vi$,每个节点只能获得一次,每走一次一条边要花费$Ci$,问从各个节 ...

  9. 51nod 1076 2条不相交的路径(边双连通分量)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1076 题意: 思路: 边双连通分量,跑一遍存储一下即可. #includ ...

  10. SPOJ - HIGH Highways(矩阵树定理)

    https://vjudge.net/problem/SPOJ-HIGH 题意: 给n个点m条边,求生成树个数. 思路: 矩阵树裸题. 具体的话可以看一下周冬的论文<生成树的计数及其应用> ...