zoukankan      html  css  js  c++  java
  • Oracle 缓存

    Oracle 缓存

    一、空暇缓存快

    当我们又一次启动数据库后。系统就会为数据库分配一些空暇的缓存快。

    空暇缓存快中是没有不论什么数据的,他们在等待后台进程或server进程向当中写入数据。

    Oracle数据库从数据文件里读取数据后,数据库就会寻找空暇缓存块将数据写入其中。

    一般来说。数据库在启动时,就会在内存中预先分配这些缓存块。

    二、命中缓存块

    命中缓存块保存那些正在使用的数据

    select语句先从数据库文件里读取数据后,会把取得的数据放入到这个命中缓存块中。

    直到快速缓存消耗完成等原因,这个空间才会被释放。如此下次假设再次访问同样的数据的时候

    就能从这里进行查找,节省时间(由于仅仅是被select,因此这里的数据是不会换出内存的)。

    三、脏缓存块

    脏缓存块保存已经被改动可是还没有被写入数据库文件的数据。当访问数据之后。

    由空暇缓存块标志转化为命中缓存块标志。当我们允许update这类带侵略性的操作是,我们要

    先去命中缓存区去寻找数据,假设存在就直接进行操作。而且此时命中缓存区标志被转为脏缓存块标志。

    这样就行实现数据的一致性。当满足一定的条件时,这些脏缓存块中的数据内容会被写入到数据库文件里去,

    以便永久性的保留数据库改动记录。

    当写入数据库之后脏缓存块标志就会转化为空暇缓存块。

     

    清除缓存:

    ALTER SYSTEM FLUSH SHARED_POOL

    ALTER SYSTEM FLUSH BUFFER_CACHE

    ALTER SYSTEM FLUSH GLOBAL CONTEXT

  • 相关阅读:
    【分享】管理的最高境界是简单
    建立市场化风险评估机制推进地方政府信用评级建设
    手游-神雕侠侣 85侠客纪攻略(已通关)
    使用git的分支功能实现定制功能摘取与组合的想法
    组内正则培训记录
    组内Linq培训记录
    一次代码重构记录
    git代码库误操作还原记录
    关于代码重构的开始
    如何管理高手、大牛?
  • 原文地址:https://www.cnblogs.com/xunyi/p/8931995.html
Copyright © 2011-2022 走看看