oracle闪回技术

转载 2012年03月28日 17:48:37

1,闪回数据库到之前某时间点(在安装时需要开放闪回功能)
不支持表空间删除
select name from v$database;
--看是否打开闪回功能
select flashback_on,name from v$database;
select name from v$bgprocess where paddr<>'00' order by 1;


打开闪回功能
SQL> shutdown immediat
SQL> startup mount
SQL> alter database flashback on;
SQL> alter database open;
修改闪回时间(默认是一天1440)
SQL> alter system set db_flashback_retention_target=2880

RMAN> backup recovery files;--执行此程序,必须要有磁带
执行数据库闪回,必须是在mount,readonly状态
如果重建了控制文件,则修改控制文件以前的数据是不可以闪回的。
例子;
create table t2( a int);
insert into t2 values(1);
insert into t2 values(2);
insert into t2 values(5);
alter system switch logfile;
t2 10:35
insert into t2 values(100);
alter system switch logfile;
insert into t2 values(200);
闪回到某时间点
FLASHBACK DATABASE TO TIME = TO_DATE('2004-05-27 16:00:00','YYYY-MM-DD HH24:MI:SS');
FLASHBACK DATABASE 2 TO TIMESTAMP(SYSDATE-1/24);
查日志进程
select * from v$log;
恢复到某过程sequence为查询的sequence,THREAD
把状态置为mount状态
flashback database to sequence=58 thread=1;
打开数据库
alter database open resetlogs;

2,闪回drop表,数据(普通用户都可以操作)
原理:是把放到数据库回收站的对象,数据拉回来
凡不放回收站的对象都不能闪回.
SQL>create table t1(a int);
SQL>drop table t1;
闪回后,把删除的表,及索引都会恢复
SQL>flashback table t1 to before drop;
语法:FLASHBACK TABLE <table_name> TO BEFORE DROP [RENAME TO <new_name>]

可以用下面的命令或查询查看删除的表;
show recyclebin;
select * from recyclebin --where ORIGINAL_NAME='T1';
DBA的回收站
SELECT owner, original_name, object_name,
type, ts_name, droptime, related, space
FROM dba_recyclebin
WHERE can_undrop = 'YES';
用户回收站
SELECT original_name, object_name,
type, ts_name, droptime, related, space
FROM user_recyclebin
WHERE can_undrop = 'YES';

表实际不没有删除,只是改了一个名子,放到回收站了
索引名子依然没变。
a,用SYS用户删除的表不可以闪回。

conn / as sysdba
alter table cbsd.t1 move tablespace system;
drop table cbsd.t1;
则不可以闪回
b.索引,物化视图,删除后不可以闪回

3.闪回事务查询
alter table t1 enable row movement;
查询所有可以撤消的操作
SELECT versions_xid as xid,
versions_startscn,
versions_endscn,
versions_operation
FROM t1 VERSIONS between scn minvalue and maxvalue
WHERE a = 20;

撤消数据
update 3-->5 undo data
数据放在undo tablespace

sql>show parameter undo;
sql>select file_name from dba_data_files where tablespace_name='UNDOTBS1';
闪回数据:RVWR+闪回日志+归档日志
闪回现有表:undo tablespace
闪回删除表:表原来物理位置

相关文章推荐

oracle闪回技术

  • 2017年08月23日 08:46
  • 34KB
  • 下载

oracle闪回技术

  • 2013年08月02日 18:27
  • 33KB
  • 下载

ORACLE 6种闪回技术详解

闪回的类型: (1)闪回查询 flashback query (2)闪回表    flashback table (3)闪回版本查询  flashback  version quer...

利用oracle 闪回技术恢复数据

  • 2012年10月23日 10:47
  • 11KB
  • 下载

Oracle 六大闪回技术,flashback

Flashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。 要使用flashback 的特性,必须启用自动撤销管理表空间。 在Oracle ...

oracle闪回技术恢复误操作数据

操作数据库时,有时会不小心误操作,比如执行了一些有问题的sql,导致破坏了数据,需要恢复;或者有时场景需要,要把整个表恢复到某个时间段。Oracle中可以用闪回技术实现。   1.原数据表的数据 ...

ORACLE 闪回技术操作

最近公司一个项目用到了oracle11g新增的闪回技术,特做如下摘录: 1、FlashbackDatabase(利用闪回日志恢复)  Oracle Flashback Database特性允许通过...

Oracle闪回数据库技术详解

1.登录系统 2. 查询并设置快速恢复区参数,确认数据库是否处于归档模式。 3. 如果不是将实例改为归档模式运行。 4. 查看DB_FLASHBACK...

Oracle 10g中闪回数据库技术详解

Oracle 10g中闪回数据库技术详解 一、何时使用闪回技术   当 Oracle 数据库中发生了逻辑损坏时,如果您需要快速容易地恢复数据,就必须使用闪回技术。与发生人为错误的情况一样,很难标...

Oracle Flashback Technology【闪回技术】

-------------------------与其他数据库相比,Oracle的闪回让开发者多了一条选择的路。   Flashback的目的 先看下Oracle官方文档中的解释: Orac...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle闪回技术
举报原因:
原因补充:

(最多只允许输入30个字)