oracle数据库系统的架构及其复杂,其提供的特性也非常的多。作为一种关系型数据库,oracle提供的基本特性:
- transaction
- concurrency
- read consistent
而支撑这些特性的必不或缺的组件组成了Oracle Core。
如下面的缩略图所示
:
这个oracle系统的架构图涵盖了oracle最基本也是最为重要的组件,理解了这些组件的协作关系,基本上就掌握了oracle的处理机制。
对于oracle core来说,这些已足够。
1,文件:
图中描述了两种文件,Data files保存了真实的数据,redo log files连续的保存了系统对data files更改的记录。
data file的访问属于随机访问,这里牵涉到block size,tablespace,extent,segment等逻辑结构的概念,略.....
redo log file属于顺序I/O,分为两种online redo log file,archived redo log files。
2,内存:
SGA作为oracle数据库实例的共享内存部分,包括多种结构:
data buffer:存放数据块的拷贝
log buffer:即将写入redo log file的重做日志
library cache:执行的sql或者plsql信息
3,scn:
协调整个oracle系统活动的一个时钟,称为System Change number。
当发生commit的时候,scn号会递增,但这仅仅是scn号递增的一种情况,所以system commit number这个名词并不能完全描述scn。
4,后台进程:
dbwr:拷贝data cache中的数据到data files中。
lgwr:拷贝redo buffer中的重做到redo log files中。
5,用户进程:
dedicated server:为每一个用户进程分配一个服务器进程
shared server:处理轻量级任务。
下面的这个系列就来介绍一下这些组件是如何来有效的进行协作。