一、数据库结构

  二、Oracle 内存结构

  三、进程结构

  1、 用户进程:在数据库用户请求连接到Oracle 服务器时启动

  2、 服务器进程:可以连接到Oracle实例,它在用户建立会话时启动

  3、 后台进程:再启动Oracle实例时启动

  四、Oracle实例管理

  1、 系统监视器(SMON):出现故障后启动实例时执行崩溃恢复任务

  2、 进程监视器(PMON):用户进程失败时执行进程清理任务

  3、 数据库写进程(DBWn):将修改后的块从数据库缓冲区高速缓存写入磁盘中的数据文件

  4、 检查点(CKPT):通过更新数据库的所有数据文件和控制文件指出最新的检查点

  5、 日志写进程(LGWR):将重做日志条目写入磁盘

  6、 归档进程(ARCn):发生日志切换时将重做日志文件复制到归档存储器

  五、服务器进程和数据库缓冲区高速缓存

  处理某个查询时,Oracle服务器进程会在数据库缓冲区高速缓存中查找它所需的所有数据块。如果未在数据库缓存区高速缓存中找到数据块,服务器进程会从数据文件中读取数据块,并在数据库缓存区高速缓存中添加一个副本。因为关于同一数据块的后续请求可能会在内存中找到该数据块,因此,这些请求可能不需要进行物理读操作。Oracle服务器使用最近用过的算法腾出最近未访问的缓冲区,以便在数据库缓冲区高速缓存中为新数据块提供空间。

  缓冲区高速缓存中的缓冲区可能处于一下四种状态之一:

  ① 已连接:可防止多个会话同时对同一数据块进行写操作。此时,其他会话正等待访问该块。

  ② 干净:缓冲区现已解除连接,如果没有再次引用当前内容(数据块),该缓冲区是可以立即腾出的候选项。此时,不是缓冲区的 内容已与磁盘中存储的数据块内容同步,就是缓冲区中包含块的一致读取(CR)快照。

  ③ 空闲或未使用:实例刚刚启动,缓冲区为空。此状态与“干净”状态非常相似,不同之处在于缓冲区尚未使用。

  ④ 灰数据:缓冲区不再处于已连接状态,但是内容(数据块)已更改,DBWn必须先将内容刷新到磁盘,才能腾出缓冲区。

几种必知的oracle结构图的更多相关文章

  1. 数据库学习之中的一个: 在 Oracle sql developer上执行SQL必知必会脚本

    1 首先在開始菜单中打开sql developer: 2. 创建数据库连接 点击左上角的加号 在弹出的对话框中填写username和password 測试假设成功则点击连接,记得角色要写SYSDBA ...

  2. Visual Studio (VS IDE) 你必须知道的功能和技巧 - 【.Net必知系列】

    前言 本文主要阐述一些Visual Studio开发下需要知道的少部分且比较实用的功能,也是很多人忽略的部分.一些不常用而且冷门的功能不在本文范围,当然本文的尾巴[.Net必知系列]纯属意淫,如有雷同 ...

  3. SQL 必知必会

    本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不 ...

  4. mysql必知必会系列(一)

    mysql必知必会系列是本人在读<mysql必知必会>中的笔记,方便自己以后查看. MySQL. Oracle以及Microsoft SQL Server等数据库是基于客户机-服务器的数据 ...

  5. mysql必知必会

    春节放假没事,找了本电子书mysql必知必会敲了下.用的工具是有道笔记的markdown文档类型. 下面是根据大纲已经敲完的章节,可复制到有道笔记的查看,更美观. # 第一章 了解SQL## 什么是S ...

  6. 《MySQL必知必会》整理

    目录 第1章 了解数据库 1.1 数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 列和数据类型 1.1.4 行 1.1.5 主键 1.2 什么是SQL 第2章 MySQL简介 2.1 ...

  7. 《SQL必知必会》笔记

    SQL必知必会(第4版) 作者:[美]Ben Forta 本书介绍了sql在不同数据库工具(Oracle.SQLite.SQL server.MySQL.MariaDB.PostgreSQL...)是 ...

  8. SQL 必知必会 总结(一)

    SQL必知必会 总结(一) 第 1 课 了解SQL 1.数据库(database): 保存有组织的数据容器(通常是一个文件或一组文件). 2.数据库管理系统(DBMS): 数据库软件,数据库是通过 D ...

  9. MySQL使用和操作总结(《MySQL必知必会》读书笔记)

    简介 MySQL是一种DBMS,即它是一种数据库软件.DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS.前者用于桌面用途,通常不用于高端或更关键应用. My ...

随机推荐

  1. javascript之高级函数应用思想

    1.级联函数:应用对象方法调用的连写 function A(){ this.a = ''; this.b = ''; this.c = ''; } //改造一下 A.prototype = { A.p ...

  2. jquery + json 操作

    jquery 读取集合对象多是要与json进行解析操作的,以下自己经过多方资料查找,终于有一套自己的方式组合.  1.首先创建web services或一般处理程序,用于显示获取Datatable对象 ...

  3. jquery ListBox 左右移动

    <head runat="server"> <title>无标题页</title> <script type="text/jav ...

  4. DTcms 扩展字段标签调用

    前台模版: 文章列表:{dr[author]} 文章内容{model.fields[author]} 点击数 后台CS文件:model.fields["author"].ToStr ...

  5. input获取永久焦点

    $(function () { $('#test').blur(function () { var that = this; //或者用闭包 setTimeout(function () { $(th ...

  6. 数据可视化(三)- Seaborn简易入门

    本文内容来源:https://www.dataquest.io/mission/133/creating-compelling-visualizations 本文数据来源:http://www.cdc ...

  7. 不得不知道的Python字符串编码相关的知识

    开发经常会遇到各种字符串编码的问题,例如报错SyntaxError: Non-ASCII character 'ascii' codec can't encode characters in posi ...

  8. Kinetic使用注意点--ellipse

    new Ellipse(config) 参数: config:包含所有配置项的对象. { radius: "半径,可以用数字a.数组[a,b]或对象{x:a,y:b}来表示" } ...

  9. EXTJS 4.2 资料 将store 传到后台

    var lstAddRecord = new Array(); store.each(function (record) { lstAddRecord.push(record.data); }); E ...

  10. java 构造函数

    1.public className(){}. 2.名称与类名相同,无返回值,无返回类型,void也不行.(就是上边的形式,除了可以有参数). 3.有0个或多个参数. 4.每个类都至少有一个const ...