Oracle体系结构图以及分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle体系结构

Oracle服务器

–提供一个开放的、全面的、完整的信息管理平台

–Oracle实例和Oracle数据库组成

Oracle实例

•访问Oracle数据库的一种方法

•只能是打开一个仅仅只有一个数据库

•由内存和后台进程组成

Oracle 实例由SGA 内存结构和用于管理数据库的后台进程组成。实例是通过使用对每个操作系统特定的方法来进行标识的。实例一次只能打开和使用一个数据库。

系统全局区

SGA 是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息。它是在Oracle 服务器所驻留的计算机的虚拟内存中得以分配。SGA 由几种内存结构组成:

• 共享池用于存储最近执行的SQL 语句和最近使用的数据字典数据。这些SQL 语句可以是用户进程提交的,也可以是从数据字典读取的(在存储过程的情况中)。

• 数据库缓冲区高速缓存用于存储最近使用的数据。这些数据从数据文件读取,或者写入数据文件。

• 重做日志缓冲区用于跟踪服务器和后台进程对数据库所做的更改。

在SGA 中还有两种可选的内存结构:

• Java 池:用于存储Java 代码

• 大型共享池:用于存储并不与SQL 语句处理直接相关的大型内存结构。例如在备份和复原操作过程中复制的数据块。

后台进程

实例中的后台进程执行用于处理并行用户请求所需的通用功能,而不会损害系统的完整性和性能。它们把为每个用户运行的多个Oracle 程序所处理的功能统一起来。后台进程执行I/O 并监控其它Oracle 进程以增加并行性,从而使性能和可靠性更加优越。

根据配置情况,Oracle 实例可以包括多个后台进程,但是每个实例都包括下面五个必需的后台进程:

• 数据库写入程序(DBW0) 负责将更改的数据从数据库缓冲区高速缓存写入数据文件。• 日志写入程序(LGWR) 将重做日志缓冲区中注册的更改写入重做日志文件。

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

• 过程监视器(PMON) 负责在一个Oracle 进程失败时清理资源

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

连接到Oracle Server

1.建立一个用户连接

2.创建一个会话

用于连接例程的进程

用户在给Oracle 提交SQL 语句之前,必须同实例连接起来。

• 用户启动SQL*Plus 之类的工具,或者运行使用Oracle Forms 之类的工具开发的应用程序。这个应用程序或者工具就在用户进程中执行。

• 在最基本的配置中,当用户登录到Oracle 服务器时,运行Oracle 服务器的计算机上就会创建一个进程。这个进程称为服务器进程。服务器进程代表在客户机上运行的用户进程与Oracle 实例通信。服务器进程代表用户执行SQL 语句。

连接

连接是用户进程和Oracle 服务器之间的通信路径。数据库用户可以用下面三种方式之一连接到Oracle 服务器:

• 用户登录到运行Oracle 实例的操作系统上,然后启动访问该系统中的数据库的应用程序或工具。通信路径是使用主机操作系统上的交互进程通信机制建立的。

• 用户在本地计算机上启动应用程序或工具,然后通过网络连接到运行Oracle实例的计算

机。在这项称为客户机-服务器的配置中,网络软件用于用户和Oracle 服务器之间进行的通信。

• 在三层连接中,用户计算机通过网络与应用程序或网络服务器进行通信,而该应用程序或网络服务器又通过网络与运行Oracle 实例的计算机连接。例如,用户在网络计算机上运行浏览器来使用位于NT 服务器上的应用程序,这个NT 服务器从在UNIX 主机上运行的Oracle 数据库中检索数据。

会话

会话是用户与Oracle 服务器的一种特定连接。当用户由Oracle 服务器验证时会话开始,当用户退出或出现异常终止时会话结束。对某个具体的数据库用户来说,如果他从很多工具、应用程序或者终端同时登录,则可能有很多并发会话。除了一些专用数据库管理工具以外,启动数据库会话还要求Oracle 服务器可供使用。

Oracle数据库

•数据信息的集合

•三种类型文件

一个Oracle 数据库是一个数据单位的集合。主要目的是为了储存和读取信息。

Oracle 数据库可以分为逻辑(logical)结构和物理(physical)结构。

Oracle逻辑结构

•数据库如何使用物理空间

•表空间, 段, 区,块的组成层次

物理结构指数据库中的操作系统文件的集合,包含以下三种文件:

(1)数据文件(data file) 包含数据库中实际数据。数据包含在用户定义的表中,而且数据文件还包含数据词典(data dictionary),数据修改以前的映象(before-images of modified Data)索引(indexes)和其他类型的结构(other types of structures)。

一个数据库中至少包含一个数据文件。数据文件的特性有:

---------一个数据文件只能被一个数据库使用。

---------当数据库空间不足时,数据文件具有自动扩展的特性。

---------一个或者多个数据文件构成数据库的逻辑存储单元叫做表空间(tablespace).

(2)重作日志(Redo logs) 包含对数据库的修改记录,可以在数据失败后恢复。一个数据需要至少两个重作日志文件。

(3)控制文件(Control files) 包含维护和检验数据库一致性的信息。例如:控制文件用来检验数据文件和重作日志文件。

一个数据库需要至少一个控制文件。

Oracle内存结构

•SGA(System Global Area)

当启动实例的时候分配

•PGA(Process Global Area)

当server进程建立时分配

进程结构

相关文档
最新文档