oracle数据库物理结构逻辑结构内存区块进程管理

oracle作为庞大的体系,如何理解它的结构,就要分层来看。

所谓物理结构,就是存储在操作系统中的文件,包含控制文件、数据文件、重做日志文件、其他(初始化参数文件,跟中文件,警告文件,备份文件,口令文件)。

逻辑结构,就是程序员脑中对数据库的划分,它不是真实存在的,只是一个概念,与物理结构有一定的对应关系,并非一一对应。它包含表空间、逻辑对象(表,索引,视图)、段(数据段,索引段,临时段,回归段)、区、块。其中段和数据文件是一种二维表格关系,同处在一个表空间下,即一个段可以可以存放在多个数据文件中,一个数据文件可以包含多个段。 区和块的话就颗粒比较细了,一般由底层透明实现,暂不探究。

内存区块和进程管理,就是oracle启动是才有的,把他们放在一起看。一套oralce启动时,会有三个服务进程,包括实例进程,监听进程,企业管理器服务(一个web服务)。当有用户请求时,监听进程会分配一个服务器进程,服务器进程有个PGA(程序全局区,包含排序区,会话区,游标区,堆栈区)。服务器进程和PGA并不直接与数据库文件关联,中间有个后台进程(包含进程监控进程PMON,系统监控进程SMON,数据库写入进程DBWR,日志文件写入进程LGWR,检查点进程CKPT等)和SGA(系统全局区,包含数据告诉缓存区,重做日志缓冲区,共享池等)。

一个大的东西由很多内容组成,其中如何命名有很多创建者的喜好,只需知道有这么个东西,它是做什么的,不需纠结它到底是什么。

原文地址:https://www.cnblogs.com/New-Zealand/p/5190646.html