数据被删除 或者 update 的时候忘记勾选where 限制条件,数据全部更新了?  怎么办? 要跑路了? NO !!! 看下面,迅速帮你闪回数据! demo sql: 1. SELECT * FROM CT_FIN_RiskItem  --先查询表,确定数据的确不对  (cfstatus 第一行缺少) 2. select * from CT_FIN_RiskItem as of timestamp to_timestamp('2017-04-20 10:45:03','yyyy-mm-dd…
Oracle Flashback Technologies - 估算不同时间段闪回日志的产生量 v$flashback_database_stat监控闪回数据的i/o开销的统计信息,根据之前的系统负载估算闪回空间需求.时间间隔是一小时. SQL> select * from v$flashback_database_stat order by begin_time; BEGIN_TIM END_TIME FLASHBACK_DATA DB_DATA REDO_DATA ESTIMATED_FLA…
好久没写东西了,今天写一篇凑个数吧,来公司一年多了,感觉自己到了一个小瓶颈期了. 以前每天很多新东西,都是忙着学,感觉没时间写博客总结一下,大部分都是写笔记,现在又是没东西可以写,每天干着95%都是重复的工作,大部分时间在运维,但我内心是把自己当做dba的,毕竟当初老大把我从java开发拉倒系统组^_^ 上次一个技术把表中的数据删除,这次是另一个技术把正确的包给覆盖了,我给恢复了,哈哈哈---有用的话看一下 参考博客:https://blog.csdn.net/wyzxg/article/det…
我们在开发和运维过程中,经常遇到数据被误删除的情况.无论是在应用开发中的Bug,还是修改数据的时候,如果提交了错误数据修改结果,会带来很多问题.一般来说,一旦提交commit事务,我们是不能获取到之前的数据情况,除非使用较复杂的数据恢复手段,利用备份数据恢复. 但是在Oracle中,可以使用其闪回FlashBack特性来解决这个问题.首先,声明一点,闪回Flashback的范围很大,包括数据库.表.数据均是可以Flashback的,但是机制差别很大.本文说的是简单的数据flashback,用来快…
Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback query(闪回查询)前提: SQL> show parameter undo; NAME                                TYPE       VALUE ------------------------------------ ----------- --------…
今天操作Oracle数据库时,做一个Update数据时,不小心少写了个where,看这粗心大意的. 于是乎,把所有的员工工号都给更新成一个同一个工号了.这是一个悲催的故事. 因为工号是Check了好多次才存入数据库,工号是唯一性的啊~~ 不过,好在更新过后意识到这一点了.于是乎,先停止操作数据库.想想数据库Commit过后的数据可以回退不!在网上搜索了一下.发现Oracle有“闪回”的功能.具体“闪回”的概念,可以参见百度百科. 如果多次commit数据后,那可不可以闪回呢?貌似不可以.闪回只能…
 概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的备份恢复工具如RAMN去完成(这才是Oracle强大备份恢复机制的精髓所在啊)  撤销段(UNDO SEGMENT) 在讲闪回技术前,需要先了解Oracle中一个逻辑结构--撤销段.因为大部分闪回技…
闪回技术有闪回表.闪回删除.闪回查询.闪回事务查询.闪回事务.闪回数据库.闪回数据归档.其中,闪回查询.闪回事务查询用来“观察”过去:闪回数据归档并不是一个独立的功能,其功能是扩展闪回查询的时间窗口:闪回表.闪回删表能够以表为单位“回到”过去:闪回事务能够以事务为单位“回到”过去:闪回数据库能够以数据库为单位“回到”过去. 一. 闪回表(Flashback Table) 闪回表是利用UNDO表空间的撤销数据,所以能把表闪回到多久之前受到undo_retention,UNDO表空间的数据文件是否启…
--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间内的各个版本 --- 使用闪回事务查询查看事务处理历史记录或行 会还原表及其关联对象(如索引.约束条件.触发器等)中的数据. 所谓闪回表,就是将表里的数据回退到历史的某个时间点,比如回退到用户误删除数据之前的时间点,从而将误删除的数据恢复回来,在这个操作过程中,数据库仍然可用而且不需要额外的空间.…
原理: Oracle根据还原表空间信息,利用还原表空间中的数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. 删除删除错误的dml操作的oracle的前提准备: 一.保证可以闪回两个小时之前的数据 show parameter undo_retention 显示事务在undo表空间中至少保存的时间.表示一个事务提交以后,该事务的数据至少要在还原表空间中保存的undo_retention参数指定的时间(秒). alter system set undo_rete…
Flashback 技术基于Undo segment基于内容的, 因此,限制UNDO_RETENTON参数. 要使用flashback 特征,您必须启用自己主动撤销管理表空间. 在Oracle 11g内部和外部使用的新功能:Oracle Flashback Data Archive. FDA通过将变化数据另外存储到创建的闪回归档区(Flashback Archive)中,以和undo差别开来, 这样就能够为闪回归档区单独设置存储策略,使之能够闪回到指定时间之前的旧数据而不影响undo策略. 在O…
(一)闪回技术概要 闪回技术是数据库备份与恢复的重要补充手段,主要包括以下7种特性: 特性 原理 数据库支持 闪回查询(Flashback Query) 利用undo表空间中的回退信息,查询过去某个时刻或SCN时表中数据的快照 Undo表空间配置 闪回版本查询(Flashback Version Query) 利用undo表空间中的回退信息,查询过去某个时间段或某个SCN段内数据的变化情况 Undo表空间配置 闪回事务查询(Flashback Transaction Query) 利用undo表…
恢复oracle中误删除drop掉的表   查看回收站中表 --需要在其所在用户下查询 回收站对象 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 恢复表 SQL>flashback table test_drop to before drop;或SQL>flashback table "BIN$b+XkkO1RS5K10uKo9Bfmu…
闪回与归档的相关测试 参考博客:http://www.cnblogs.com/hellojesson/p/7050097.html 数据库在归档模式下的管理 参考博客:http://www.cnblogs.com/hellojesson/p/7182219.html 场景描述: 本地数据库 当前运行在非归档模式 没有开启闪回功能!!! 我们要做的操作是将:数据库切换在归档模式 ,开启数据库的闪回功能: 并且:自定义闪回恢复区路径以及大小 自定义归档日志存放路径. 补充一个操作说明:其实可以参照o…
闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完恢复的补充. 5.2 flashback分类:(PPT-II-253) 1)flashback drop 2)flashback query (新添flashback database archive) 3)flashback table 4)flashback version query 5)fl…
一,闪回表初探 闪回须知: 1 使用闪回表注意如下事项: 2 3 (1)被闪回的表必须启用行移动功能 4 5 SQL> alter table dept enable row movement; 6 7 (2)“FLASHBACK TABLE”命令的执行者必须有“FLASHBACK ANY TABLE”系统权限或者在被闪回的表上具有“FLASHBACK”对象权限. 8 9 (3)“FLASHBACK TABLE”属于DDL命令,隐式提交. 10 11 (4)SYS用户的任何表无法使用此功能. 闪…
一,flashback Oracle Flashback技术是一组数据库特性,它可以让你查看数据库对象的过去状态,或者将数据库对象返回到以前的状态,而无需使用基于时间点的介质恢复.根据数据库的变化,闪回特性可以更快的回退不想要的变化,而且相比介质恢复,对数据库可用性产生的影响更小. 利用闪回特性,你能够: 执行回到过去的数据查询 执行显示对数据库更改的详细历史的元数据的查询 将表或行恢复到之前的时间点 自动追踪和归档事务数据的更改 当数据库保持在线状态时,回退事务和与它相关的事务 flashba…
在Oracle Database 12.1中,闪回数据库操作仅限于 CDB ,Oracle Database 12.2支持 CDB 与 PDB 数据库的闪回. PDB 的还原点种类:1. normal restore point:          create restore point pdb1_point1;2. guaranteed restore point:      create restore point pdb1_point1 guarantee flashback datab…
1.知识点:能够对比以下的录屏进行阅读 SQL> --1. 错误地删除了记录 SQL> --2. 错误地删除了表 SQL> --3. 查询历史记录 SQL> --4. 怎样撤销一个已经提交的事务 SQL> SQL> --闪回的类型 SQL> --1. 闪回表:将表回退到过去的一个时间上 SQL> --2. 闪回删除:Oracle回收站 SQL> --3. 闪回版本号查询:全部历史记录 SQL> --4. 闪回事务查询:通过select语句得到一个…
[学习目标] Flashback Database 功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到 过去的某个时点的状态,这个功能依赖于Flashback log日志.比RMAN 更快速和高效.因 此Flashback Database可以看作是不完全恢复的替代技术. 本章主要内容是描述FLASHBACK 的使用. [本章要点] • 开启.配置闪回 • 使用闪回恢复数据 [关键术语] Flashback 闪回 RecycleBin 回收站 Timestamp 时间戳 System…
本文主要介绍利用UNDO表空间的闪回技术,主要包括:闪回表,闪回版本查询,闪回事务查询,闪回查询.这些闪回技术实现从回滚段中读取表中一定时间内操作过的数据,可用来进行数据比对,或者修正意外提交造成的错误数据.由于利用的是UNDO表空间里记录的数据被改变前的值,因此数据在UNDO空间中保留多久就尤为重要,其中与之关系最紧密的是 UNDO_RETENTION参数. 关于UNDO_RETENTION UNDO_RETENTION 通常默认是900 秒,也就是15 分钟.值得注意是,undo_reten…
一.闪回 1.可能的误操作 (1)错误的删除了记录 (2)错误的删除了表 (3)查询历史记录 (4)撤销已经提交了的事务. 2.对应着以上四种类型的误操作,有四种闪回类型 (1)闪回表:将表回退到过去的一个时间上 (2)闪回删除:还原Oracle回收站 (3)闪回版本查询:所有历史记录 (4)闪回事务查询:通过一个select 语句得到一个undo_sql,通过该undo_sql闪回 3.事实上oracle数据库还有另外两种闪回类型 (5)闪回数据库 (6)闪回归档日志 4.系统改变号:由时间戳…
数据库闪回原理: 一旦启用了闪回数据库,修改的块映像会不时从数据库缓冲区复制到闪回缓冲区.通过新的后台恢复写入器(Recovery Writer, RVWR)将此闪回缓冲区内容刷新到磁盘和闪回日志接着LGWR将日志缓冲区刷新到磁盘,然后DBWR写数据文件. 执行数据库闪回时,Oracle读取闪回日志以提取每个改变块的数据块版本,并将这些版本复制到文件. 具体实验步骤如下: 1. 配置闪回数据库 //确保数据库处于archivelog模式 SQL> select log_mode from v$d…
闪回归档 1. 什么是闪回数据归档? 闪回归档是用来保存一个或多个表的历史数据的新数据库对象,以及该数据的存储保留和清除策略.归档只是保存数据库中一个或多个表的所有事务处理的变化的一个或多个表空间,数据库将缓冲区高速缓存中的所有原始数据作为撤销数据写入撤销表空间,一个称为Flashback Data Archiver Process(FBDA)的新后台进程把原始数据收集并写入一个闪回数据归档中,因而创建了一个所有表数据的历史,为了启用闪回归档必须创建一个带有flashback data arch…
到目前为止,介绍的所有功能均不会直接将数据恢复为“以前”的样子.闪回查询只是查看,闪回数据归档只是延伸了闪回查询的时间窗口,闪回事务查询虽然提供了撤销SQL,但是否执行及如何执行还需要管理员进一步手动操作. 若是管理员决定撤销某个或某些事务,Oracle提供一个专门用来撤销事务的工具——闪回事务. 闪回事务又名撤销事务(Backout Transaction),能够撤销一个或多个事务的修改,其功能由一个名为DBMS_FLASHBACK.TRANSACTION_BACKOUT的存储过程实现.该存储…
问题现象,测试环境执行SQL hang住 enmo:/home/oracle/worksh dg.sh SQL*Plus: Release Production on Mon May :: Copyright (c) , , Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release - 64bit Production With the Partitioning, OLAP,…
emmmm 写这个博客心情很复杂,,,本来这个触发器早就写好了,后来发生点事就写个博客当个备份吧,就当留纪念了:话不多数上问题以及SQL: 问题: 在ABONPB表上增加一个触发器,针对车牌号字段做update操作且new:传入的mduser字段为API,status为P时,向PA_BANK_REGNO_RECORD表中insert 一条记录,sync字段为0,修改次数为之前的次数加1,其余字段参考字段意义.(YC) 当insert进ABONPB时新案件时,同理lla_code为MA  为条件也…
1. SELECT * FROM CT_FIN_RiskItem  --先查询表,确定数据的确不对  (cfstatus 第一行缺少) 2. select * from CT_FIN_RiskItem as of timestamp to_timestamp('2017-04-20 10:45:03','yyyy-mm-dd hh24:mi:ss') --查询 修改数据之前时间 该 表数据是否正常,如果正常 采用该时间戳 进行下一步的  闪回数据! 下面呢有两种闪回方式: 2.1 查询上一布 正…
Oracle 中利用闪回查询确定某表在某时间点之后的修改内容: 1.查看 DELETE 及 UPDATE 操作修改的数据: SQL> SELECT * FROM tab AS OF TIMESTAMP  to_timestamp('time_point', 'yyyy-mm-dd hh24:mi:ss') MINUS SELECT * FROM tab; 其中将查询得 tab 表在 time_point 时点之后因 DELETE 及 UPDATE 操作修改的数据. 2.查看 INSERT 操作修…
oracle的闪回很早就出来了,准确的说一直以来应该都较少被真正用户广为使用,除了dba和极少部分开发人员偶尔用于逻辑出错.误删恢复之外,较少被用于产生更有价值的用途. 各种闪回表flashback table.flashback query.flashback transaction都有一定的适用场景,但是他们称不上和其他特性比如分区.并行那么自然和普遍适用性,同时数据存储在撤销表空间,而撤销表空间的性能对系统影响极大,大量的undo保留着会使得更多的顺序读变成随机读.直到oracle 11g…