Oracle閃回恢復


Oracle的閃回功能包括

1.閃回數據庫(前提 歸檔模式下 啟用閃回數據庫) mount 下 alter database archivelog; alter database flashback on ;
2.閃回回收站
3.閃回表
4.閃回查詢
  4.1 閃回查詢表 SCN 時間 timestamp
  4.2 閃回版本查詢 versions_xid
  4.3 閃回事物查詢 flashback_transaction_query

(一)閃回表 

flashback table
啟動行移動 功能,如果不啟動
SQL> flashback table scott.emp to scn 1101462;
flashback table scott.emp to scn 1101462
*
第 1 行出現錯誤:
ORA-08189: 因為未啟用行移動功能, 不能閃回表

alter table emp enable row movement;

flashback table hz_test_recycle to timestamp to_date('20110111123000','yyyymmddhh24miss')

存在限制:

不可以跨越ddl 操作
不可以閃回system表

(二)閃回回收站

啟用 回收站 recyclebin
SQL> show parameter recyclebin

NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
recyclebin string
on

測試

grant dba to scott;
create table wj(id number(5) primary key,name varchar2(20));
insert into wj (1,'dwj');
create materialized view log on wj with primary key; -
create materialized view mv_wj refresh fast on commit ;--創建物化視圖
as
select * from wj;

insert into wj values(2,'yj');

show recyclebin
drop table wj
flashback table wj to before drop;
insert into wj(3,'nr1');
select * from mv_wj;
commit; 報錯 --無法閃回視圖日志 需要重建

 

(三)閃回查詢

delete from emp where deptn=30;

select * from emp as of timestamp to_timestamp('2010-01-09 10:00:45','YYYY-MM-DD HH24:MI:SS')
where deptno=30 --利用回滾段里東西

(四)閃回版本查詢

select versions_xid,salary from employees versions between timestamp t1 and t2 where emplyee_id =200;
  -- versions_xid 是偽列

update emp
set sal=2800
where ename='SMITH'

select sal from emp versions between scn minvalue and maxvalue where ename='SMITH'

哪些情況下不可以做:

--外部表
--臨時表
--FIXED表
--視圖
--不能跨越DDL

 

(五)閃回事務查詢

flashback_transaction_query --視圖
查詢語句在哪個事物當中 取得事物號

select empno,ename,sal,versions_operation,versions_xid,versions_starttime,versions_endtime,versions_operation from emp versions between timestamp minvalue and maxvalue;

select logon_user,table_name,table_owner,undo_sql from flashback_transaction_query where table_owner='SCOTT' and xid
='';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM