一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle 11g 新特性 Flashback Data Archive 使用實例

Oracle 11g 新特性 Flashback Data Archive 使用實例

2019-12-11 15:02junjie Oracle

這篇文章主要介紹了Oracle 11g 新特性 Flashback Data Archive 使用實例,Flashback Data Archive 的主要作用是在它的有效期內將保存事務改變的信息,需要的朋友可以參考下

Flashback Data Archive(閃回日志歸檔)其實理解為長時間的保存undo數據,對于某些重要的表可以自定義它的歷史記錄保存期限,它的的種種行為與undo表空間十分相似,使用的時候也是完全透明的,用戶不知道它的查詢一致性視圖數據是來自undo還是Flashback Data Archive,現來分析它與undo的幾點不同:

1.Flashback Data Archive僅記錄UPDATE和DELETE語句,不記錄INSERT語句。

2.Flashback Data Archive中的行數據庫可以保存非常長的時間,甚至是幾十年,相比之下的undo數據中的對象通常只有幾個小時或者幾天的保留期限。

3.Flashback Data Archive和undo的本質功能是不同的,它只關注表行的歷史改動,而非undo來實現數據庫整體事務的讀一致性,已經回滾操作等。

那么Flashback Data Archive是怎么實現的呢,設想既然是保存表中的行記錄,應該是需要單獨的存儲區域來記載行記錄的,為這個區域指定保留期限,這樣其中的數據就會長久的保留下去,然后再在想要記錄的表上添加跟蹤標記,這樣就可以實現行記錄的歸檔保存了,實際上這便是Oracle的實現原理,這里的存儲區域就是Flashback Data Archive,在使用過程中使用create flashback archive命令創建。

一、創建歸檔

Oracle建議使用單獨的表空間來存儲Flashback Data Archive,當然也可以在一個已經存在的表空間上創建一個或多個Flashback Data Archive,

–創建前需要保證執行用戶具有FLASHBACK_ARCHIVE_ADMINISTRER權限,該權限包括創建和修改flashback archive,啟用表跟蹤,管理歸檔中的表空間等)

復制代碼代碼如下:


SQL> create tablespace fbda1
2  datafile '/u01/app/oracle/oradata/prod/fbda01.dbf'
3  size 5g;

 

Tablespace created.

 

接下來開始創建Flashback Data Archive:

復制代碼代碼如下:


SQL> create flashback archive fb_01
2  tablespace fbda1 quota 300m
3  retention 10 year;

 

Flashback archive created.

 

上面的命令創建了一個保存十年的Flashback Data Archive,它可以使用fbda1表空間中300m的空間(有點小了。。。),根據需要我們可以再創建一個默認的歸檔,使用default關鍵字,如

復制代碼代碼如下:


SQL> create flashback archive default fb_dflt
2  tablespace fbda1
3  retention 1 year
4  /

 

Flashback archive created.

 

查詢DBA_FLASHBACK_ARCHIVE視圖獲取歸檔的信息,包括保留期限,狀態等

 

復制代碼代碼如下:

SQL> select OWNER_NAME,FLASHBACK_ARCHIVE_NAME,
2  FLASHBACK_ARCHIVE#,RETENTION_IN_DAYS,STATUS
3  from dba_flashback_archive;
 
OWNER_NAME FLASHBACK_ARCHIVE_NAME FLASHBACK_ARCHIVE# RETENTION_IN_DAYS STATUS
---------- ---------------------- ------------------ ----------------- -------
SYS        FB_01                                   1              3650
SYS        FB_DFLT                                 2               365 DEFAULT

 

查詢FLASHBACK_ARCHIVE_TS視圖獲取表空間和歸檔的對應關系

 

復制代碼代碼如下:


SQL> select * from dba_flashback_archive_ts;

 

FLASHBACK_ARCHIVE_NAME    FLASHBACK_ARCHIVE# TABLESPACE_NAME      QUOTA_IN_MB
------------------------- ------------------ -------------------- ------------
FB_01                                      1 FBDA1                300
FB_DFLT                                    2 FBDA1

 

二、跟蹤表到指定的Flashback Data Archive中

將scott用戶的emp表分配到fb_01歸檔下:

 

復制代碼代碼如下:


SQL> alter table scott.emp flashback archive fb_01;

 

Table altered.

 

查詢DBA_FLASHBACK_ARCHIVE_TABLES視圖可以獲得已經歸檔的表:

 

復制代碼代碼如下:


SQL> select * from dba_flashback_archive_tables;

 

TABLE_NAME OWNER_NAME FLASHBACK_ARCHIVE_NA ARCHIVE_TABLE_NAME   STATUS
---------- ---------- -------------------- -------------------- --------
EMP        SCOTT      FB_01                SYS_FBA_HIST_73181   ENABLED

 

三、查詢使用Flashback Data Archive

這里的使用和undo完全沒有異樣了,在查詢中指定as of就可以了,這里演示查詢3年前的emp表數據:

復制代碼代碼如下:


SQL> select empno,ename,hiredate
 2 from scott.emp
 3 as of timestamp (systimestamp - interval '3' year)
 4 where empno=7934;

 

EMPNO ENAME      HIREDATE
 ---------- ---------- ---------
 7934 MILLER     23-JAN-82

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成黑人性猛交xxoo | 极品主播的慰在线播放 | 出轨娇妻的呻吟1—9 | 国产精品视频在这里有精品 | 成人丁香婷婷 | 色在线看 | 日本动漫啪啪动画片mv | 日本不卡不码高清免费观看 | 天美网站传媒入口网址 | 日韩久久综合 | 色综合合久久天天综合绕视看 | 天仙tv微福视频 | 玩50岁四川熟女大白屁股直播 | 成人性爱视频在线观看 | 亚洲天堂视频在线播放 | 国产重口老太伦 | 91交换论坛 | 故意短裙公车被强好爽在线播放 | 日韩精品一区二区 | 四虎影视库永久在线地址 | 91精品国产免费久久 | 国产免费午夜 | 情人我吃糖果小说 | 午夜理论片日本中文在线 | 国产成人激烈叫床视频 | 调教女警花穿环上班 | 国产精品女主播大秀在线 | 国内精品久久久久久久 | 思思91精品国产综合在线 | 国产欧美视频在线观看 | 亚洲 欧美 中文字幕 在线 | 午夜国产福利视频一区 | 国内自拍成人网在线视频 | 国产视频一区二区 | 久久视热频国产这里只有精品23 | 青柠在线完整高清观看免费 | 农村老妇1乱69系列小说 | 国产视频91在线 | 国内精品视频一区二区三区 | 国产综合网站 | 2014天堂|