一、为什么需要System checkpoint SCN号与Datafile Checkpoint SCN号

1.对只读表空间,其数据文件的Datafile Checkpoint SCN、Start SCN和END SCN号均相同。这三个SCN在表空间处于只读期间都将被冻结。

2.如果控制文件不是当前的控制文件,则System checkpoint会小于Start SCN或END SCN号。记录这些SCN号,可以区分控制文件是否是当前的控制文件。

Recovery database using backup controlfile

当有一个Start SCN号超过了System Checkpoit SCN号时,则说明控制文件不是当前的控制文件,因此在做recovery时需要采用using backup controlfile。这是为什么需要记录SystemCheckpoint SCN的原因之一。

二、重建控制文件,重建方式分两种(resetlogs和noresetlogs)

1.使用resetlogs选项时,System Checkpoint SCN为被归为0,而其中记录的各个数据文件的Datafile Checkpoint SCN则来自于Start SCN(也就是说可能会从冷备份的数据文件的数据文件头中获取)。根据上述的描述,此时需要采用using backup controlfile做recovery.因此情况是System Checkpoint SCN=0 < Start SCN = Datafile Checkpoint SCN。

2.使用noresetlogs选项时,有一个前提就是:一定要有online redo log的存在。否则就要使用resetlogs选项。这个时候控制文件重建好时,其system checkpoint SCN=Datafile Checkpoint SCN=Lastest Checkpoint SCN in online redo log,我们可以看到Datafile Checkpoint SCN并没有从Start SCN中读取。而是读取了最新的日志文件中的SCN作为自己的数据。此时重建的控制文件在恢复中的作用跟最新的控制文件类似,System Checkpoint SCN(已经读取最新的redo log的checkpoint SCN信息)可能会>Start SCN(因为数据文件可能会从冷备份中恢复),恢复时就不需要加using backup controlfile子句了。

3.关于backup controlfile的补充:backup controlfile只有备份时刻的archive log信息,并没有DB crash时刻的archive log信息,所以并不会自动应用online redo log,而是提示找不到序号为Lastest Archive log sequence + 1的archive log,尽管你可以手动指定online redo log来实现完全恢复,但因为一旦使用了using backup controlfile子句,Oracle就视为不完全恢复,必须open resetlogs!实际上,假如你有旧的控制文件又不想resetlogs,那很简单,使用旧的控制文件mount然后backup to trace,然后手工创建控制文件,使用reuse database … noresetlogs .这样就可以recover database自动恢复并open database而不用resetlogs了(记住:必须有所有的online redo logs才可以这样!)。

三、Low SCN与Next SCN

1.在一个事务提交后,会在redo log中存在一条redo记录,同时,系统为其提供一个最新的SCN(通过函数dbms_flashback.get_system_change_number可以知道当前的最新SCN),记录在该条记录中。如果该条记录是在redo log被清空(日志满做切换时或发生checkpoint时,所有变化日志已经被写入数据文件中)前,则其SCN被记录为redo log的low SCN。以后在日志再次被清空前写入的redo记录中SCN则成为Next SCN。

2.当日志切换或发生checkpoint时,从Low SCN到Next SCN之间的所有redo记录的数据就被DBWn进程写入数据文件中,而CKPT进程则将所有数据文件(无论redo log中的数据是否影响到该数据文件)的文件头上记录的Start SCN(通过视图v$datafile_header的字段checkpoint_change#可以查询)更新为Next SCN,同时将控制文件中的System Checkpoint SCN(通过视图v$database的字段checkpoint_change#可以查询)、每个数据文件对应的Datafile Checkpoint(通过视图v$datafile的字段checkpoint_change#可以查询)也更新为Next SCN。但是,如果该数据文件所在的表空间被设置为read-only时,数据文件的Start SCN和控制文件中Datafile Checkpoint SCN都不会被更新。

oracle恢复关系,SCN与Oracle数据库恢复的关系–补充相关推荐

  1. oracle通过表空间文件进行数据库恢复,oracle通过DBF恢复数据

    前一段客户运行的项目数据库突然崩溃,并且没有进行数据备份.解决办法: 1,安装oracle 10g数据库并创建一个要恢复的数据库相同一的实例(注意:最好是新安装的数据库,并且安装的数据库尽量和要恢复的 ...

  2. oracle支持非关系数据库,Oracle-03: 关系型数据库和非关系的数据库的各自优缺点与区别...

    Oracle-03: 关系型数据库和非关系的数据库的各自优缺点与区别 ------------ 吾亦无他, 唯手熟尔, 谦卑若愚, 好学若饥 ------------- 常见的非关系型数据库:Mong ...

  3. mysql删除数据库恢复_详解MySQL数据库恢复误删除数据

    血的教训,事发经过就不详述了.直接上操作步骤及恢复思路(友情提示:数据库的任何操作都要提前做好备份),以下是Mysql数据后的恢复过程: 1. 找到binlog 恢复数据的前提是必须开启Mysql的b ...

  4. oracle sql '[[alpha]]',Alpha865qqz.id 加密数据库恢复

    接到一网友新的加密勒索文件恢复请求,加密文件类似: 对应的!!! HOW TO BACK YOUR FILES !!!.TXT文件说明 YOUR FILES ARE ENCRYPTED !!! TO ...

  5. pe系统备份oracle数据库,Oracle 通过表空间文件进行数据库恢复

    操作系统:WindowsXP2 数据库:oracle 10g 由于数据库服务器崩溃,造成了无法进入系统进行数据库备份,只能从光盘的PE系统把oracle相关文件拷贝出来.对于拷贝出来的文件在测试机上进 ...

  6. oracle通过表空间文件进行数据库恢复,Oracle数据库表空间恢复方案_oracle

    一. 用户表空间 错误: 在启动数据库时出现ORA-01157,ORA-01110或操作系统级错误例如ORA-07360,在关闭数据库(使用shutdown normal或shutdown immed ...

  7. oracle日志分析产品,鼎甲技术应用:Oracle日志分析 之事务级精准恢复

    一.挖出需要解决的问题 专业数据灾备软件中,对Oracle数据库的恢复,都需要以时间为基准来选择数据恢复点,用户希望数据能恢复到自己指定的时间上,更高级的用户则要求恢复到指定SCN.所以,目前在对Or ...

  8. oracle rman部分恢复,Oracle中使用RMAN备份及一些恢复方法

    使用RMAN备份并恢复 Backup  备份命令生成 Backup sets (备份集合),以 oracle 专有的格式保存, 由一个完全的所有的备份片集合构成,构成一个完全备份或增量备份. 1.1. ...

  9. Oracle IMS DB2都属于,IMS数据库  IMS database

    摘 要: IMS(Information Management System)是一种层次型的数据库管理系统,其数据以一种树型的逻辑拓扑结构进行存储,非常适合支持高可用性.高性能.高容量.低成本的关键性 ...

最新文章

  1. Angular - - ngReadonly、ngSelected、ngDisabled
  2. perl mysql 数据推拉_Perl操作Mysql数据库
  3. 使用socket获取网卡信息
  4. 深入理解计算机系统学后感,深入理解计算机系统(读书笔记)
  5. [UE4]自动旋转组件
  6. 全库模式 用户模式 表模式_暗模式,亮模式和用户的故事
  7. 北京市中 高英语听说计算机考,2021年北京高考首次英语听说机考时间确定,共五种题型...
  8. 初创公司怎么做销售数据分析_初创公司与Faang公司的数据科学
  9. 【ES8(2017)】Object 扩展 values() / entries() / getOwnPropertyDescriptors()
  10. mac php gd(mac osx 10.9.4)
  11. linux设备驱动程序注册过程详解
  12. netcfg可以在cmd中运行,但在python 的os.system函数中执行却找不到该应用程序
  13. Vue——v-if控制元素是否显示
  14. Pod 污点和容忍度
  15. 智能送药小车解说(国二)
  16. windows GitLab配置ssh秘钥keys
  17. 英特尔发布酷睿系列 | 历史上的今天
  18. Filament加载并渲染glTF模型
  19. 当运行pychrm时遇到please select a valid interpreter怎么解决
  20. Python每日bug定时发送飞书群

热门文章

  1. python操作内置Sqlite数据库
  2. Windows 平台安装 MongoDB
  3. hog函数的用法 python_Python中的基本函数及常用用法简析
  4. “鉴定一下网络热门平台上的小广告”
  5. iPhone 14 Pro外观细节曝光:打孔屏加持 支持新一代的LTPO技术
  6. 彻底凉凉!两头部网红女主播账号被封,逃税被罚近亿元 还被曝不给员工交社保...
  7. 顺丰同城通过港交所聆讯 今年前五个月收入为30.46亿元
  8. 被薅秃了!元气森林:损失近千万元 将为14.05万下单用户每人寄一箱白桃气泡水...
  9. 英国反垄断监管机构将对音乐流媒体市场展开调查
  10. 华为又有大动作!继鸿蒙之后,即将发布全新操作系统OpenEuler欧拉