1、关于checkpoint的概述

checkpoint是oracle在数据库一致性关闭、实例恢复和oracle基本操作中不可缺少的机制,包含以下相关的含义:

A、检查点的位置(checkpoint position)为一种数据结构,在redo流中记录的SCN号是在进行数据库实例恢复起始位置。

检查点的位置由在数据缓冲池中存在的最老的脏数据位置决定,检查点的位置相当于一个指向redo流的指针,并且检查点的信息存储在控制文件和数据文件的头中。

B、将数据缓冲区中修改后的脏数据写入到磁盘中。

2、checkpoint的目的

A、当实例恢复或者介质恢复时,减少恢复所需要的时间

B、确保在数据缓冲区中的脏数据已经写入到磁盘当中

C、确保在进行数据库一致性关闭的时候所有提交的数据都写入到磁盘当中

3、什么时候数据库启动checkpoint

CKPT进程负责将checkpoint的信息写入到数据文件头中和控制文件中,包括以下几种类型的检查点

A、thread checkpoint(线程检查点或者数据库检查点)

数据库将所有在数据缓冲区内由redo修改过的数据写入到磁盘中在某些动作之前,这个线程检查点在所有的实例中的集合称之为数据库检查点(database checkpoint),线程检查点发生在下列情况下:

——数据库一致性关闭的时候

——ALTER SYSTEM CHECKPOINT语句的时候

——在线日志切换的时候

——ALTER DATABASE BEGIN BACKUP语句的时候

B、tablespace and data file checkpoint(表和数据文件检查点)

数据库将所有在数据缓冲区内由redo修改过的数据写入到磁盘中在具体动作之前,表空间的检查点是数据文件检查点的集合,每个数据文件都在这个表空间之内,此种检查点发生在以下情况:

——将一个表空间设置为只读的方式

——将一个表空间设置为offline

——数据文件大小变化的时候

——执行ALTER TABLESPACE BEGIN BACKUP的时候

C、incremental checkpoint(增量检查点)

增量检查点是线程检查点的一种,是为了避免在线日志切换的时候需要写入大量的脏数据到磁盘中,DBWn每三秒检查一次看是否有数据是否要写入到磁盘当中,当DBWn进程需要将脏数据写入到磁盘中时,从而推进检查点的位置,导致CKPT进程将检查点位置信息写入到控制文件中,但是不会写入到数据头文件中。

D、其他的检查点包括实例和介质恢复检查点、检查点当schema对象被dropped和truncated的时候

4、相关进程CKPT

CKPT进程的全称为checkpoint process,负责:

A、更新控制文件和数据头文件中的检查点信息

B、通知DBWn进程将脏数据写入磁盘中

检查点信息包括:

A、检查点位置

B、SCN

C、在线日志文件中开始恢复的位置

CKPT进程不负责将脏数据写入到磁盘中,不负责将redo缓冲区的数据写入到在线日志文件中

DBWn进程负责将脏数据存盘,LGWR进程负责将redo缓冲区中的书籍存盘

oracle检查点checkpoint信息的更多相关文章

  1. oracle检查点队列与增量检查点【转载】

    oracle检查点队列与增量检查点 今天是2013-09-04,这几天一直心里安顿不下来,今天还好了,可以自己安静的学习一下oracle,在此记录一下学习笔记.这篇文章我不知道在那转载的,一直都留在我 ...

  2. oracle学习----统计信息

    1.收集统计信息的方式 for all columns size skewonly BEGIN  DBMS_STATS.GATHER_TABLE_STATS(ownname          => ...

  3. 验证Oracle收集统计信息参数granularity数据分析的力度

    最近在学习Oracle的统计信息这一块,收集统计信息的方法如下: DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2, ---所有者名字 tabname ...

  4. ORACLE收集统计信息

    1.     理解什么是统计信息 优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·       ...

  5. Oracle Statistic 统计信息 小结

    oraclestatisticstabledatabasesqldictionary   目录(?)[-] 直方图上列的信息说明 直方图类型说明   一.  Statistic 说明 Oracle 官 ...

  6. ORACLE 收集统计信息

    1.     理解什么是统计信息优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·        ...

  7. oracle检查点队列(checkpoint queue)

    buffer cache CBC链 按地址链 LRU  干净buffer LRUW  脏buffer  按照冷热 checkpoint queue:链buffer,①链脏块②按buffer第一次脏的时 ...

  8. 134、TensorFlow检查点checkpoint文件中的信息

    # 1.你想创建多少Saver对象就可以创建多少,如果你需要去保存和恢复不同的子图模型 # 同样的变量可以在不同的saver对象中被加载 # 只有在Saver.restore()方法被调用的时候才会对 ...

  9. SQL SERVER的检查点checkpoint

    1 什么是检查点 数据修改操作 都是在 内存中的数据页进行修改,每次修改后并没有立即把这些页面写入磁盘,而是等到一定时期,数据库引擎对数据库发起 检查点命令,这时,该命令就会创建一个已知的正常点,把当 ...

随机推荐

  1. 用JUnit4进行单元测试

    转载:http://tonl.iteye.com/blog/1948869 参考: http://thihy.iteye.com/blog/1771826 http://developer.51cto ...

  2. Linux中断处理体系结构分析

    Linux中断处理体系结构分析(一) 异常,就是可以打断CPU正常运行流程的一些事情,比如外部中断.未定义指令.试图修改只读的数据.执行swi指令(Software Interrupt Instruc ...

  3. linux服务器下发送邮件

    系统管理人员经常会遇到对于设备或者任务的预警与通知,通常情况有发送短信.邮件等方式.发送短信一般来说需要有短信猫(硬件)或者调用libfetion给飞信用户发送.本文介绍几种简单的发送邮件的方式. 本 ...

  4. C# 时间函数

    DateTime dt = DateTime.Now; string str = dt.ToString("yyyy-MM-dd");//2013-09-07 str = dt.T ...

  5. Android handler.obtainMessage()

    在handler.obtainMessage()的参数是这样写的: Message android.os.Handler.obtainMessage(int what, int arg1, int a ...

  6. C# 使用AutoResetEvent进行线程同步

    AutoResetEvent 允许线程通过发信号互相通信. 通常,当线程需要独占访问资源时使用该类. 线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号. 如果 AutoRe ...

  7. sudo

    sudo的目的:为非根用户授予根用户的权限: 配置文件:/etc/sudoers visudo命令编辑修改/etc/sudoers配置文件 1.一般用户赋权设置: [root@localhost ~] ...

  8. json格式的字符串转为json对象遇到特殊字符问题解决

    中午做后台发过来的json的时候转为对象,可是有几条数据一直出不来,检查发现json里包含了换行符,造成这种情况的原因可能是编辑部门在编辑的时候打的回车造成的 假设有这样一段json格式的字符串 va ...

  9. Eclipse中Python插件PyDev的安装与配置流程

    安装PyDev插件的两种安装方法: 方法1.下载地址:http://sourceforge.net/projects/pydev/files/,将下载的PyDev解压(目前最新版本 PyDev 4.5 ...

  10. linux关机和重启的命令[转]

    如果你很急着关机或者重启话,那么关机就是init 0,重启就是init 6或者reboot Linux中常用的关机和重新启动命令有shutdown.halt.reboot以及init,它们都可以达到关 ...