首页 > 数据库 > Oracle > flashback学习笔记
flashback
------------------------------
1.flashback query闪回查询 (undo )
_________________________________
select current_scn from v$database;
select * from t as of scn 2387032;
select systimestamp from dual;
select scn_to_timestamp(2387032) from dual;
select timestamp_to_scn('03-NOV-14 06.47.55.000000000 PM') from dual;
select * from t as of timestamp sysdate-5/1440;
SYSDATE-5/1440是啥意思,1440又是怎么来的?
首先60(分)×24=1440,这样就计算出一天拥有多少分钟,SYSDATE是系统函数,用来取得当前的系统时间(以天为单位),SYSDATE-5/1440,得出的就是距当前时间5分钟前的记录了。后面示例中需要计算之前的某个时段时,均是使用这一方法。
2.flashback table (undo)
___________________
flashback table t to scn 2387032;
flashback table t to timestamp to_timestamp('2009-1-4 22:21:11', 'yyyy-mm-
dd hh24:mi:ss');
ora_08189: cannot flashback the table because movemont is not enable;
解决:
select row_movement from dba_tables where table_name='T' and owner='HR';
alter table t enable row movement;
alter table t disable row movement;
3.flashback versions query (undo)
______________________________
--查询伪列
select versions_startscn,versions_endscn,versions_xid,versions_operation,versions_starttime,versions_endtime,id,name from t versions between scn minvalue and maxvalue oreder by versions_startscn;
4.flashback transaction query(undo)
_____________________________
select * from flashback_transaction_query where where xid='...'
5.flashback drop (table)
show recyclebin;
select * from dba_recyclebin;
select * from dba_objects where object_name='BIN$BRCtqVHonmLgUAB/AQAXIQ==$0';
flashback table "BIN$BRCtqVHonmLgUAB/AQAXIQ==$0" to before drop;
闪回drop 前的表是,索引及触发器都能闪回,但名字是回收站的名字,需手工重命名;
alter index "BIN$BRCtqVHonmLgUAB/AQAXIQ==$0" rename to idx_t1;
6.flashback database
_____________________
select flashback_on from v$database;
前提:
1.archivelog 模式
2.flash recovery area(flashback log);
alter database archivelog;
alter database flashback on;
select * from v$bgprocess where paddr<>'00';
----------------------------------------
select * from v$flashback_database_stat;
select * from v$flashback_database_log;
select * from v$flashback_database_logfile;
mount 状态下
flashback database to scn 2387032;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29863023/viewspace-1327585/ ,如需转载,请注明出处,否则将追究法律责任。