flashback總結四之Flashback_Query
Flashback Query 是利用多版本讀一致性的特性從UNDO 表空間讀取操作前的記錄資料!
由於例子完整性,演示As of timestamp和As of scn 的示例
個人推薦就使用as of scn,精準性高
1,As of timestamp的例子
******************************個人操作**************************************
SQL> alter session set nls_date_format='YYYY-MM-DD hh24:mi:ss';
會話已更改。
SQL> select sysdate from dual;
SYSDATE
-------------------
2011-11-25 10:24:18
SQL> delete from emp;
已刪除14行。
SQL> select * from emp;
未選定行
SQL> select count(*) from emp as of timestamp sysdate-5/1440;(通過as of timestamp查詢五分鐘之前的資料)
COUNT(*)
----------
14
SQL> select count(*) from emp as of timestamp to_timestamp('2011-11-25 10:24:18'
,'YYYY-MM-DD hh24:mi:ss');(按系統時間查詢)
COUNT(*)
----------
14
SQL> insert into emp select * from emp as of timestamp sysdate-5/1440;(插入以前時間點的資料)
已建立14行。
SQL> select count(*) from emp;
COUNT(*)
----------
14
恢復操作成功!!!!
2,As of scn的例子
********************************個人操作**************************************
SQL> SELECT dbms_flashback.get_system_change_number FROM dual;
SELECT dbms_flashback.get_system_change_number FROM dual
*
第 1 行出現錯誤:
ORA-00904: : 識別符號無效
(它說我有ora-00904的錯誤,原因是我現在還在scott使用者下,所以要轉回sys使用者下)
SQL> connect sys/root as sysdba;
已連線。
SQL> SELECT dbms_flashback.get_system_change_number FROM dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
3361877
SQL> SELECT CURRENT_SCN FROM V$DATABASE;(檢視scn)
CURRENT_SCN
-----------
3361949
SQL> delete from scott.emp;
已刪除14行。
SQL> commit;
提交完成。
SQL> select count(*) from scott.emp as of scn 3361949;(通過scn查詢歷史資料)
COUNT(*)
----------
14
SQL> insert into scott.emp select * from scott.emp as of scn 3361949;(插入歷史資料)
已建立14行。
SQL> select count(*) from scott.emp;
COUNT(*)
----------
14
恢復操作成功
flash_query總結:
檢視SCN 和 timestamp 之間的對應關係(如下),
SQL> select * from(select rownum no,scn,to_char(time_dp,'yyyy-mm-dd hh24:mi:ss')
from sys.smon_scn_time)
2 where no>=1 and no<=10;
NO SCN TO_CHAR(TIME_DP,'YY
---------- ---------- -------------------
1 3289317 2011-11-23 16:42:00
2 3289725 2011-11-23 16:52:00
3 3290621 2011-11-23 17:02:01
4 3214377 2011-11-22 14:16:15
5 3291105 2011-11-23 17:12:01
6 3179460 2011-11-19 16:29:43
7 2019804 2011-10-21 14:40:51
8 2020849 2011-10-21 15:00:36
9 3202079 2011-11-22 09:43:36
10 3216623 2011-11-22 15:26:16
已選擇10行。
說明scn和時間有一定的對應關係,對應規則是:每隔5 分鐘,系統產生一次系統時間標記與scn 的匹配
5分鐘的概念就是,在這個時間段點,就有一個scn對應
舉個例子,比如scn:339988,339989 分別匹配11-11-11 13:52:00 和11-11-11 13:57:00,在這個時間段裡面查
找的資料都是11-11-11 13:52:00 時間點的資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26446098/viewspace-712049/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 備份恢復之 FlashbackOracle
- NIO(四)channel總結
- 四種博弈總結
- Linux效能優化實戰CPU篇之總結(四)Linux優化
- 超詳細的Java面試題總結(四 )之JavaWeb基礎知識總結Java面試題Web
- 【FLASHBACK】Oracle flashback data archive 介紹OracleHive
- 【多執行緒總結(四)-三大性質總結】執行緒
- iOS面試題總結(四)iOS面試題
- 第四周總結(2024.7.27)
- 暑期第四周總結
- 暑假第四周總結
- JS 總結之物件JS物件
- Jdk之Unsafe總結JDK
- JS 總結之 classJS
- 2024暑假第四周總結
- 第四周學習總結
- 【Flashback】Flashback Drop閃回刪除功能實驗
- 《大話資料結構》讀後總結(四)資料結構
- Flashback Query(轉)
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 四元數的運用與總結
- 四種常見NLP框架使用總結框架
- iOS小數四捨五入總結iOS
- 第四-六次作業總結
- Oracle之Hint使用總結Oracle
- Android之SpannableString、SpannableStringBuilder總結AndroidUI
- Linux 命令總結之 topLinux
- 深入學習之連結與總結
- (2)caffe總結之目錄結構
- Spring原始碼系列:依賴注入(四)-總結Spring原始碼依賴注入
- Web前端學習總結第四周Web前端
- 淘淘商城專案 第四天總結
- PHP 學習總結之字串PHP字串
- Java集合(5)之 List 總結Java
- CTF之做題總結(六)
- selenium之xpath語法總結
- 《演算法之美》總結演算法
- 微機原理之DMA總結
- Elasticsearch聚合學習之四:結果排序Elasticsearch排序