最近终于体会了一下oracle10G的闪回数据库,这个功能太实用了,大家可以参考以下我的体会结果
闪回查询
(1).查询闪回
例如:
1)在删除员工smith记录后,希望查询到删除该行记录前的值,则可以查询emp在'2007-02-11 23:34:05'时的数据,查询方法如下:
select * from emp as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss') where ename='SMITH';
2)查询当前时间
alter session set nls_date_format='yyyy-mm-dd hh24:mi;ss';
select sysdate from dual;
delete from emp;
commit;
select * from emp as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss');
可以将闪回的数据重新插入到表中:
insert into empbak (select * from empbak as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss'));
(2).表闪回
表闪回要求用户必须要有flash any table权限,首先,必须对表进行下以下操作:
alter table empbak enable row movement;
执行闪回操作
flashback table emp to timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss');
注:如果表结构发生改变就没有办法闪回。
(3).删除闪回
删除闪回为删除oracle10g中的数据库实体提供了一个安全机制,当用删除一个表时,oracle10g 会将该表放到回收站中,回收站中的对象一真会保留,直到用户决定永久删除它们或出现表空间的空间不足时才会被删除。回收站是一个虚拟容器,用于存储所有被删除的对象。数据字典user_tables中的列dropped表示被删除的表.查询方法如下:
select table_name,dropped from user_tables;
也可以使用show命令显示回收站信息
sql>show recyclebin
或查询数据字典user_recyclebin获得回收站信息
SQL> select object_name,original_name,type,droptime from user_recyclebin;
例如;恢复被删除的表emp.
SQL>flashback table emp to before drop;
如果不知道原表名,可以直接使用回收站中的名称进行闪回。
SQL>flashback table "Bin$DSbdfd4rdfdfdfegdfsf==$0" to before drop;
在回收的同时可以修改表名:
SQL>flashback table "Bin$DSbdfd4rdfdfdfegdfsf==$0" to before drop rename to emp1;
真正删除某一个表,而不进入回收站,可以在删除表时增加purge选项.如将emp表彻底删除.
SQL>drop table emp purge;
也可以通过删除recyclebin区域来永久性删除表 ,原始删除表drop table emp cascade constraints
SQL>purge table emp;
删除当前用户的回收站
SQL>purge recyclebin;
删除全体用户在回收站的数据.
SQL>purge dba_recyclebin
(4).数据库闪回
使用数据库闪回功能,可以使数据库回到过去某一状态, 语法如下:
SQL>alter database flashback on
SQL>flashback database to scn 46963;
SQL>flashback database to timestamp to_timestamp('2007-2-12 12:00:00','yyyy-mm-dd hh24:mi:ss');
分享到:
相关推荐
Linux 中安装 ORACLE10g 数据库详细步骤 Linux 是一个开源的操作系统,在服务器应用中广泛使用。ORACLE 是一个关系型数据库管理系统,是当前最流行的数据库管理系统之一。安装 ORACLE10g 数据库需要在 Linux 操作...
Oracle10g数据库是Oracle公司推出的数据库管理系统,它在企业级数据存储和管理领域具有广泛的应用。本教程《Oracle10g数据库基础教程》由孙凤栋主编,旨在为初学者提供全面、深入的Oracle数据库知识。教程内容涵盖...
### Oracle 10g 常用命令:数据库的备份与恢复 #### 一、基础知识与环境准备 在深入探讨 Oracle 10g 数据库的备份与恢复之前,我们需要了解一些基本概念和环境配置。 ##### 1. 连接到 Oracle 10g 数据库 - **连接...
Oracle 10G 的闪回技术是数据库管理系统中一项强大的恢复功能,它使得DBA能够轻松地恢复误删除或误更新的数据,极大地简化了数据库管理的工作。本实验手册重点介绍了Oracle 10G及以后版本的主要闪回技术,并强调其...
Oracle9i Database 推出了闪回查询选项的概念,以便检索过去某个时间点的数据...使用 Oracle Database 10g 中的闪回表特性,它使得被删除表的恢复过程如同执行几条语句一样简单。本文将为大家介绍该特性是如何工作的。
比如,使用Oracle 10G的oci.dll可能无法连接到Oracle 11G数据库,反之亦然。因此,确保oci.dll与Navicat以及目标数据库版本的匹配至关重要。 6. 安全性增强:Oracle 11G在安全性方面做了大量改进,包括增强了身份...
Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它在2003年发布,提供了许多增强功能和性能优化,对于初学者来说是一个理想的起点。这篇快速入门数据库教案将帮助你了解Oracle 10g的基本概念、安装、配置、...
Linux 环境下 Oracle 11g 数据库的安装与卸载 Oracle 11g 数据库是一种关系型数据库管理系统,它广泛应用于企业级应用中。在 Linux 环境下,安装 Oracle 11g 数据库需要满足一定的硬件和软件要求。本文将详细介绍 ...
手册不仅是数据库管理员安装和使用Oracle 10g时的宝贵指南,也适合那些希望了解Oracle 10g数据库管理和操作的初学者。通过这份文档,读者可以系统地学习Oracle 10g的基本使用,为进一步学习高级特性和深入管理Oracle...
Oracle 10g数据库的闪回技术是一种强大的数据恢复工具,它允许用户撤销数据库到一个先前的状态,以修复错误或恢复丢失的数据。这项技术在9i版本中初步引入,但在10g中得到了显著增强,增加了多种闪回操作类型。 1. ...
Oracle 11g是一款强大的...总之,Oracle 11g数据库应用简明教程PPT是一个全面的学习资源,旨在帮助初学者和有经验的DBA掌握Oracle数据库的关键概念和技术。通过深入学习,你将具备管理和维护大型企业级数据库的能力。
这一技术在Oracle 9i中初步引入,到了Oracle 10g得到了进一步增强,包括闪回查询、闪回版本查询、闪回事务查询、闪回表、闪回删除和闪回数据库等多种功能。 **14.1 闪回技术概述** - **闪回基本概念**:Oracle 9i...
在这一章节中,你会学到如何安装和配置Oracle 10g数据库服务器。这包括了解Oracle的安装选项,如选择合适的安装类型(如企业版或标准版),设置数据库实例,配置监听器,以及初始化参数文件的管理。此外,还会涉及...
本教材《Oracle Database 10g: 数据库管理》旨在为Oracle认证专业人员(OCP)提供必要的理论与实践知识,帮助他们掌握Oracle 10g数据库的管理技巧。本书适合希望成为Oracle认证专家的学习者。 #### 二、Oracle 10g...
Oracle 10g数据库系统管理是Oracle公司推出的一款企业级数据库管理系统,主要针对大型企业和组织的数据存储、管理和分析需求。这个版本在前代的基础上进行了多项性能优化和功能增强,为数据库管理员(DBA)提供了更...
总之,Oracle 10g的闪回技术是数据库管理系统中的一个重要创新,它极大地增强了系统的可用性和容错能力,为逻辑错误的恢复提供了高效、灵活的解决方案。正确理解和使用这些技术,可以显著减少因人为错误或应用错误...
为了使 Oracle 数据库从任何逻辑误操作中迅速地恢复...进行了全面扩展,提供了闪回数据库、闪回删除、闪回表、闪回事物及闪回版本查询等功能,本 文将重点说闪回删除、闪回表的使用。(本文使用oracle 版本10.2.0.3.0)
### Oracle Database 10g:数据库管理核心知识点详解 #### 一、Oracle Database 10g 概述 - **“g”代表网格**:在Oracle Database 10g中,“g”代表“Grid”,表明该版本支持网格计算,允许在多台计算机之间分配...