SCN与数据恢复的关系
Oracle内部主要存在以下四种SCN 
1.系统检查点(system
checkpoint)SCN 
每当一个检查点完成时,Oracle就把该检查点对应的SCN记录到控制文件中,可以用以下语句查看当前数据库
的检查点SCN: 
select
CHECKPOINT_CHANGE# from v$database;
CHECKPOINT_CHANGE# 
------------------ 
       
6627441168 
2.数据文件头SCN(数据文件的启动SCN)
该SCN记录在每个数据文件头中,正常情况下,该SCN应该和记录在控制文件中的检查点SCN一致,可以用以下语句查看数据文件头的SCN:
select
FILE#,CHECKPOINT_CHANGE# from v$datafile_header;
FILE# CHECKPOINT_CHANGE# 
----------
------------------ 
         1         6627448310 
         2        
6627448310 
         3         6627448310 
         4        
6627448310 
         5         6627448310 
3.数据文件的检查点SCN和终止SCN 
这两个SCN不是记录在数据文件中,而是记录在控制文件中,可以通过以下语句查看: 
select
CHECKPOINT_CHANGE#,LAST_CHANGE# from v$datafile;
CHECKPOINT_CHANGE# LAST_CHANGE# 
------------------
------------ 
        6627448310 
       
6627448310 
        6627448310 
       
6627448310
6627448310
那么Oracle是如何根据这些不同的SCN来判断某个数据文件是否需要恢复以及恢复类型呢?可以用下面的伪代码描述:
if (数据文件检查点SCN <数据文件头SCN)
then "控制文件来自备份,需要进行不完全恢复,恢复之后得用resetlog方式打开”
else if (数据文件检查点SCN > 数据文件头SCN)
then "数据文件来自备份,需要log进行完全或不完全恢复"
else if (数据文件检查点SCN = 数据文件头SCN)
then "数据库能正常open,还需要判断是否需要实例恢复"
if (数据文件终止SCN = 数据文件检查点SCN)
then "数据库打开时不需要实例恢复“
else if (数据文件终止SCN = NULL)
then "数据库需要实例恢复"
原文链接:http://blog.csdn.net/u010415792/article/details/8858582
SCN与数据恢复的关系的更多相关文章
- 转--Oracle DB 服务器系统时间修改问题与 SCN 关系的深入研究
		
论坛里一个朋友说将DB 服务器系统时间往往后修改了3个月(从11年改成10年),启动DB报600的错误. 一. 先做个测试 1.1 关闭DB SQL> shutdown immediate Da ...
 - 已知要闪回的大致时间使用基于as of scn的闪回查询
		
基本判断出要恢复误操作的dml的时间可以使用如下的方法进行数据的恢复: example: 一.创建test表 -------create table flashback_asof------ crea ...
 - 【体系结构】有关Oracle SCN知识点的整理
		
[体系结构]有关Oracle SCN知识点的整理 1 BLOG文档结构图 BLOG_Oracle_lhr_Oracle SCN的一点研究.pdf 2 前言部分 2.1 导读和注意事项 各位技 ...
 - golden gate的DDL配置
		
DDL复制的配置 目前只支持oracle和teradata的ddl复制 oracle能复制除了系统对象之外的所有对象 两种配置方法: 基于trigger的DDL:对于生产库有一定影响. 原理: 源库建 ...
 - SCN试验之二 checkpoin scn 与数据库scn的关系
		
oracle11g 观察数据库scn: SQL> select dbms_flashback.get_system_change_number from dual; GET_SYSTEM_CHA ...
 - MYsql 锁详解   锁 与索引的关系
		
原文:http://blog.csdn.net/xifeijian/article/details/20313977#t10 mysql innodb的锁是通过锁索引来实现的. select ...
 - Oracle 表和表数据恢复
		
1. 表恢复 对误删的表,只要没有使用 purge 永久删除选项,那么基本上是能从 flashback table 区恢复回来的. 数据表和其中的数据都是可以恢复回来的,记得 flashback ta ...
 - Oracle的数据恢复——Flashback用法汇总
		
/* 11g的flashbackup 分好几种,分别用途不一样. A.flashback database 闪回数据库,简单理解就是把数据库闪回到某个以前的时间点, 能恢复到的最早的SCN, 取决与F ...
 - Innodb中的事务隔离级别和锁的关系
		
前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力. ...
 
随机推荐
- C# typeof 与GetType()的区别
			
C#中Type类的介绍:https://msdn.microsoft.com/zh-cn/library/system.type(VS.80).aspx C#中任何对象都具有GetType()方法,它 ...
 - java学习之浅谈多线程2--线程同步
			
如果一个共享资源被多个线程同时访问,可能会遭到破坏.举个例子说明这个问题,假设创建并启动100个线程,每个线程都往同一个账户中添加一个便士,代码如下: import java.util.concurr ...
 - PHP+MySql+jQuery实现的“顶”和“踩”投票功能
			
index.html <!DOCTYPE HTML><html><head><meta charset="utf-8"><ti ...
 - JAVA-随机生成四则运算
			
代码如下: package jiajianchengchu; import java.util.*; public class jisuan { public static String yuefen ...
 - 递归--练习9--noi8758 2的幂次方表示
			
递归--练习9--noi8758 2的幂次方表示 一.心得 找准子问题就好 二.题目 8758:2的幂次方表示 总时间限制: 1000ms 内存限制: 65536kB 描述 任何一个正整数都可以用 ...
 - C#正则_取出标签内的内容(非贪婪)
			
using System.Text.RegularExpressions; /// <summary> /// 执行正则提取出值 /// </summar ...
 - UVA-11491 Erasing and Winning (单调队列)
			
题目大意:给一个数字(开头非0),拿掉其中的d个数字,使剩下的数字最大(前后顺序不能变). 题目分析:拿掉d个数字,还剩下n-d个数字.相当于从n个数字中按先后顺序选出n-d个数字使组成的数字最大,当 ...
 - IOS-高仿bilibili项目
			
高仿bilibili项目成长之路 (logo) 高仿bilibili项目 Github链接:(https://github.com/MichaelHuyp/Bilibili_Wuxianda) 目前完 ...
 - IOS-CoreData(增删改查、表关联、分页和模糊查询、多个数据库)
			
1>什么是CoreData Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数 ...
 - 李氏滑动事件冲突解决方案 之 处理子ViewGroup的超棒方案
			
父ViewGroup(CurView) 和 子 ViewGroup(ParentView) 滑动事件冲突解决方案 之 处理子ViewGroup的超棒方案: 子ViewGroup 以 SlipRelat ...