oracle的体系架构,Oracle体系架构

Oracle数据库由两个实体组成(1)实例 (2)数据库

实例

实例由存储结构和进程组成,短暂存在于RAM和CPU;因此实例的生存时间其在内存的时间,我们可以启动和停止实例。

一个Oracle实例由一块被称为系统全局区SGA的共享内存以及若干进程组成。

系统全局区(SGA):在实例启动时分配,是Oracle实例的基本组件

SGA也称作共享全局区,用于存储数据库进程共享的数据库信息。它包含有关Oracle服务器的数据和控制信息,在Oracle服务器所在计算机的虚拟内存中分配。

程序全局区(PGA):在服务器进程启动时分配,并在终止进程时回收

它包含有关单个服务器进程或单个后台进程的数据和控制信息

内存结构(其SGA中三个必备元素):

共享池(shared pool):用于存储①最近执行的SQL语句 ②最近使用的数据定义

数据库高速缓冲(Data buffer cache):存储已从数据文件中检索到的数据块的副本

重做日志缓冲区(Redo buffer cache):记录对数据库数据块所做的全部更改,主要用于恢复

还有可选的是:

流池(Streams pool):用于缓存流进程在数据库间移动/复制数据时使用的队列消息

大池(Large pool):用于①共享服务器的会话内存②I/O服务器进程③备份和恢复操作或RMAN④并行执行消息缓冲区

Java池(Java pool):存储Java命令的服务分析要求

后台进程

数据写进程(DBWn):负责将更改的数据从数据库缓冲区高速缓存写入数据文件

日志写进程(LGWR):将重做日志文件缓冲区的更改写入在线重做日志文件

系统监控进程(SMON):检查数据库的一致性,如有必要还会在数据库打开启动时数据库的恢复

进程监控进程(PMON):负责在一个oracle进程失败时清理资源

检查点进程(CKPT):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和  数据文件中的数据库信息

归档进程:在每次日志切换时把已满的日志组进行备份和归档

服务进程:用户进程服务

用户进程(不属于后台进程):在客户端,负责将用户的SQL语句传递给服务进程组成,并从服务器端 拿回查询数据

用户连接到Oracle实例包括:(1)建立用户连接 (2)创建会话

连接是用户进程和Oracle服务器之间的通信路径

会话是用户与Oracle服务器的一种特定连接

数据库

数据库分为物理结构和逻辑结构。

物理结构(物理结构就是磁盘上的物理文件)包括三类文件:

控制文件(control file):包含维护和验证数据库完整性的必要信息。例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少

需要一个控制文件

重做日志文件(redo log):记录对数据库所做的更改记录,这样一出现故障可以启用数据库恢复。一个数据库至少需要两个重做日志文件

数据文件(data file):存储数据的文件,包含数据库中实际数据

其他管件文件结构:

参数文件(parameter file):定义Oracle实例的特性。例如,它包含调整SGA中一些内存结构大小的参数

归档文件(passwd file):是重做日志文件的脱机副本,在这些副本可能对于从介质失败中进行恢复很重要

密码文件(archivelog file):认证哪些用户有权限启动和关闭Oracle实例

逻辑结构

表空间:是数据库中的基本逻辑结构,一系列数据文件集合

段:是对象在数据库占用的空间

区:是为数据一次性预留的一个较大的存储空间

块:Oracle最基本的存储单位,在建立数据库时指定

你可能感兴趣的:(oracle的体系架构)