oracle 11g的闪回数据归档

Flashback Data Archive(闪回数据归档)
UNDO表空间记录的回滚信息虽然可以提供回闪查询,但时间久了,这些信息会被覆盖掉,其实只要事务一提交,他们就变成可覆盖的对象了,所以经常在做回闪查询时,我们会因为找不到undo block而收到1555错误,11G里面引入了Flashback Data Archive ,他用于存储数据的所有改变,时间由你自己设定,消耗的是更多的磁盘空间,现在来看下这个特性。

一、创建闪回数据归档
1、为了创建闪回数据归档,必须拥有DBA角色或拥有系统权限flashback archive administer。
sys@MYDB> select * from dba_sys_privs where privilege like '%FLASH%';

GRANTEE                        PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
SYS                            FLASHBACK ANY TABLE                      NO
DBA                            FLASHBACK ANY TABLE                      YES
SYS                            FLASHBACK ARCHIVE ADMINISTER             NO
DBA                            FLASHBACK ARCHIVE ADMINISTER             YES

sys@MYDB> grant flashback archive administer to gyj;

Grant succeeded.

2、创建表空间
sys@MYDB> create tablespace flash_tbs1 datafile '/u01/app/oracle/oradata/mydb/flash_tbs1.dbf' size 20480M;

Tablespace created.

3、创建闪回归档

sys@MYDB> create flashback archive flash1 tablespace flash_tbs1  quota 1024M retention 5 year;

Flashback archive created.

二、更改闪回数据归档
sys@MYDB> alter flashback archive flash1 set default;

Flashback archive altered.

sys@MYDB> alter flashback archive flash1 add tablespace tp1; --添加表空间

Flashback archive altered.

sys@MYDB> alter flashback archive  flash1 remove tablespace tp1;--删除表空间

Flashback archive altered.

sys@MYDB> alter flashback archive flash1 modify tablespace flash_tbs1 quota 2048M;--添加配额

Flashback archive altered.

sys@MYDB> alter flashback archive flash1 modify retention 3 year;

Flashback archive altered.

sys@MYDB> alter flashback archive flash1 purge all;  -- 清除所有

Flashback archive altered.

sys@MYDB> alter flashback archive flash1 purge before timestamp (systimestamp - interval '2' day);--清除2天前的

Flashback archive altered.

sys@MYDB> alter flashback archive flash1 purge before scn 123344;

Flashback archive altered.

时间: 2024-10-03 10:52:21

oracle 11g的闪回数据归档的相关文章

Oracle闪回(flashback)功能详解 闪回数据归档(Flashback Data Archive)

Oracle闪回(flashback)功能详解  闪回数据归档(Flashback Data Archive)                     > > > > > > > >           > > >                               >                                           >                                 

清除闪回数据归档区数据

清除闪回数据归档区数据 1.清除所有归档区的数据 SQL>ALTER FLASHBACK ARCHIVE data1 PURGE ALL; 2.清除一天以前的数据 SQL>ALTER FLASHBACK ARCHIVE data1 2   PURGE BEFORE TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' DAY); 3.清除特定SCN之前的数据 SQL>ALTER FLASHBACK ARCHIVE data1 PURGE BEFORE SCN 72

oracle 可以做闪回的操作有哪些

问题描述 请问下ORACLE可以做闪回的操作有哪些? 解决方案 闪回数据库闪回表(一种是删除表,一种是执行了错误的操作)闪回查询

oracle 11g impdp导入表数据中文不乱码,字段注释中文乱码

问题描述 oracle 11g impdp导入表数据中文不乱码,字段注释中文乱码 oracle 11g impdp导入表数据中文不乱码,字段注释中文乱码,原数据库字符编码AMERICAN_AMERICA.AL32UTF8,目标数据库字符编码AMERICAN_AMERICA.UTF8,百度的方法更改客户端字符集各种情况均已尝试,均以失败告终,望各路达人指导! 解决方案 Oracle 11g OME 中文按钮乱码ORACLE 11G中PLSQL中文显示乱码.Linux下sqlplus查询中文乱码or

【oracle 】闪回与归档位置的理解

SQL> archive log list 数据库日志模式             非存档模式 自动存档             禁用 存档终点            USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列     14 当前日志序列           16 SQL> shutdown immediate 数据库已经关闭. 已经卸载数据库. ORACLE 例程已经关闭. SQL> startup mount ORACLE 例程已经启动. Total Sy

如何彻底的删除Oracle表 及 闪回恢复在回收站里的数据

当一个表被删除时,它并不是真正的被删除了,而只是放在回收站里(recyclebin)了,当然只要表还在回收站里,它就可以被重新恢复,这也就是"闪回"技术的基本原理.需要说明的是,oracle并不提供100%的闪回,因为当用户在某个表空间里创建一个新表时或需要磁盘空间时,oracle首先使用空闲的磁盘空间,当没有足够的磁盘空间时,oracle会使用回收站的磁盘空间. 2 删除表 test 3 查看 回收站 SQL> show recyclebinORIGINAL NAME    R

Oracle RAC 执行闪回数据库操作

[oracle@zhongwc1 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 23 17:02:01 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Produc

oracle 9i使用闪回查询恢复数据库误删问题_oracle

如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善.Oracle 9i中提供了一项新的技术手段--闪回查询,用户使用闪回查询可以及时取得误操作前的数据,并可以针对错误进行相应的恢复措施,而这一切都无需DBA干预. 因为一时手贱,生产上的数据被我给delete掉了. 用的是delete语句,然后很迅速的还给commit了 下面这两个语句: ALTER TABLE tablename ENABLE r

ORACLE 10G中闪回汇总

1.查看当前SCN并且转换为时间 select scn_to_timestamp(dbms_flashback.get_system_change_number)  from dual; select timestamp_to_scn(to_date('2013-08-2 10:01:00','yyyy-mm-dd hh24:mi:ss')) from dual; 2.开启和使用flashback database --必须开启归档 --必须设置参数   db_flashback_retenti