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. 一个简单的JQuery自适应分页插件twbsPagination

    下载地址:http://esimakin.github.io/twbs-pagination/ 1 解决totalPages不更新的问题 (先移除然后重新加入DOM树中)在使用twbsPaginati ...

  2. angular2-HttpClient

    @angular/common/http中的HttpClient类,Angular 为应用程序提供了一个简化的 API 来实现 HTTP 功能.它基于浏览器提供的XMLHttpRequest接口. H ...

  3. webpack_hmr报错 cannot load 状态500

    使用vue-cli时,启动本地环境,然后页面没有关闭,直接切换到线上环境,过一会会发起一个http://xxx/__webpack_hmr请求,会报cannot load原因:它属于nodejs中的一 ...

  4. 2d动画开发之PIXI开发

    简单的移动小游戏只要引入pixi.min.js就可以, 如果要用spine动画(龙骨也支持导出spine格式的)就要引入pixi-spine.js 如果还有声音的支持引入pixi-sound.js 学 ...

  5. 02_NIO简单实例

    [一个用NIO实现的客户端向服务端单向通信的例子] [服务端程序] package com.nio.test; import java.io.IOException; import java.net. ...

  6. Http超文本传输协议

    HTTP 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传 ...

  7. java面试题之----Java内部类

    这是我学习Java内部类的笔记 1.为什么使用内部类? 使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现, 对于内部类都没有影响 ...

  8. SQL Server ->> Computed Column(计算列)

    Computed Column(计算列)是自SQL Server 2005开始就有的特性.计算列的定义是一个表达式.表达式可以是非计算列,常量,函数间的组合.但是不可以是子查询. 计算列数据固化 默认 ...

  9. npm install 安装项目依赖,报错ERR! Unexpected end of JSON input while parsing near的方法汇总

    问题描述: npm install 安装项目依赖的时候,有时会出现: ERR! Unexpected end of JSON input while parsing near 错误 原因: npm 的 ...

  10. ZT C,C++表达式求值顺序 裘老的解释。 [问题点数:300分]

    http://bbs.csdn.net/topics/370153775 [置顶] [推荐] C,C++表达式求值顺序 裘老的解释. [问题点数:300分] 最近这问题有从日经变时经的趋势,这里贴出裘 ...