oracle scn与数据恢复,基于scn的数据恢复
不小心delete掉一些数据,而且已经commit了,怎么办?我们可以基于回闪(flashback)和scn进行一些数据的恢复。
--查询当前scn
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
4787371
SQL> SELECT COUNT(*) FROM hjm_tb_test01;
COUNT(*)
----------
10072
--模拟误删除数据:
SQL> delete from hjm_tb_test01 where object_id<=5000;
已删除4940行。
SQL> commit;
提交完成。
--删除数据后只有5132行了,原为10072行
SQL> SELECT COUNT(*) FROM hjm_tb_test01;
COUNT(*)
----------
5132
--创建用于恢复的表,将恢复数据插入其中
SQL> create table hjm_tb_test01_recov as select * from hjm_tb_test01 where 1=0;
表已创建。
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
4788873
SQL> select count(*) from hjm_tb_test01 as of scn &scn;
输入 scn 的值: 4788873
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788873
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4787873
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4787873
COUNT(*)
----------
10072
SQL> /
输入 scn 的值: 4788872
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788872
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788772
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788772
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4787972
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4787972
COUNT(*)
----------
10072
SQL> /
输入 scn 的值: 4788072
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788072
COUNT(*)
----------
10072
SQL>
SQL> /
输入 scn 的值: 4788999
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788999
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788500
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788500
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788700
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788700
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788800
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788800
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788900
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788900
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788950
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788950
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788990
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788990
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788995
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788995
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788998
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788998
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788999
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788999
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788572
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788572
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788200
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788200
COUNT(*)
----------
10072
SQL> /
输入 scn 的值: 4788300
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788300
COUNT(*)
----------
10072
SQL> /
输入 scn 的值: 4788400
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788400
COUNT(*)
----------
5132
SQL> /
输入 scn 的值: 4788350
原值 1: select count(*) from hjm_tb_test01 as of scn &scn
新值 1: select count(*) from hjm_tb_test01 as of scn 4788350
COUNT(*)
----------
10072
SQL> insert into hjm_tb_test01_recov select * from hjm_tb_test01 as of scn 4788350;
已创建10072行。
SQL> commit;
提交完成。
SQL>
oracle scn与数据恢复,基于scn的数据恢复相关推荐
- Oracle Golden Gate 系列十二 -- GG 数据初始化装载二 基于SCN 的初始化 说明 与 示例...
一.初始化说明 GG实施过程中,初始化是一个重要的工作,尤其是要初始化的数据较多,并且系统又是7*24的时. 对于静态初始化,把业务停掉,DB 上的数据就不会有变化,这时候,我们可以用expdp/im ...
- 基于SCN的查询(AS OF SCN)
仍以前文中创建的表为例,既然是基于SCN的查询,我们首先就需要得到SCN,这里我们通过DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER函数来获取Oracle当前的SCN, ...
- 获取当前scn号scn1_11.1.1.2 基于SCN的查询(AS OF SCN)
11.1.1.2 基于SCN的查询(AS OF SCN) 仍以前文中创建的表为例,既然是基于SCN的查询,我们首先就需要得到SCN,这里我们通过DBMS_FLASHBACK.GET_SYSTEM_C ...
- 基于SCN和时间点的不完全恢复
完全恢复与不完全恢复是数据库的两种恢复方式,顾名思义,他们的区别就是恢复后数据没有没丢失,不完全恢复是指恢复后有部分数据丢失,而完全恢复没有. 完整恢复是由于Oracle应用了归档日志和联机重做日志中 ...
- Oracle 的 DBMS_SCN 修正以及 SCN 的 auto-rollover 新特性
在 Oracle 11.2.0.2 之后,随着一系列 SCN 耗尽问题的出现,很多补丁涌现出来,一个新的 Package 增加进来. 这个 Package 就是 DBMS_SCN. 如果你的数据库中存 ...
- oracle技术之检查点及SCN深入研究
一.检查点概述 大多数关系型数据库都采用"在提交时并不强迫针对数据块的修改完成"而是"提交时保证修改记录(以重做日志的形式)写入日志文件"的机制,来获得性能的优 ...
- Oracle数据文件scn不一致,数据文件SCN的一致性问题
1.数据库正常运行中,所有数据文件的SCN都是一致的吗? 2.将一数据文件offline后,再将其online时,这个数据文件的SCN会前提吗?假如是,前提到的SCN是怎么确定的? 1.数据库正常运行 ...
- mysql 跳过一个事物_MySQL基于GTID的数据恢复
大家好,我是anyux.本文介绍MySQL基于GTID的数据恢复. 文末总结基于GTID的数据恢复,并有导图 创建一个数据库 gtid,在gtid库下创建表tmp,插入5行数据 create data ...
- Oracle 数据库中的多种SCN汇总
SCN: 简单介绍SCN可称为系统改变号或者系统提交号,是Oracle内部的一种时间机制. SCN的作用: (1)一致性读,比如Oracle在读取数据时会比较读开始的SCN值和数据块的SCN值,从而判 ...
最新文章
- 瑞幸咖啡百万大咖活动 记人生第一次豪赌,净赔了200元钱。
- App架构设计经验谈:展示层的设计
- 内附 PPT | 新零售里程碑,神策数据新起点
- Ubuntu 15.04 安装TensorFlow(源码编译) 及测试梵高作画
- 今天才发现自己美工其实很厉害!
- Python花式编程案例集锦(9):sorted()函数中消失的cmp参数
- 最优二叉搜索树(动态规划)
- linux make 无法生成 .o gch,Linux--makefile的使用
- VC++6.0 DDK 环境配置
- 阿里巴巴高级Java面试题(首发,70道)
- deepin20.7安装mysql8.0.30教程
- C# http请求挂代理
- 把这本书讲给更多人(中):两次历史上著名的谋杀案?
- [Microsoft SQL Server Management Studio]SSMS查询年龄最大学生的姓名和年龄问题及查询最高的学生的学号问题分析及解决
- 如何根据自己的需要培养游戏开发技能?又一篇游戏编程入门指南
- Android9.0中应用如何通过SAF框架写入外置SD卡
- window.showModalDialog()用法
- Installing Zune software on Windows Server 2003 SP2 (x86)
- 单片机光敏电阻控制蜂鸣器_小白求助——如何用光敏电阻控制蜂鸣器开关?(晴天娃娃闹钟)...
- 最大赢家!TCL X10获SID 2021年度最佳显示产品奖