最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle 11g 新特性 Flashback Data Archive 使用實(shí)例

 更新時(shí)間:2014年07月18日 10:30:17   投稿:junjie  
這篇文章主要介紹了Oracle 11g 新特性 Flashback Data Archive 使用實(shí)例,Flashback Data Archive 的主要作用是在它的有效期內(nèi)將保存事務(wù)改變的信息,需要的朋友可以參考下

Flashback Data Archive(閃回日志歸檔)其實(shí)理解為長(zhǎng)時(shí)間的保存undo數(shù)據(jù),對(duì)于某些重要的表可以自定義它的歷史記錄保存期限,它的的種種行為與undo表空間十分相似,使用的時(shí)候也是完全透明的,用戶(hù)不知道它的查詢(xún)一致性視圖數(shù)據(jù)是來(lái)自u(píng)ndo還是Flashback Data Archive,現(xiàn)來(lái)分析它與undo的幾點(diǎn)不同:

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

2.Flashback Data Archive中的行數(shù)據(jù)庫(kù)可以保存非常長(zhǎng)的時(shí)間,甚至是幾十年,相比之下的undo數(shù)據(jù)中的對(duì)象通常只有幾個(gè)小時(shí)或者幾天的保留期限。

3.Flashback Data Archive和undo的本質(zhì)功能是不同的,它只關(guān)注表行的歷史改動(dòng),而非undo來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)整體事務(wù)的讀一致性,已經(jīng)回滾操作等。

那么Flashback Data Archive是怎么實(shí)現(xiàn)的呢,設(shè)想既然是保存表中的行記錄,應(yīng)該是需要單獨(dú)的存儲(chǔ)區(qū)域來(lái)記載行記錄的,為這個(gè)區(qū)域指定保留期限,這樣其中的數(shù)據(jù)就會(huì)長(zhǎng)久的保留下去,然后再在想要記錄的表上添加跟蹤標(biāo)記,這樣就可以實(shí)現(xiàn)行記錄的歸檔保存了,實(shí)際上這便是Oracle的實(shí)現(xiàn)原理,這里的存儲(chǔ)區(qū)域就是Flashback Data Archive,在使用過(guò)程中使用create flashback archive命令創(chuàng)建。

一、創(chuàng)建歸檔

Oracle建議使用單獨(dú)的表空間來(lái)存儲(chǔ)Flashback Data Archive,當(dāng)然也可以在一個(gè)已經(jīng)存在的表空間上創(chuàng)建一個(gè)或多個(gè)Flashback Data Archive,

–創(chuàng)建前需要保證執(zhí)行用戶(hù)具有FLASHBACK_ARCHIVE_ADMINISTRER權(quán)限,該權(quán)限包括創(chuàng)建和修改flashback archive,啟用表跟蹤,管理歸檔中的表空間等)

復(fù)制代碼 代碼如下:

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

Tablespace created.

接下來(lái)開(kāi)始創(chuàng)建Flashback Data Archive:

復(fù)制代碼 代碼如下:

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

Flashback archive created.

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

復(fù)制代碼 代碼如下:

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

Flashback archive created.

查詢(xún)DBA_FLASHBACK_ARCHIVE視圖獲取歸檔的信息,包括保留期限,狀態(tài)等

復(fù)制代碼 代碼如下:

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

查詢(xún)FLASHBACK_ARCHIVE_TS視圖獲取表空間和歸檔的對(duì)應(yīng)關(guān)系

復(fù)制代碼 代碼如下:

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用戶(hù)的emp表分配到fb_01歸檔下:

復(fù)制代碼 代碼如下:

SQL> alter table scott.emp flashback archive fb_01;

Table altered.

查詢(xún)DBA_FLASHBACK_ARCHIVE_TABLES視圖可以獲得已經(jīng)歸檔的表:

復(fù)制代碼 代碼如下:

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

三、查詢(xún)使用Flashback Data Archive

這里的使用和undo完全沒(méi)有異樣了,在查詢(xún)中指定as of就可以了,這里演示查詢(xún)3年前的emp表數(shù)據(jù):

復(fù)制代碼 代碼如下:

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

相關(guān)文章

最新評(píng)論

威宁| 遂平县| 贵定县| 丹寨县| 新竹市| 安仁县| 黄石市| 阳东县| 临桂县| 西华县| 额济纳旗| 栾城县| 耿马| 建水县| 凌云县| 宜兰市| 凌源市| 新干县| 运城市| 万安县| 来宾市| 四川省| 岳普湖县| 上林县| 石首市| 达孜县| 诏安县| 广汉市| 得荣县| 油尖旺区| 郓城县| 塘沽区| 韩城市| 孟村| 孝义市| 潢川县| 伊金霍洛旗| 楚雄市| 潮州市| 尚义县| 炎陵县|