Oracle数据库体系结构(一)_概述

目录

1  Oracle系统框架

1.1  Orace SGA组成

1.2  Oracle后台进程

1.3  PGA服务进程

2  数据库与实例

  2.1  数据库

  2.2  实例

3  总结



       Oracle公司(甲骨文)是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州Redwood shore,面向全球开放oracle认证。

       Oracle开发的关系数据库产品因性能卓越而闻名,Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统,是世界最好的数据库产品。此外,Oracle公司还开发其他应用程序和软件。同时,Oracle在英语里还是“神谕”的意思,意为“替神说话的”,寓指Oracle公司的发展目标和决心地位。
        本系列文章将围绕Oracle11g及Oracle12c两个版本的相关内容展开

1  Oracle系统框架

        学习Oracle,首先应了解Oracle整个框架体系,从整体来讲Oracle由实例和各种物理文件组成

Oracle数据库体系结构(一)_概述_第1张图片

1.1  Orace SGA组成

  1.  Shared Pool:包括数据字典缓存,查询结果缓存,执行计划缓存,大小由shared_pool_size控制。
  2. Database Buffer Cache(DBC):就是Block(页)的缓存,计算引擎无论读或写文件中的数据,先把要读写的那部分Block加载到DBC,写之前要加锁,得到锁之后,读或写的就是这个DBC,而不是数据文件,DBWR(或DBWn)会适时将DBC写到磁盘。参数db_cache_size控制其大小,如果是0表示自动管理。每个Block的大小是创建表空时设置,不可修改,从db_block_size查看块大小。
  3. Redo Log Buffer:redo日志的缓存,参数log_buffer控制其大小,更改记录的操作,通过并发调度后,先写Redo Log Buffer,再写DBC,commit时Redo Log Buffer会部分落盘,但DBC不会。
  4. Java Pool:专用于存储Java代码和数据。
  5. Large Pool:与Shared Pool类似,用于需要大内存的情况,以减轻Shared Pool负担。

1.2  Oracle后台进程

  1. DBWn - 数据库写进程,负责将缓冲区数据刷新到数据文件
  2. SMON - 系统监控进程,负责实例和数据库恢复
  3. PMON - 进程监控进程,负责进程控制和故障转移
  4. CKPT - 检查点进程,负责进行数据文件和控制文件的检查点更新
  5. LGWR - 日志写进程,负责将日志缓冲区数据写入联机日志文件
  6. ARCn - 归档进程,负责存档和备份填满的日志文件
  7. MMON - 内存监控进程,负责监控和优化SGA内存
  8. RECO - 恢复进程,负责控制和协调数据库恢复操作
  9. MMAN - 内存管理进程,管理数据库内存结构
  10. MMNL - 共享服务器监视进程,管理共享服务器进程

1.3  PGA服务进程

        PGA:即,Server服务器进程。当客户端接入服务器时,在服务器端为每个连接分配一个进程和内存,这个内存就是PGA,SQL计算时(如排序、聚合)的中间数据,用户数据,cursor等,存放在PGA中,UGA在PGA中。

2  数据库与实例

       每一个Oracle数据库都是数据的集合,这些数据包含在一个或多个文件中。数据库有物理结构和逻辑结构两种。实例则是由命名为系统全局区的内存区域和相应的后台进程组成,这些后台进程负责(System Global Area 即SGA)和数据库磁盘文件之间的交互。虽然在实际的应用场合"数据库"和"实例"可以交换使用,但是这两者之间存在本质的区别,他们是完全不同的实体

  2.1  数据库

       数据库是数据的集合,位于收集和维护相关信息的数据库服务器上的一个或多个文件中,数据库由各种物理结构和逻辑结构组成,而数据库表则是数据库中最重要的逻辑结构。表由包含相关的数据行和列组成.

       表的基本组成

Oracle数据库体系结构(一)_概述_第2张图片
        组成数据库的文件主要分为两类,数据库文件和非数据库文件,两者之间的区别在于存储什么类型的数据,数据库文件包含数据和元数据;非数据库文件则包含初始参数、记录信息等      

         2.2  实例

       企业服务器是主要组成部分是一个或多个CPU、磁盘空间和内存。Oracle数据库存储在服务器磁盘上,而Oralce实例则存储于服务器的内存中。Oracle实例由一个大型的内存块和大量后台进程组成,该内存块分配分配在Oracle数据库的系统全局区域中,即SGA,通过后台进程在SGA和磁盘上的数据库文件进行交互。但在Oracle应用集群(RAC)中,多个实例将使用相同的数据库。共享数据库的实例可以在相同的服务器上,但最好是分布在不同的服务器上,这些服务器通过高速互联进行连接,并且访问专门的、支持RAID的磁盘子系统上的数据库,关于Oracle RAC的相关内容,后续进行阐述
 

3  总结

        本文从Oracle数据库的基础架构、数据库及数据库实例三个方面进行了相关的阐述。主要讲述了Oracle SGA、后台进程、PGA等方面基础组成;讲述了数据库和实例的区别等方面的内容。从整体上对Oralce数据库的组成。

你可能感兴趣的:(Oracle,数据库,oracle)