当前位置:   article > 正文

Oracle12c数据库服务器体系结构—学习笔记1(仅供参考)_oracle12c rac体系结构

oracle12c rac体系结构

oracle 12c 数据库服务器体系结构

Oracle12c 数据库服务器体系结构图在Oracle数据库服务器体系结构中有三个主要的结构:内存结构、过程结构和存储结构。

存储结构:存放用户的业务数据,日志文件等。Oracle的块是基于磁盘块存在的,Oracle数据库本身是有块的概念的,一个Oracle块可能会占多个磁盘块,比如一个Oracle数据块是8kb,而一个磁盘块是4kb,那么一个Oracle块就占两个磁盘块。

内存结构:数据库的读取是以块(block)为单位,查询数据的时候将磁盘的数据读取到内存当中,然后再通过网络等的形式传到自己的屏幕上。

memory structures(system global area(专有名词也叫SGA))是共享内存 ,所有人都可以用。如果另外一个人也是查取同样的数据,那么他就不需要再从磁盘里去读取数据,因为数据已经被读到了内存里。假如服务器关机了,数据虽然在磁盘里,但通完电后是没有办法直接访问磁盘里的数据的,因为这块内存(SGA)没有被划分出来,需要用startup命令将这块内存从操作系统的内存里划分出来,然后把过程结构(process structures)的后台进程给起动起来,就可以工作了,所以我们起动一个数据库实际上就是起动数据库的实例,实例就是SGA+若干个后台进程(上图绿色部分全是内存,黄色部分是服务器进程,水蓝色部分是用户进程)

server(服务器) = storage(存储) /database(数据库)+ instance(实例)
instance(实例) = sga + bg processes(后台进程是围绕着SGA工作的)

userprocess是运行在客户机器上的。
serverprocess 和PGA是在连接建立成功的时候出现。连接成功后会发现服务器上面多出一个(LOCAL=NO)的进程,查看进程的命令是ps -ef|grep LOCAL。PGA的全称是program area,每个连接都会产生一个PGA,这块内存是不共享的,相当于私有区域。

当一个用户发出一个查询语句,但要查找的数据在SGA中不存在,server process就会将磁盘里的数据读取到SGA,如果查询出来的数据需要排序等的加工,此时就会在PGA里对数据进行加工,再通过网络将数据返回给用户。如果用户发出一个更新数据的语句,将数据在SGA内更新好后,再由后台进程将数据写到磁盘当中。

一个基本的Oracle数据库系统由一个Oracle数据库和一个数据库实例组成。
该数据库由物理结构和逻辑结构组成。因为物理和逻辑结构是独立的,所以可以在不影响对逻辑存储结构的访问的情况下管理数据的物理存储。该实例由与该实例相关联的内存结构和后台进程组成。
每次启动一个实例时,都会分配一个名为System Global Area(SGA)的共享内存区域,并启动后台进程。实例的后台进程中有5个是必须的,即只要这五个后台进程中的任何一个未能启动,则该实例都江自动关闭。这5个后台进程分别是smon,pmon,dbwr,lgwr和ckpt,进程是在计算机内存中工作的作业。
进程被定义为一个控制线程或一个操作系统中的一个机制,它可以运行一系列的步骤。在启动数据库实例之后,Oracle软件将实例与特定的数据库关联起来。这被称为安装数据库。然后,数据库就可以打开了,这使得授权用户可以访问它。
注意:Oracle自动存储管理(ASM)使用实例的内存和过程组件的概念,但与特定的数据库没有关联。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/989758
推荐阅读
  

闽ICP备14008679号