Flashback在开发环境(有时生产环境的特殊情况下)是很有用的一个工具。
5.1 9i Flashback 简介
5.1.1 原理
当数据 update 或 delete 时,原来的数据会保存在 undo 表空间中,保存的最少时间是 UNDO_RETENTION.实际的保存时间与 undo表空间的大小和数据更改的繁忙程度相关。 UNDO_RETENTION 的参数(单位为秒)指定 Oracle保存用于 flashback查询的 undo映像 的时间。一般你可以将这个值设为一整天(864000秒),这样你就能看到前一天全天的映像。 当然,你的在线 undo日志必须足够大,大到足以能保存一整天的 undo日志数据,对于繁忙的 Oracle系统,这个数值可以达到很大。
5.1.2 一些限制
服务器必须配置成使用自动 undo管理。
在使用 Flashback查询时不能使用 DDL或者 DML.
Flashback 不取消 DDL操作,例如 DROP命令。 数据库管理员做一些必要的设置之后,一般用户才能使用 Flashback查询功能:
SQL> ALTER SYSTEM SET UNDO_MANAGEMENT=AUTO
SQL> ALTER SYSTEM SET UNDO_RETENTION=86400
SQL> GRANT EXECUTE ON DBMS_FLASHBACK TO USERNAME;
5.1.3 获得SCN或时间点
在 Flashback 时,可以尝试多个 SCN,获取最佳值。
如果能得知具体时间,那么可以获得准确的数据闪回。
SQL> alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS'; SQL> select sysdate from v$database;
捕捉提交的 SCN: // 不知为什么,两种方法获得的 SCN不一样
SQL> select dbms_flashback.get_system_change_number scn from dual;
SQL> select max(ktuxescnw * power(2,32) + ktuxescnb) SCN from x$ktuxe;
5.1.4 启用或禁用flashback查询
使用系统改变数(SCN)或者真实时间来指定 flashback 的时间点来获取数据映象。
方法一:SQL> select * from as of scn 129292;
SQL> select * from as of timestamp to_timestamp('时间', ‘时间格式');
SQL> select * from saflog as of timestamp to_timestamp('2007-12-18 08:40:00','YYYY-MM-DD HH24:MI:SS');
方法二:启用:
SQL> exec dbms_flashback.enable_at_system_change_number(112112);
SQL> exec dbms_Flashback.enable_at_time('28-AUG-02 11:00:00');启用后看到的只是闪回的结果,实际上并未恢复数据。且闪回状态下不能做DML操作。可以先恢复到一个临时表中。见示例。
禁用:SQL> execute dbms_flashback.disable();
5.1.5 示例:
declarecursor c1 is select * from scott.emp_temp;r_c1 scott.e%rowt ype;beginloopdbms_flashback.enable_at_system_change_number(49570);if c1%isopen=false then open c1;end if;fetch c1 into r_c1;dbms_flashback.disable();exit when c1%notfound;update scott.emp_temp set sal=r_c1.sal where empno=r_c1.empno;commit;end loop;exec dbms_flashback.disable();close c1;end;/
5.2 10g Flashback 的增强
10g 的 Flashback进行了增强和修改,通过回闪,用户可以完成许多不可能恢复的工作,目前 oracle10g 的回闪包括以下特性;
1〉oracle falshback Database.该特性允许 oracle 通过 Flashback database 语句,将数据库会滚到前一个时间点或者scn 上,而不需要作时间点的恢复工作!
2〉oracle falshback table.该特性允许 oracle通过 flashback table 语句,将表会滚到前一个时间点或者 scn 上。
3〉oracle falshback drop.该特性允许 oracle把恢复 drop掉的 table 或者索引。
4〉oracle falshback version query.该特性可以得到特定的表在某一个时间段内的任何修改记录!
5〉oracle falshback transaction query该特性可以限制用户在某一个事务级别上检查数据库的修改操作,适用于诊断问 题、分析性能、审计事务。
分享到:
相关推荐
本资源“Oracle数据库备份与恢复之完全攻略”提供了一份详尽的指导,涵盖了Oracle数据库的备份、还原过程及注意事项。 一、Oracle数据库备份类型 1. **完整备份**:包括数据库的所有数据文件、控制文件、参数文件...
### Oracle数据库备份与恢复知识点详解 #### 一、备份与恢复基础 在Oracle数据库的运维过程中,备份与恢复是至关重要的环节,它们确保了数据的安全性和业务的连续性。备份通常指的是将数据库中的数据和控制信息...
在Oracle数据库管理中,备份与恢复是至关重要的环节,它关系到数据的安全性和系统的稳定性。Oracle提供了多种备份和恢复策略,以确保在面临硬件故障、软件错误或人为误操作时,能够快速有效地恢复数据。本测试案例将...
在本"Oracle数据库备份和恢复系列08"中,小布老师将深入讲解如何确保Oracle数据库的安全性,通过有效的备份策略和恢复技术来应对可能出现的数据丢失或系统故障。 一、Oracle数据库备份的重要性 数据库备份是防止...
在Oracle数据库管理中,备份与恢复是至关重要的环节,它确保了数据的安全性和系统的稳定性。小布老师的"Oracle数据库备份和恢复系列06"视频教程...记得理论与实践相结合,才能真正掌握Oracle数据库备份和恢复的精髓。
RMAN是Oracle数据库管理员用于备份、恢复和数据库维护的命令行工具。它可以直接连接到数据库实例,执行完整备份、增量备份和表空间备份。RMAN支持多种备份介质,如磁盘、磁带或网络文件系统,并且可以配置自动备份...
首先,我们需要理解Oracle数据库备份的几种类型。最基本的备份方式包括物理备份(如使用RMAN,即恢复管理器)和逻辑备份(如使用SQL*Plus的`EXPDP`和`IMPDP`工具)。物理备份直接复制数据库的数据文件、控制文件和...
ORACLE 数据库备份和恢复 Oracle 数据库备份和恢复是 Oracle 数据库管理员的一项重要任务。备份和恢复操作可以确保数据库的安全和可靠性。本文将向您介绍如何通过 Enterprise Manager 执行 Oracle 数据库备份和恢复...
2. **RMAN(Recovery Manager)**:Oracle提供的专用备份恢复工具,支持自动备份、增量备份、多目标备份,还能与其他备份软件集成,是Oracle数据库备份的首选。 3. **归档模式与非归档模式**:归档模式下,Oracle...
以下将详细介绍Oracle数据库备份与恢复的基本步骤和方法。 1. **备份类型** - **完整备份**:包括所有数据文件、控制文件、redo日志文件以及初始化参数文件等。 - **增量备份**:基于前一次全备或增量备份,只...
Oracle数据库的备份与恢复主要包括逻辑备份恢复和物理备份恢复。逻辑备份通常涉及导出和导入数据,如使用EXPDP和IMPDP工具,或者通过SQL脚本进行数据迁移。这种方法适用于部分数据的备份和恢复,但效率相对较低,不...
Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,它提供了强大的数据管理能力和高可用性方案,以及性能优化和备份恢复策略。本资料主要聚焦在Oracle数据库的进阶主题,包括高可用性、性能优化和备份...
以下是对Oracle数据库备份与恢复的详细阐述。 1. **备份类型** - **完整备份**:包括数据库的所有数据文件、控制文件、重做日志文件等,是最全面的备份方式。 - **增量备份**:基于上一次全备份或增量备份,只...
Oracle数据库是全球广泛使用的大型企业级关系型...通过理解并应用这些Oracle数据库备份技术,你可以为你的Oracle数据库构建出高效、可靠的安全防护体系,确保在面临数据丢失或系统故障时,能够迅速恢复业务正常运行。
Oracle11g 数据库备份与还原是数据库管理中非常重要的一部分,掌握备份与还原技术可以帮助数据库管理员快速恢复数据库,减少数据丢失的风险。本文将详细介绍 Oracle11g 数据库备份与还原的方法和技术。 一、RMAN ...
1. **Oracle数据库备份的基本概念** - **完整备份**:这是最基础的备份类型,包括数据库的所有数据文件、控制文件、重做日志文件等,确保在恢复时能重建整个数据库。 - **增量备份**:基于上一次全备或增量备份,...
### Oracle备份与恢复知识点概述 #### 一、Oracle备份与恢复的重要性 在现代企业环境中,Oracle数据库被广泛...以上知识点涵盖了Oracle备份与恢复的关键方面,为企业级Oracle数据库管理员提供了全面的指导和支持。
【Oracle 数据库备份和恢复分析】 Oracle 数据库作为全球广泛使用的大型关系型数据库管理系统,具有强大的数据管理和分布式处理能力。其备份和恢复机制是确保数据安全性和完整性的关键环节。Oracle 支持多种备份...
Oracle数据库的备份与恢复是保障企业数据安全和系统高可用性的重要环节。随着信息技术和网络技术的发展,企业对信息系统的依赖度日益增强,数据库系统,尤其是Oracle数据库,成为了存储关键业务数据的主要平台。...
Oracle 12c 数据库备份和恢复概述.pdf Oracle 12c 用户管理的备份和恢复.pdf Oracle 12c SCN详解.pdf Oracle 12c RMAN备份与恢复数据库.pdf Oracle 12c EXPDP和IMPDP指令详解.pdf Oracle 12c EXP和IMP指令详解.pdf