【Oracle】物理体系结构
一、ORACLE 物理体系结构
原理结构图

各部分解释:
PGA: 私有内存区,仅供当前发起用户使用。
三个作用
- 用户登录后的session信息会保存在PGA。
- 运行排序。假设内存不够,oracle会在暂时表空间中完毕
- 保存用户权限信息
SGA: 包括共享池,数据缓冲区,日志缓冲区以及一些相关的进程。
DATABASE: 数据终于存放的地方,当中一块区域是日志存放区。数据和记录日志又由DBWR和LGWR来写入数据库和重做日志组,待一个重做日志组满了之后切换到下一个,等到循环了一次之后,原来排序为第一组的日志会被ARCH进程写入归档日志。
2结构深入
2.1 从一条查询sql语句解析结构
如果有一条sql: select * from user where user_id='20'
- Sql被解析后。(1区)PGA保存其登陆和权限信息。这一点必须注意,假设保存了该信息,下次调用sql的时候就不须要又一次校验。直接玩PGA里取即可了。
- 随后该sql会匹配一条唯一的HASH值并到达2区的共享池。共享池推断此HASH值是否之前已经存在,假设存在就直接运行就OK了;假设不存在,就要检查sql的语法、语义等进行验证并解析。
解析什么呢?就是要把select * from user where
user_id='20' 这条语句,在user_id存在索引的情况下,oracle对最优COST做出选择(究竟是索引扫描还是全表扫描),作出选择后oracle会把改运行计划和之前的那条HASH值放在一起。 - 带着条件,sql下一步会到数据缓冲区中查找是否存在user_id为20的记录。假设缓冲区有则立即返回结果。假设无,则要到3区(database)中查找。不管是否找到都要返回结果。
2.2 从一条更新sql语句解析结构
如果有一条sql:update user set user_name='萧红'
- 如上步骤1.2 。
- 把数据的操作记录写到重做日志
- 写入数据库中。持久化数据。把数据库user表的user_name 字段都改为萧红。
3提交与回滚
- 当用户提交commit的时候,数据并不会立即刷进数据库。
数据何时会被刷入数据库?
这与CKPT进程有关。当缓冲区的数据量达到一定的程度时,CKPT进程会被触发,数据此时才批量刷入数据库。
当刷入数据库前断电了怎么办?REDU机制又一次运行日志恢复数据。
2. ROLLBACK 运行的是UNDO
【Oracle】物理体系结构的更多相关文章
- Oracle物理体系结构
一.ORACLE 物理体系结构 原理结构图 各部分解释: PGA: 私有内存区,仅供当前发起用户使用. 三个作用 用户登录后的session信息会保存在PGA. 执行排序,如果内存不够,oracle会 ...
- Oracle的体系结构
前言 这个章节主要想说的是Oracle的体系结构,这个也是理论强些.还有一些比较理论的知识点(比如表空间啊),就暂时先不写了,下一章节开始进入Oracle的操作阶段,比如表的查询啊.插入以及重点是和S ...
- Oracle基础(九) Oracle的体系结构
一.Oracle体系结构概述: Oracle的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制.要了解Oracle数据库的体系结构,必须理解Oracle系统的重要概念和主要 ...
- Oracle学习笔记--第2章 oracle 数据库体系结构
第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...
- Oracle学习笔记之二,Oracle 11g体系结构
Oracle 11g体系结构概述 实例(Instance),是指一组Oracle后台进程以及在服务器中分配的共享内存区域: 数据库(Database),是由基于磁盘的数据文件.控制文件.日志文件.参数 ...
- Oracle数据库体系结构(2)数据库实例
Oracle实例的概念: 实例(Instance):就是数据库管理系统,处于用户与物理数据库之间的一个中间层软件,由一系列内存结构和后台进程组成. 用户操作数据库的过程实质上与数据库实例建立连接,然后 ...
- oracle数据库体系结构
一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...
- Oracle数据库体系结构、启动过程、关闭过程
一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...
- Oracle 物理备份--rman
Oracle 物理备份--rman 1.直接在服务器,打开命令行,输入: rman target/ 2.配置参数也一同备份 configure controlfile autobackup on; 如 ...
随机推荐
- 【翻译】十大要避免的Ext JS开发方法
原文地址:http://www.sencha.com/blog/top-10-ext-js-development-practices-to-avoid/ 作者:Sean Lanktree Sean ...
- memory引擎的索引失效一例
memory引擎的索引失效一例 memory引擎的索引失效一例
- R语言与数据分析之六:时间序列简介
今年在某服装企业蹲点了4个多月,之间非常长一段时间在探索其现货和期货预測.时间序列也是做销售预測的首选,今天和小伙伴分享下时间序列的基本性质和怎样用R来挖据时间序列的相关属性. 首先读入一个时间序列: ...
- Swift - 区间运算符(... 和 ..<)
区间运算符可以用来表示两个操作数之间的范围集合. 1,闭区间运算符:a...b 1 2 3 for iCount in 512...1024{ //从512遍历到1024(包括1024) } ...
- Web API设计
Web API设计经验与总结 在移动互联网的时代, Web服务已经成为了异构系统之间的互联与集成的主要手段,各种 Web服务几乎都采用REST风格的Web Api来构建. 通过Http协议的形式来. ...
- 爬虫总结_python
import sqlite3 Python 的一个非常大的优点是很容易写很容易跑起来,缺点就是很多不那么著名的(甚至一些著名的)程序和库都不像 C 和 C++ 那边那样专业.可靠(当然这也有动态类型 ...
- 疯狂Android演讲2 环境配置
笔者:本笃庆军 原文地址:http://blog.csdn.net/qingdujun/article/details/37053681 jdk-6u3-windows-i586-p.exe 下载地 ...
- [Word使用笔记]分类简介
什么Vistual Studio , Eclipse , Xcode , 都弱爆了,Word比他们难多了 - -! 此分类用于记录Word的一些使用
- linux 查看某进程或程序的网卡流量(转)
一.nethogs介绍 分享一个linux 下检测系统进程占用带宽情况的检查.来自github上的开源工具. 它不依赖内核中的模块.当我们的服务器网络异常时,可以通过运行nethogs程序来检测是那个 ...
- java学习笔记13--比较器(Comparable、Comparator)
java学习笔记13--比较器(Comparable.Comparator) 分类: JAVA 2013-05-20 23:20 3296人阅读 评论(0) 收藏 举报 Comparable接口的作用 ...