Oracle体系结构

原创 2015年11月19日 17:03:00

Oracle体系结构

一、oracle结构图:

oracle_architecture21.jpg

OracleDatabase11gArch.png

Oracle11gArchitecture01.jpg




1. 几个重要的Oracle术语
要学习Oracle的体系结构,先要搞明白几个重要的术语:Oracle服务器、Oracle实例、Oracle数据库。
Oracle服务器:即Oracle server,由Oracle实例和Oracle数据库组成。
Oracle实例:即Oracle instance,是在Oracle启动的第一个阶段根据参数文件,生成的一系列的后台进程和一块共享内
存SGA共同组成。
Oracle数据库:即Oracle database,是由Oracle所有的物理文件所组成。其中最关键的有:控制文件、数据文件、
redo log文件等。
Oracle实例与Oracle数据库进行交互,Oracle实例来对数据库进行各种操作,从而对外提供数据库的存储和检索服务。

2. Oracle总体结构
Oracle server由Oracle instance和Oracle database组成。而Oracle instance又由后台进程和共享内存组成,所以
Oracle的结构又包含了内存结构进程结构;而Oracle database有物理文件组成,所以Oracle结构也包含了存储结构

下面分别对Oracle内存结构、Oracle进程结构、Oracle存储结构进行概述,让我们对Oracle有一个对初步的概念。
3. Oracle内存结构
总体而言Oracle的内存由两大部分组成:PGA和SGA,其结构如下图所示:


不管是Server process,还是后台进程,他们都有自己进程私有的内存空间,即PGA;而SGA则为所有后台进程间共享访问
使用。
给Server process分配的PGA,根据其功能有划分为几个具体的部分。后续博客再进行具体探讨。
SGA在Oracle10g中分为6个部分,如上图所示。下面分别概述其作用:
1)shared pool(共享池):
主要作用是提高SQL语句以及PL/SQL语句的执行效率,缓存执行过的SQL语句,执行计划;PL/SQL语句的代码块、执行码等(
该部分称为library cache);以及在编译SQL, PL/SQL语句是参照的数据字典信息(该部分称为dictionary cacherow ca
che)。是SGA中最重要的部分之一。
2)database buffer cache(数据库缓冲区):
主要作用是缓存曾经读取过的数据块,Oracle数据库中对数据的所有修改操作都是在buffer cache中进行的。因为所有的
操作都必须先将物理文件上的数据块读取到buffer cache中,然后才能进行各种操作。buffer cache是SGA中最大的内存区
域,也是SGA中最重要的部分之一。
3)redo log buffer(重做日志缓冲区):
缓存生成的redo log记录,日志写后台进程会将log buffer中的记录写到磁盘中。也是SGA中最重要的部分之一。
4)Large pool(大池):
可选的内存池,其主要作用是分担shared pool的压力。某些情况,比如备份恢复,如果没有分配Large pool,则会从shar
ed pool中分配内存,这会增加shared pool的负担。
5)Java pool(Java池):
用于Java程序使用。
6)stream pool(流池):
数据库在流工作是使用的内存区域。
4. Oracle进程结构
Oracle的进程主要有后台进程和Server process(其实按照Linux的严格意义来说,Server process也是属于后台进程)。
后台进程主要对Oracle数据库进程各种维护和操作,而Server process主要来处理用户的请求:

用户进程通过监听器来访问Oracle instacne,那么就会触发生成一个Server process进程,来对该用户进程的请求进程处
理。后台进程一般有:LGWR, DBWn, ARCn, CKPT, SMON, PMON等等。
1)DBWn(database writer数据库写):
主要作用是将被修改过的buffer cache按照一定的条件写入物理磁盘。
2)LGWR(log writer,日志写):
主要作用是将log buffer中的redo log记录按照一定的条件写入联机的redo log文件。
3)CKPT(checkpoint,检查点进程):
主要作用是将检查点位置(checkpoint position)写入控制文件和数据文件的头部。
4)SMON(system monitor,系统监控进程):
主要作用是在数据库启动时,判断实例上次是否正常关闭,如果是非正常关闭,则进程实例恢复。另外,还会合并相连的可
以空间。
5)PMON(process monitor,进程监控):
监控Server process, 如果Server process非正常关闭,则PMON负责清理它占用的各种资源。
5. Oracle存储结构
存储结构即物理文件的组成结构,Oracle涉及的物理文件如下所示:

图2:

其中的控制文件、数据文件、重做日志文件是不可或缺的关键文件:
1)control file(控制文件):
包含了数据库物理结构的信息,比如各种文件的存放位置,当前数据库的运行状态等。十分重要,丢失则数据库实例不能启
动。
2)datafile(数据文件):
存放数据的文件。
3)online redo log file(联机重做日志文件):
存放redo log的文件。维护数据库的一致性,用于数据库恢复。

oracle体系结构

  • 2013年01月03日 21:51
  • 549KB
  • 下载

【体系结构,13】oracle的字符集详解

【体系结构,13】oracle的字符集详解

oracle体系结构详解

Oracle体系结构就是围绕这张图展开的,要想深入了解oracle,就必须把这张图搞明白。 如图:   一、基本组成: Oracle server:    一般情况下是一个instanc...

Oracle 10g体系结构

  • 2013年07月28日 14:06
  • 858KB
  • 下载

ORACLE 10g 第一课 绪论 安装及体系结构概述

Oracle 系列笔记
  • bloodya
  • bloodya
  • 2017年07月05日 11:09
  • 200
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle体系结构
举报原因:
原因补充:

(最多只允许输入30个字)