Oracle服务器由两个实体组成:实例和数据库。

实例由内存结构和进程组成。 它暂时存在于RAM和CPU中。当关闭运行的实例时,实例将消失的无影无踪。

数据库由磁盘上的文件组成。不管在运行状态还是停止状态下,这些文件都一直存在。

在Oracle服务器上,从物理存储中完全抽象出了逻辑存储。程序员看到的逻辑结构(例如表)不直接与系统管理员看到的物理结构(数据文件)相关。两者的关系由控制文件和数据字典中的结构来维护。

在操作系统提供的共享内存段实现的内存结构称为系统全局区(system global area,SGA)。SGA在实例启动时分配,在关闭时释放。在一定范围内,可以在实例运行时通过自动方式或相应DBA的指令,重新调整12c实例中的SGA及其中的组件的大小。

用户会话由在用户计算机本地运行的用户进程(连接到在服务器实例上运行的服务器进程)组成。用户进程与服务器进程的连接一般经由局域网实现,并使用Oracle专用的Oracle Net协议。

服务器进程有事称为前台进程(与构成实例的后台进程相对)。与每个服务器进程相关的是一个非共享内存区,即程序全局区(program global area,PGA)。与系统全局区(可用于所有前台和后台进程)不同,此区是会话专用的。注意,后台进程也拥有PGA。任一会话的PGA的大小将根据任一时间的会话的内存需要而异。DBA可以定义所有PGA总量的上限,而Oracle动态管理PGA对会话的分配情况。

12c中的内存管理可完全自动完成:DBA只需要指定SGA和PGA总体的内存分配,并让Oracle按其认定的最佳方式管理内存。DBA也可以自己控制内存分配,或DBA定义一些实施自动管理时的限制。

SGA内存由所有后台和前台进程共享,PGA内存仅供分配到的会话的前台进程访问。SGA和PGA内存都可以实现自动管理。

构成Oracle数据库的物理结构是数据文件、联机重做日志文件和控制文件。从物理存储抽象出逻辑存储,是关系数据库管理(RDBMS)标准的一部分。实际上,可以确定表在什么地方(甚至是表中的一行在什么地方),但不能通过标准SQL来确定。数据库管理员可以使用一些工具来确定位置。

数据存储在数据文件中。数据文件的数量或大小并无实际限制,从物理存储抽象出逻辑存储意味着,可以在应用程序开发人员不知情的情况下移动数据文件、调整数据文件的大小,以及添加更多数据文件。物理结构和逻辑结构之间的关联在数据字典中维护和记录,数据字典包含用来描述整个数据库的元数据。通过查询数据字典中的某些视图,DBA可以准确地确定每个表的每个部分的位置。

数据字典是存储在数据库中的一组表。此处存在一个递归问题:实例需要了解数据库的物理和逻辑机构,但描述这些的信息本身位于数据库中。此问题的解决方案是分阶段启动进程。

Oracle通过重做日志实现了对变更的捕获。重做日志是对应用于数据的所有变更向量(change vector)的一系列的记录。变更向量是DML语句所做的更改。每当用户会话执行任何更改时,数据块中的数据本身会发生变化,变更向量会以可重复的格式写到重做日志中。在数据文件受到损坏时,可以还原文件备份,而且Oracle将从重做日志提取相关变更向量,并将其应用于文件的数据块中。

控制文件存储数据库物理结构的详细信息,并且是链接到逻辑结构的起点。当某个实例打开数据库时,它首先要读取控制文件,通过使用控制文件中的信息,实例可以连接到数据库的其余部分及其中的数据字典。

单实例数据库的体系结构由4个交互组件构成:

  • 用户与用户进程交互。
  • 用户进程与服务器进程交互。
  • 服务器进程与实例交互。
  • 实例与数据库交互。

Oracle 体系结构一 概述的更多相关文章

  1. Oracle体系结构总结

    1.Oracle 体系结构摘要图 2.Oracle 体系结构相关笔记 1.Oracle 体系结构摘要图 2.Oracle 体系结构相关笔记 可参考Oracle Architecture系列随堂笔记: ...

  2. Oracle 课程一之Oracle体系结构

    课程目标 •理解ORACLE数据库体系架构—内存结构和进程 •理解SQL在数据库中的运作流程 •理解UNDO&REDO原理 •理解commit原理   1.Oracle数据库概述 •数据库:物 ...

  3. Oracle体系结构之进程

    Oracle体系结构之进程 一.概述 Oracle中的每个进程都要执行一个特定的任务(或者一组任务),每个进程都会为自己分配内存(PGA)来完成它的任务.一个Oracle实例主要有以下3类进程: (1 ...

  4. oracle11g之Oracle体系结构(理论基础知识)

    第二章 oracle的体系结构 一.oracle体系结构概述1.实例和数据库组成完整的Oracle数据库系统数据库:一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)实例:一组oracl ...

  5. oracle 体系结构

    oracle 体系结构 数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. 1. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序 ...

  6. Oracle实例和Oracle数据库(Oracle体系结构)

    --========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...

  7. 【转载】Oracle实例和Oracle数据库(Oracle体系结构)

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:Leshami      原文地址:http://blog.csdn.net/ ...

  8. oracle 体系结构解析

    三.oracle 体系结构 1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracl ...

  9. oracle体系结构

    oracle体系结构有四个部分组成分别为:oracle 服务器.用户进程.服务器进程.其他关键文件.其中oracle服务器又有实例(instance)和database组成是一个数据库管理系统. 一. ...

随机推荐

  1. css3特别篇图解FlexBox

    图文转自微博网友勾三股四 一.flex-direction 二.flex-wrap 三.justify-content 四.align-items 五.align-content

  2. JS十进制转二进制(控制位数)

    主要需求:十进制转二进制,可以控制指定的位数. 转化显示后的二进制数为bin-bit中输入的数字宽度.dec-number为5,bin-bit为5,则转化后数字为00101.如果bin-bit小于转化 ...

  3. linux awk 使用的一个例子

    1. 场景 从日志中获取漏发奖励的司机id 2. 日志 如下(需要获取一个时间段的 driverIdStr) ::-thread-] order.service.TOrderInfoServiceIm ...

  4. echarts 表格与 div 之间 空白的设置

    一. options 图表选项,包含图表实例任何可配置选项: 公共选项 , 组件选项 , 数据选项 {Object} grid 二. grid 直角坐标系内绘图网格 名称 默认值 描述 {number ...

  5. CentOS/ubuntu/Solaris软件包安装

    一.CentOS/Red Hat yum = Yellow dog Updater, Modified     (1)yum配置文件      (在CentOS下,默认安装yum,无须配置即可使用) ...

  6. sql-syscolumns,INFORMATION_SCHEMA.columns,sysobjects

    //计算表tb_Blog的字段个数 select count(*) from syscolumns where id=object_id('tb_Blog') 获取指定表的所有字段和字段类型 SELE ...

  7. C语言——单链表初始化、求表长、读表元素、插入元素

    头文件Linear.h // 单链表的类型定义 typedef struct node { int data; // 数据域 struct node *next; // 指针域 }Node, *Lin ...

  8. chrome 插件开发学习

    http://blog.csdn.net/my_business/article/details/7711525

  9. jq重复切换类名

    //重复切换类名"active"$(".probability-rules header").toggleClass("active");

  10. maven学习(六)依赖、聚合、继承

    先说一下概念(个人理解的,有问题请留言): 依赖:我要盖一座房子,就需要很多的砖,这些专就是盖房子的一个依赖.我要跑一个maven项目,需要各种各样的功能,功能实现的jar包和插件就是我的依赖. 聚合 ...