前言

      在学习oracle中,体系结构是重中之重,掌握的越深入越好。在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释,所以我们根据下面的示图了解一下oracle体系结构。其中oracle内存结构不在复述,参照文章http://nijianlong.blog.51cto.com/2913232/1091537

体系结构2

1.oracle服务器

①提供一个开发的、全面的、完整的信息管理平台。

②oracle实例和oracle数据库组成。

注:一个实例只能对应一个数据库

一个数据库可以由多个实例(RAC)

2.oracle实例

①实例为用户同数据库交互的媒介

②只能打开一个数据库

③由内存结构(SGA、PGA)和用户进程

实例

后台进程

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

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

① 数据库写入程序 (DBW0) 负责将更改的数据从数据库缓冲区高速缓存写入数据文件。

② 日志写入程序 (LGWR) 将重做日志缓冲区中注册的更改写入重做日志文件。

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

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

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

3.连接Oracle Server

5 

用于连接例程的进程

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

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

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

连接

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

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

② 用户在本地计算机上启动应用程序或工具,然后通过网络连接到运行 Oracle实例的计算机。在这项称为客户机-服务器的配置中,网络软件用于用户和Oracle 服务器之间进行的通信。

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

会话

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

4.oracle数据库

①数据信息的组合

②三种类型文件

  • 数据文件
  • 控制文件
  • 日志文件

一个 Oracle 数据库是一个数据单位的集合。 主要目的是为了储存和读取信息,Oracle 数据库可以分为逻辑(logical)结构和物理(physical)结构。

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

数据文件(data file) 包含数据库中实际数据。数据包含在用户定义的表中,而且数据文件还包含数据词典(data dictionary),

一个数据库中至少包含一个数据文件。数据文件的特性有: 一个数据文件只能被一个数据库使用;当数据库空间不足时,数据文件具有自动扩展的特性;一个或者多个数据文件构成数据库的逻辑存储单元叫做表空间(tablespace).

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

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

物理结构:

物理结构包括三种文件:

  • 控制文件
  • 数据文件
  • 日志文件

oracle逻辑结构

  • 数据如何使用服务空间
  • 表空间、段、区、块的组成层次

7

5.用户进程(user process)

一个请求连接到oracle服务器的程序

  • 必须首先建立一个连接
  • 并不直接与oracle服务器交互

8

6.服务器进程(server process)

一个与Oracle服务器直接交互的程序

  • 负责执行返回结果
  • 专用服务器(dedicated)或共享服务器(shared server)

7.后台进程(Background Processes)

  • 必须的后台进程

     DWRn      PMON     CKPT      LGWR      SMON

  • 可选的后台进程

    ARCn       LMDn     QMNn       CJQ0        LMON         RECO         Dnnn        LMS         Snnn      LCKn        Pnnn