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. CSS单行、多行文本溢出显示省略号(……)解决方案

    单行文本溢出显示省略号(-) text-overflow:ellipsis-----部分浏览器还需要加宽度width属性 .ellipsis{ overflow: hidden; text-overf ...

  2. ccf-201809-2 买菜

    问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车.具体的,对于小H来说有n个不相交的时间段 ...

  3. 爬取地图列表并下载-node.js

    var fs = require('fs'); var request = require('request'); var cheerio = require('cheerio'); var url ...

  4. 洛谷11月月赛题解(A-C)

    心路历程 辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了.. A P4994 终于结束的起点 打出暴力来发现跑的过最大数据?? 保险起见还是去oeis了一波,然后被告 ...

  5. new Date(年-月)时间是8点

    new Date('2018-02')获取的小时是8时解决new Date('2018-2')获取的小时是0时

  6. 【Machine Learning】决策树之ID3算法 (2)

    决策树之ID3算法 Content 1.ID3概念 2.信息熵 3.信息增益 Information Gain 4. ID3 bias 5. Python算法实现(待定) 一.ID3概念 ID3算法最 ...

  7. 深度优先搜索算法(Depth-First-Search,DFS)

    深度优先搜索算法的概念 与广度优先搜索算法不同,深度优先搜索算法类似与树的先序遍历.这种搜索算法所遵循的搜索策略是尽可能"深"地搜索一个图.它的基本思想如下:首先访问图中某一个起始 ...

  8. Genymotion模拟器拖入文件报An error occured while deploying the file的错误

    今天需要用到资源文件,需要将资源文件拖拽到sd卡中,但老是出现这个问题: 资源文件拖不进去genymotion.查看了sd的DownLoad目录,确实没有成功拖拽进去. 遇到这种问题的,我按下面的思路 ...

  9. 【NLP_Stanford课堂】语言模型4

    平滑方法: 1. Add-1 smoothing 2. Add-k smoothing 设m=1/V,则有 从而每一项可以跟词汇表的大小相关 3. Unigram prior smoothing 将上 ...

  10. 【Leetcode】【Medium】Linked List Cycle

    Given a linked list, determine if it has a cycle in it. 解题: 判断单链表是否具有环,使用两个指针once和twice遍历链表,once一次走一 ...