对Oracle体系结构的理解



  以上示意图清晰地表明了Oracle的体系结构,在这里加上自己的理解加以总结如下:

Oracle由实例(instance)和数据库(database)组成
    --实例:内存(SGA)和后台进程的集合,内存提供了处理的场所,而后台进程相当于工具
    --数据库:包含三大文件,数据文件、控制文件和联机日志文件。

实例的组成: 
    SGA通用的配置中包含:共享池(shared pool),数据库缓冲区(database buffer),日志缓冲区(log buffer)。而另一些配置模式下还可以包含:大池(large pool),JAVA池(java pool),流池(stream pool)。
    共享池:由库缓存(library cache,用于缓存最近使用的SQL语句和PLSQL语句)和数据字典缓存(dictionary cache,用于缓存最近使用的数据字典信息,包括表信息,列信息,权限信息)。
    数据库缓冲区:用于存放最近使用的数据,待处理的数据被存放在这里,通过调用后台进程(DBWR)将处理结果持久化到数据文件或者将数据展示给用户。
    日志缓冲区:存放改变了的数据,当数据库执行DML、DDL、DCL等改变数据的操作时,ORACLE将改变后的数据缓存在这里,并由LGWR将数据写入联机日志文件。
   
    后台进程由必选后台进程(DBWn,LGWR,SMON,PMON,CKPT)和特殊组件后台进程(ARCn,RECO,PSPn,CJQn等)
    DBWn:将数据库缓冲区中的数据改变持久化到数据文件
    LGWR:将数据库日志缓冲区中的数据持久化到联机日志文件中
    PMON:监控程序,回收资源
    SMON:实例恢复,回收临时段,合并空闲空间
    CKPT:触发DBWR将数据写入数据文件,同时更新控制文件和数据文件头。此进程非常重要,是数据库同步的保障。

数据库的组成: 
    数据文件:用来存储实际的数据,包括数据字典数据、用户业务数据、临时表空间中的临时数据,回退段中的回退数据
    控制文件:包含数据库的结构信息
    联机日志文件:包含数据库改变了的数据

 

你可能感兴趣的:(数据结构,oracle,sql,cache)