Oracle的体系结构图


上示意图清晰地表明了Oracle的体系结构,在这里加上自己的理解加以总结如下:
http://hiphotos.baidu.com/yanyu203020/pic/item/17acea842e7bb40066096e76.jpg
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将数据写入数据文件,同时更新控制文件和数据文件头。此进程非常重要,是数据库同步的保障。

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

http://hi.baidu.com/yanyu203020/blog/item/4bd586117eff692edc54017b.html

猜你喜欢

转载自liuguofeng.iteye.com/blog/1593496