首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle配置和使用闪回

环境:RHEL 6.4 + Oracle 11.2.0.4 目录: 一、闪回查询 1.1 闪回查询举例 1.2 闪回版本查询举例 二、闪回事物 2.1 闪回事物查询的先决条件 2.2 闪回事物查询...三、闪回表 四、Flashback Data Archive 五、闪回数据库 5.1 配置闪回数据库 5.2 使用闪回数据库 5.3 监视闪回数据库 Reference 一、闪回查询 -- 初始化参数...二、闪回事物 flashback_transaction_query包含对数据库执行的所有更改,包括DDL操作。...2.1 闪回事物查询的先决条件 必须先启用重做日志流的其他日志记录。闪回事物查询既需要增强的重做信息,也需要撤销信息。...--由于未启用row movement,闪回表会报错ORA-08189: SQL> flashback table t1 to timestamp systimestamp - interval '3'

82210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    oracle更新不生效以及提交后回滚

    更新不生效,原因是未提交 使用PL-SQL操作oracle时,执行完更新语句update tab set name='a' where id='1'; 结果显示1 row updated in 0.001...可以执行COMMIT;进行提交,也可以点击commit图标进行提交,此时会显示Done in 0.001 seconds,即更新成功 提交后,如何"回滚" execute执行后 可以回滚 commit...提交后 闪回恢复原来的数据 其实Oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交。...但是 commit提交后 可以用闪回查询恢复原来的数据 因为oracle会将近期的数据保存到快照中 如: SELECT * FROM tab AS OF TIMESTAMP TO_TIMESTAMP(...as select * from oldtable where 1=0; 如果不加where条件,创建的新表和旧表字段和数据都一样啦,相当于复制过来了。

    1.9K40

    SQL命令 START TRANSACTION

    通过为正在查询该表的流程设置ISOLATION LEVEL,可以指定是否希望在查询结果中包含或排除这些正在进行的更改。 READ UNCOMMITTED表示所有更改都可以立即用于查询访问。...这包括随后可能被回滚的更改。 READ UNCOMMITTED确保查询将在不等待并发插入或更新进程的情况下返回结果,并且不会因为锁定超时错误而失败。...然而,READ UNCOMMITTED的结果可能包括未提交的值; 这些值在内部可能不一致,因为插入或更新操作只部分完成,这些值可能随后被回滚。...READ VERIFIED声明来自其他事务的未提交数据立即可用,并且不执行锁操作。 这包括随后可能被回滚的更改。...如果查询包含聚合函数,则聚合结果将返回数据的当前状态,而与指定的隔离级别无关。 因此,聚合结果中包含正在进行的插入和更新(随后可能回滚)。 正在进行的删除(随后可能会回滚)不包括在聚合结果中。

    1.4K30

    SQL修改数据库

    因此,如果在事务期间清除高速缓存的查询,然后回滚该事务,则在回滚操作之后,高速缓存的查询将保持清除状态(不会恢复)。事务内发生的DDL操作或调谐表操作可以创建和运行临时例程。...提交未提交的隔离级别:对于其他用户进行查询(只读)访问,可以看到未提交的对数据的插入,更新和删除。如果未指定任何事务,则为默认设置。...已验证隔离级别:可供其他用户以查询(只读)访问的方式看到未提交的对数据的插入,更新和删除。提供对查询条件所使用并由查询显示的数据的重新检查。...读取已提交的隔离级别:未提交的插入和更新对数据所做的更改未显示在查询结果集中。查询结果集仅包含已提交的插入和更新。但是,未提交的删除对数据所做的更改将显示在查询结果集中。...不管当前的隔离级别如何,以下SELECT命令子句始终返回未提交的数据:聚合函数,DISTINCT子句,GROUP BY子句或带有%NOLOCK关键字的SELECT。

    2.4K30

    数据库备份和恢复

    数据文件太旧(比如从一个备份集中恢复过来的文件。)...备份自动 故障恢复时间非常短 缺点和限制 需要数据库归档(OLAP类型的数据库不适宜归档) 对于海量数据不合适 Oracle的闪回技术–flashback 数据库的闪回 默认数据库的闪回是关闭的。...可以用以下命令查询看是否是开启的 select flashback_on from v$database; 可以用以下命令开启,建议开启flashback alter database flashback...on; 基于SCN的闪回 一般不太容易知道SCN,不易获得SCN 基于时间的闪回 数据库闪回到具体时间 表的闪回 system用户删除的table不进recyclebin,普通用户删除的table会进入...SQL> drop table t1 purge; 关于回收站的资料如下: http://www.jb51.net/article/34733.htm DML操作的闪回 事务的闪回 版本的闪回 上面三种闪回后面在进行补充

    2.1K30

    SQL命令 SET TRANSACTION

    通过为正在查询该表的流程设置ISOLATION LEVEL,可以指定是否希望在查询结果中包含或排除这些正在进行的更改。 READ UNCOMMITTED表示所有更改都可以立即用于查询访问。...这包括随后可能被回滚的更改。 READ UNCOMMITTED确保查询将在不等待并发插入或更新进程的情况下返回结果,并且不会因为锁定超时错误而失败。...然而,READ UNCOMMITTED的结果可能包括未提交的值; 这些值在内部可能不一致,因为插入或更新操作只部分完成,这些值可能随后被回滚。...READ VERIFIED声明来自其他事务的未提交数据立即可用,并且不执行锁操作。 这包括随后可能被回滚的更改。...如果查询包含聚合函数,则聚合结果将返回数据的当前状态,而与指定的隔离级别无关。 因此,聚合结果中包含正在进行的插入和更新(随后可能回滚)。 正在进行的删除(随后可能会回滚)不包括在聚合结果中。

    77720

    回滚段undo

    Undo的作用 数据的回滚 一致性读 表的闪回(事务,查询的闪回..)...SQL> alter database noarchivelog; alter database noarchivelog * 第 1 行出现错误: ORA-38774: 无法禁用介质恢复 - 闪回数据库已启用...如何设置undo更合理地为我们工作呢? Undo表空间的大小:   我们在创建一个undo表空间的使用,就指定了它的大小,这个大小一旦创建是不可变更的。...就像理发师的数量与理发师的效率的关系一样。理发师效率很高,一秒钟解决一个客户,那么就不需要太多的理发师傅。 Undo表空间的历史信息: 如何合理设置undo表空间的大小和存放时间呢?...那么就需要参考历史记录 关于如何设置undo表空间的大小可以参见: 【技术分享】如何确定或调整undo表空间的大小 关于如何设置undo表空间的存放时间可以参见: undo_retention:确定最优的撤销保留时间

    1.8K42

    如何在多租户环境下使用数据库的闪回功能

    编辑手记:对于数据库的闪回功能,可能大家都不陌生,那么如何在多租户环境下使用该功能,如果关闭了表空间的闪回功能,会给数据库带来哪些影响?我们一起来学习。 本文来自周四大讲堂内容整理。...闪回数据库: 使用闪回数据库,通过还原自先前某个时间点以来发生的所有更改,可快速将数据库恢复到那个时间的状态。因为不需要还原备份,所以此操作速度很快。可以使用此功能还原导致逻辑数据损坏的更改。 ?...使用闪回数据库时,Oracle DB 可使用过去的块映像回退对数据库的更改。在正常数据库操作期间,Oracle DB 会不定期地将这些块映像记录在闪回日志中。闪回日志将按顺序写入并且不进行归档。...字段含义如下: OLDEST_FLASHBACK_SCN 保留的最低系统改变号; OLDEST_FLASHBACK_TIME 最低系统改变号的时间; RETENTION_TARGET 闪回日志保留时间...总结: 序号 问题 结果 1 关闭表空间的闪回功能,闪回数据库会给出什么告警信息? 如果数据库中有表空间没有开启闪回,将告警显示没有该表空间的闪回日志可以闪回。

    1.1K50

    【OCP最新题库解析(052)--题60】Which three are true about UNDO data?

    A 答案 Answer:CDF Oracle中闪回技术分类图如下所示: ?...接下来,前滚之后,任何未提交的更改必须被撤消,而回滚是在数据库做完前滚操作后并打开数据库的情况下完成的,SMON会利用Undo信息将未提交的事务全部进行回滚。...对于Oracle数据库来说,必须提供一致性读,并且该一致性读是在没有阻塞用户的DML操作的前提下实现的。 那么Undo数据是如何实现一致性读的呢?...(4)实现闪回功能 闪回功能中的闪回查询(Flashback Query)、闪回版本查询(Flashback Version Query)、闪回事务查询(Flashback Transaction Query...)和闪回表(Flashback TABLE)都是基于Undo表空间中的回滚信息实现的。

    53520

    【Oracle数据库】手滑删错数据,一步步教你如何挽救?

    大家好,又见面了,我是你们的朋友全栈君。 前言 常在河边走,哪能不湿鞋? 今天有客户联系说误更新数据表,导致数据错乱了,希望将这张表恢复到 一周前 的指定时间点。...数据库版本为 11.2.0.1 操作系统是 Windows64 数据已经被更改超过1周时间 数据库已开启归档模式 没有DG容灾 有RMAN备份 下面模拟一下问题的详细解决过程!...一、分析 以下只列出常规恢复手段: 数据已经误操作超过一周,所以排除使用UNDO快照来找回; 没有DG容灾环境,排除使用DG闪回; 主库已开启归档模式,并且存在RMAN备份,可使用RMAN异机恢复表对应表空间...,使用DBLINK捞回数据表; Oracle 12C后支持单张表恢复; 结论:安全起见,使用RMAN异机恢复表空间来捞回数据表。...大致操作步骤如下: 主库查询误更新数据表对应的表空间和无需恢复的表空间。

    28320

    删用户删表空间的操作还能flashback回来吗?

    drop user aaa cascade; drop tablespace asd including contents and datafiles; PS:他这里没有指明闪回是闪回查询?闪回表?...那我们就从一个不了解闪回特性的角度来一一看这个问题(这里假设是这个用户下就一张表) 下面是整个分析过程: 场景一、闪回查询 SQL> create table aaa.a1(id number); Table...aaa.a1 as of scn 3575965 * ERROR at line 1: ORA-00942: table or view does not exist 可以看出闪回查询是无效的...,其实你要是懂一点闪回查询首先可以排除掉,因为闪回查询是基于undo的,而且undo受ddl影响的,drop操作并不会使用到undo表空间,所以基于undo的闪回查询在这种场景并不能找回数据。...那么要是在上面的情况下,我只执行了drop usercascade命令,而没有执行drop tablespace including datafile(在闪回数据库模式下),结果又会有什么不同呢?

    87120

    TDSQL 全时态数据库系统 -- 典型案例

    例如,图13中,结果集中第2条元组,不满足试算公式,表明流水ID为2的交易进行了错误的帐户余额更新或流水记录的交易变动值出错。...结果集中的第4条元组,Change字段的值为NULL,代表该条交易的流水缺失。通过下表,我们对各种错误情况进行总结,这些错误,都需要在对账过程中进行报警。...联机闪回 T-TDSQL提供联机的数据闪回,可以查询过去某个时间段的数据库状态。 而读取数据库的过去某个时间点的数据状态(历史态被储存而不是被清理),依据的是4.1.1节提及的三种快照读操作。...这是闪回实现的原理。 基于此原理,实现了多种类型的联机闪回功能,包括:闪回查询,闪回删除,闪回归档。 1. 闪回查询:可以查询过去某个时间段的数据库状态,可将某个表回退到过去某个时间点。 2....闪回删除:闪回删除可以将一个已经被Drop的表还原。相应的索引也会被还原(索引的还原是通过重建的方式进行)。 3. 闪回归档:闪回数据归档可使表具有回退到过去任何时间点。

    9.5K2018

    MySQL学习笔记(长期更新)

    插入查询结果,MySQL⽀持把查询的结果插⼊到数据表中,我们可以指定字段,甚⾄是数值,插⼊到数据表中。...05-主键:如何正确设置主键? 主键设计思路: 业务字段做主键 自增字段做 主键 手动赋值字段做主键 尽量不要使用业务字段 总结:业务字段做主键,不排除后期业务需要会出现主键一致的问题。...都属于当前事务 COMMIT:提交事务,执行当前事务的全部操作,使更改的数据生效 ROLLBACK:表示回滚当前事务的操作,取消对数据的修改 事务的四个特性: 原子性(atomicity):表示事务的操作要么全部执行...当操作多表时,未防止数据不一致的问题,保持操作的原子性,需要事务回滚rollback。 如何做好事务的隔离性? 会员张三是储值会员,他的会员卡⾥有100元。...16-游标:对于数据集中的记录, 该怎么逐条处理? 游标:对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。 18-权限管理:如何控制数据库访问,消除安全隐患?

    96310

    mysql性能优化

    table:输出结果集的表 partitions:匹配的分区 type:表示表的连接类型 possible_keys:表示查询时,可能使用的索引 key:表示实际使用的索引 key_len:索引字段的长度...select count(name)排除了name为null的数据 select count(id)包含其他字段为null的情况 理论上count(name)比count(id)要快,因为count(id...= 1 启动外键约束 //如何杀死事务的进程号 select * from information_schema.innodb_trx t; 查询开启的事务信息 select t.trx_mysql_thread_id...可重复读 select @@tx_isolation; MySQL事务隔离级别 脏读: 当前session读取到另外session未提交的事务的数据,另外session有可能会回滚该数据。...假设事务A对某些行的内容作了更改,但是还未提交,此时事务B插入了与事务A更改前的记录相同的记录行,并且在事务A提交之前先提交了,而这时,在事务A中查询,会发现好像刚刚的更改对于某些数据未起作用,但其实是事务

    1K10

    【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.8-闪回事务技术

    1 闪回事务(Flashback Transaction)         到目前为止,介绍的所有功能均不会直接将数据恢复为“以前”的样子。...闪回查询只是查看,闪回数据归档只是延伸了闪回查询的时间窗口,闪回事务查询虽然提供了撤销SQL,但是否执行及如何执行还需要管理员进一步手动操作。         ...若是管理员决定撤销某个或某些事务,Oracle提供一个专门用来撤销事务的工具——闪回事务。...1.1 闪回事务概念概述         闪回事务又名撤销事务(Backout Transaction),能够撤销一个或多个事务的修改,其功能由一个名为DBMS_FLASHBACK.TRANSACTION_BACKOUT...外建依赖:由于TX1的修改(insert或update)而产生了新的可被外键参考的字段值,之后TX2修改(insert或update)外键字段时利用了TX1所产生的字段值。

    12610

    每日一练:完全恢复与不完全恢复概念

    以下步骤描述了在完全恢复期间发生的情况: 从备份中恢复损坏或丢失的文件。 根据需要应用增量备份、归档重做日志文件和在线重做日志文件的更改。...恢复的数据文件现在可能包含已提交和未提交的更改。 undo块用于回滚任何未提交的更改。这有时称为transaction recovery。...过度恢复状态:State of over-recovery:现在数据文件包含一些已提交和一些未提交的事务,因为重做日志包含未提交的数据。...流程完成:数据文件现在恢复到选择的时间点。 Oracle闪回数据库是DBPITR最有效的替代方案。与其他闪回特性不同,它在物理级别操作,并将当前数据文件还原为过去时间的内容。...其结果类似于DBPITR的结果,包括打开的RESETLOGS,但Flashback数据库通常更快,因为它不需要恢复数据文件,与介质恢复相比,只需要有限的重做应用程序。

    77020

    SQL语句执行过程详解

    他的作用就是把查询到的数据结果返回给用户端进程,从而完成整个查询动作。从这整个查询处理过程中,我们在数据库开发或者应用软件开发过程中,需要注意以下几点: 一是要了解数据库缓存跟应用软件缓存是两码事情。...DBCC FREESYSTEMCACHE 从所有缓存中释放所有未使用的缓存条目 SQL语句中的函数、关键字、排序等执行顺序: 1. FROM 子句返回初始结果集。 2....此外,HAVING 子句排除不满足搜索条件的行。 6. 计算所有的表达式; 7. 使用 order by 对结果集进行排序。 8. 查找你要搜索的字段。...B.如果未 commit 就断电了,因为数据已经在 db buffer 更改了,没有 commit,说明这部分数据不属于数据文件,由于 dbwr 之前触发 lgwr 也就是只要数据更改,(肯定要先有 log...在这里要说一下回滚段存储的数据,假如是 delete 操作,则回滚段将会记录整个行的数据,假如是 update,则回滚段只记录被修改了的字段的变化前的数据(前映像),也就是没有被修改的字段是不会被记录的

    4K60
    领券