Oracle体系结构图以及分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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进程建立时分配
进程结构