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中的事务隔离级别和锁的关系
前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力. ...
随机推荐
- python 十进制数转二进制数
def convertToBinary(n): """Function to print binary number for the input decimal usin ...
- C++getline使用
C++getline使用 一.心得 getline(cin,s);多去看函数的使用默认说明 二.使用 getline(istream &in, string &s) 从输入流读入一行到 ...
- Android 之低版本高版本实现沉浸式状态栏
沉浸式状态栏确切的说应该叫做透明状态栏.一般情况下,状态栏的底色都为黑色,而沉浸式状态栏则是把状态栏设置为透明或者半透明. 沉浸式状态栏是从android Kitkat(Android 4.4)开始出 ...
- Linux命令详解-install
install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户. 1.命令格式: (1)install [选项]... 来源 目的地 (2)install [选项]... 来源... 目录 ...
- POJ 2411 状压DP经典
Mondriaan's Dream Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 16771 Accepted: 968 ...
- 数据库链接池 durid 的配置参数详解
这里我主要介绍druid 比较重要的参数解释,不做druid的使用介绍,druid虽然功能强大,但是如果对配置参数理解不到位,性能非但不能达到很优,而且会出现很多异常,所以使用druid之前一定要清楚 ...
- Monkey测试练习
1.下载Android SDK 2.打开SDK Manager.exe自动下载 3.配置环境变量 将platform-tools的路径(如: C:\001myWorkspace\eclipse(MAV ...
- Sql 基础问题
Ref Projection and Selection 联结查询的原理(笛卡尔积) 设计 MySQL 数据表的时候一般都有一列为自增 ID,这样设计原因是什么,有什么好处?
- [转] .net软件反编译笔记
原文地址:http://blog.csdn.net/three_bird/article/details/51433734 在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎 ...
- Centos 中扩展 软件源 的安装 之 Remi ( 为yum 扩展软件源 )
平时一般都是使用Ubuntu的,最近用起来Centos 发现软件安装方便不是很方便, 在安装过程中接触到了这么一个概念, 就是为yum 安装 扩展源, 这里下面要说的就是其中的 Remi ...