亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle 閃回技術詳細介紹及總結

2024-08-29 13:59:26
字體:
來源:轉載
供稿:網友

Oracle閃回技術詳解,這里整理了4種閃回技術,對Oracle 閃回技術做一個整理總結。

 概述:

  閃回技術是Oracle強大數據庫備份恢復機制的一部分,在數據庫發生邏輯錯誤的時候,閃回技術能提供快速且最小損失的恢復(多數閃回功能都能在數據庫聯機狀態下完成)。需要注意的是,閃回技術旨在快速恢復邏輯錯誤,對于物理損壞或是介質丟失的錯誤,閃回技術就回天乏術了,還是得借助于Oracle一些高級的備份恢復工具如RAMN去完成(這才是Oracle強大備份恢復機制的精髓所在?。?/p>

 撤銷段(UNDO SEGMENT)

  在講閃回技術前,需要先了解Oracle中一個邏輯結構--撤銷段。因為大部分閃回技術都需要依賴撤銷段中的撤銷數據。撤銷數據是反轉DML語句結果所需的信息,只要某個事務修改了數據,那么更新前的原有數據就會被寫入一個撤銷段。(事務回滾也會用到撤銷段中的數據)。事務啟動時,Oracle 會為其分配一個撤銷段,事務和撤銷段存在多對一的關系,即一個事務只能對應一個撤銷段,多個事務可以共享一個撤銷段(不過在數據庫正常運行時一般不會發生這種情況)。

 閃回技術

  Oracle提供了四種可供使用的閃回技術(閃回查詢,閃回刪除,閃回歸檔,閃回數據庫),每種都有不同的底層體系結構支撐,但其實這四種不同的閃回技術部分功能是有重疊的,使用時也需要根據實際場景合理選擇最合適的閃回功能。

   閃回查詢(Flashback Query)

    a.基本閃回查詢

    功能描述:可以查詢過去某個時間段的數據庫狀態。

    工作原理:Oracle 會提取所需要的撤銷數據(前提是撤銷是可用的,即撤銷數據還沒被覆蓋)進行回滾,但這種回滾是臨時的,僅針對當前session可見。

    SQL> select * from  dept as of timestamp to_timestamp('2016-09-10 11:00:00','yyyy-mm-dd hh24:mi:ss');

    b.閃回表

    功能描述:可將某個表回退到過去某個時間點

    工作原理:同樣,Oracle會先去查詢撤銷段,提取過去某個時間點之后的所有變更,構造反轉這些變更的SQL語句進行回退,閃回操作是一個單獨的事務,所以若由于撤銷數據過期之類的原因導致無法閃回,整個操作會回滾,不會存在不一致的狀態。

    步驟:

    1.啟用表閃回首先要在表上支持行移動(在數據字典中設置標識來標識該操作可能會改變行ID,即同一條數據閃回成功后主鍵都一樣,但行ID其實已經發生變化了)   

    SQL> alter table emp enable row movement;

    2.閃回表操作      

    SQL> flashback table dept to timestamp to_timestamp('2016-09-10 11:00:00','yyyy-mm-dd hh24:mi:ss');

    閃回表可能會失敗,有可能有以下幾種情況:

      違反了數據庫約束,比如用戶不小心刪除了子表中的數據,現在想利用閃回表技術進行回退,恰好在這中間,父表中與該數據對應的那條記錄也被刪除了,在這種情況下,由于違反了外鍵約束,導致閃回表操作失敗了;

      撤銷數據失效,比如用于支撐閃回操作的撤銷數據被覆蓋了,這種情況閃回表操作自然會失?。?/p>

      閃回不能跨越DDL,即在閃回點和當前點之間,表結構有過變更,這種情況閃回操作也會失敗。

    注意:上述閃回功能都是基于撤銷數據的,而撤銷數據是會被重寫的(Expired會被重寫,Active不會被重寫),所以,在需要使用這幾種閃回功能去恢復數據的時候(確切地說,是需要使用基于撤銷數據的閃回功能時),最短時間發現錯誤,第一時間執行閃回操作,才能最大程度地保證閃回功能的成功。

   閃回刪除(Flashback Drop)

  功能描述:閃回刪除可以輕松將一個已經被Drop的表還原回來。相應的索引,數據庫約束也會被還原(除了外鍵約束)

  原理描述:Drop命令其實是Rename命令,早期的Oracle版本(10g之前),閃回刪除意味著從數據字典中刪除了該表的所有引用,雖然表中數據可能還存在,但已成了孤魂野鬼,沒法進行恢復了,10g版本之后,Drop命令則僅僅是一個Rename操作,所以恢復就很容易了。

    閃回刪除操作執行命令很簡單

    SQL> flashback table emp to before

  如果要還原的表名在當前系統中已經被占用,也可以在閃回刪除的時候對表重命名

    SQL> flashback table emp to before drop rename to emp_new

  也可以通過回收站查看當前用戶那些表被刪除了,每個用戶都有一個回收站,這個回收站是個邏輯結構,它不是一塊獨立的存儲空間,它存在在當前表空間內,所以如果有別的操作需要空間,比如現在需要創建一張表,沒有足夠空間可用,回收站中的數據就會被清理,這也是導致閃回刪除失敗的原因。

    SQL> SHOW RECYCLEBIN;

  徹底刪除表,閃回刪除也無能為力

    SQL> DROP TABLE EMP PURGE;

  清空回收站

    SQL> PURGE RECYCLEBIN;

  注意:閃回刪除只針對Drop命令,注意區分truncate操作和drop操作,truncate稱為表截斷,會清空表中數據(調節Oracle高水位線實現),表結構不受影響,速度很快,弊端是此過程不會產生任何撤銷數據或是重做日志,如果誤刪,恢復異常麻煩,要慎重使用。而Drop則會刪除數據+表結構,閃回刪除僅針對Drop操作。

   閃回數據歸檔(Flashback Data Archive )

   功能描述:閃回數據歸檔可使表具有回退到過去任何時間點的能力,前面提到的閃回查詢,閃回表都會受限于撤銷數據是否失效,如果撤銷數據被覆蓋重寫了,閃回操作自然會失敗,閃回刪除則受限于表空間是否有足夠可用空間,而閃回數據歸檔,則沒有這些限制。

   創建閃回歸檔

   1.創建一個用戶閃回數據歸檔的表空間,當然,也可以使用已經存在的表空間。

    SQL> create tablespace test_tb datafile 'test.dbf' size 20m;

   2.創建一個保留時間為2年的閃回歸檔

     SQL> create flashback archive test_fa tablespace test_tb retention 2 year;   

    為scott用戶下的emp表啟用閃回歸檔

   1.賦予用戶歸檔的權限

     SQL> grant flashback archive on test_fa to scott;

    2.連接用戶

     SQL> conn scott/tiger;

    3.為emp表啟用閃回歸檔

     SQL> alter table emp flashback archive test_fa;

  至此,emp表就擁有了可以查詢或回退到過去2年任意時間點的能力!

   閃回數據庫(Flashback Database)

   功能描述:閃回數據庫可將整個數據庫回退到過去某個時間點,閃回表是某張表的時空穿梭,閃回數據庫則是整個數據庫的時空穿梭。當然,閃回點之后的所有工作就丟失了,其實就相當于數據庫的不完整恢復,所以只能以resetlogs模式打開數據庫。閃回數據庫會造成停機時間,當然相比于傳統備份恢復機制,恢復過程會快很多。

   工作原理:閃回數據庫不使用撤銷數據,使用另外一種機制來保留回退所需要的恢復數據,當啟用閃回數據庫,發生變化的數據塊會不斷從數據庫緩沖區緩存中復制到閃回緩沖區,然后,稱為恢復寫入器(Recovery Writer)的后臺進程會將這些數據刷新到磁盤中的閃回日志文件中。閃回的過程,則是一個 提取閃回日志-->將塊映像復制回數據文件 的過程。

   配置閃回數據庫(閃回數據庫要求數據庫為歸檔模式)

    1.指定閃回恢復區,也就是存放閃回日志的位置,但閃回恢復區不僅僅是為了存放閃回日志,Oracle的很多備份恢復技術都用到這個區域,比如控制文件的自動備份等都會存放到此區域。

   SQL> alter system set db_recovery_file_dest ='/flash_recovery_area';

     2.指定恢復區大小

   SQL> alter system set db_recovery_file_dest_size=4G;

    3.指定閃回日志保留時間為2小時,即通過閃回操作,可以將數據庫回退到前兩小時內的任意時間點

   SQL> alter system set db_flashback_retention_target=120;

    4.有序關閉數據庫--mount模式下啟用閃回數據庫--打開數據庫  

 SQL> shutdown immediate;   SQL> startup mount;   SQL> alter database flashback on;   SQL> alter database open;

  至此,閃回數據庫配置完成!

     使用閃回數據庫功能  

 SQL> shutdown immediate;   SQL> startup mount;   SQL> flashback database to timestamp sysdate-60/1440;   SQL> alter database open resetlogs;

 總結

  本文列舉了四類閃回技術,其中,閃回查詢,包括基本閃回查詢,閃回表等技術都依賴于撤銷數據(還有一類閃回技術為閃回事務,可以對指定事務進行閃回操作,原理類似,借助于撤銷數據來構建用于反轉事務的SQL語句),依賴于撤銷數據,則自然受限于撤銷數據的保留時間,可能會由于撤銷數據被覆寫而導致閃回失敗。閃回刪除,則是由于10g版本后對表的刪除僅表現為一個rename操作,引入回收站的概念,但此回收站僅是當前表空間的一塊邏輯劃分,所以會受限于當前表空間的可用空間的限制;閃回歸檔可提供查詢或回退到過去任意時間點的功能,閃回數據庫則是一中更極端的數據庫恢復功能,相當于不完整恢復,依賴于閃回日志。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久91精品| 亚洲国产成人av在线| 亚洲第一二三四五区| 亚洲国产欧美一区| 伊人久久精品视频| 日本午夜在线亚洲.国产| 欧美视频中文在线看| 91精品免费久久久久久久久| 久久久精品国产亚洲| 亚洲网站在线播放| 国产精品亚发布| 久久久亚洲欧洲日产国码aⅴ| 欧美亚洲成人网| 日韩高清免费观看| 狠狠久久亚洲欧美专区| 国产精品丝袜久久久久久不卡| 欧美噜噜久久久xxx| 中文字幕日韩av综合精品| 亚洲va电影大全| 成人在线激情视频| 91色在线观看| 久久99热这里只有精品国产| 日本高清久久天堂| 久久精品中文字幕一区| 欧美乱大交xxxxx另类电影| 国产美女精品免费电影| 精品露脸国产偷人在视频| 性色av一区二区三区免费| 欧美精品激情在线观看| 欧美激情一区二区三区成人| 欧美激情一二三| 亚洲成人教育av| 一区二区三区亚洲| 91精品久久久久| 美女国内精品自产拍在线播放| 亚洲视频网站在线观看| 国产精品第二页| 精品香蕉一区二区三区| 国产亚洲福利一区| 国产精品专区一| 亚洲va久久久噜噜噜久久天堂| 久久777国产线看观看精品| 亚洲自拍欧美另类| 91久久久久久久久久久久久| 日韩中文在线不卡| 日韩久久午夜影院| 欧美日韩成人免费| 久久97精品久久久久久久不卡| 欧美黑人视频一区| 青青草原成人在线视频| 亚洲精品98久久久久久中文字幕| 国产精品久久婷婷六月丁香| 日韩视频免费观看| 亚洲精品视频久久| 久久久久久12| 91精品国产91久久久久久不卡| 国产激情久久久| 九九九久久国产免费| 欧美成人激情图片网| 国产91网红主播在线观看| 亚洲a级在线观看| 91视频国产高清| 久久人人爽人人爽人人片av高请| 亚洲精品国产精品乱码不99按摩| 精品人伦一区二区三区蜜桃免费| 色噜噜亚洲精品中文字幕| 2021国产精品视频| 欧美成人午夜免费视在线看片| 国产精品久久久久影院日本| 懂色av一区二区三区| 日本精品久久电影| 91综合免费在线| 在线精品国产成人综合| 久久久久久久久久久网站| 中文字幕亚洲自拍| 国产精品欧美日韩| 国产精品日日摸夜夜添夜夜av| 国产精品嫩草影院一区二区| 激情av一区二区| 国产精品v日韩精品| 在线播放日韩欧美| 国产99久久精品一区二区 夜夜躁日日躁| 日韩成人中文电影| 亚洲综合精品伊人久久| 日韩av免费看网站| 久久视频在线直播| 91精品国产一区| 欧美午夜激情视频| 国模视频一区二区三区| 欧美电影免费观看大全| 久久精品国产v日韩v亚洲| 97超级碰碰人国产在线观看| 中文字幕久久久av一区| 在线观看日韩www视频免费| 欧美午夜激情视频| 少妇精69xxtheporn| 日韩国产精品亚洲а∨天堂免| 国产噜噜噜噜噜久久久久久久久| 国产精品国产三级国产aⅴ9色| 久久777国产线看观看精品| 狠狠色狠色综合曰曰| 国产精品视频免费观看www| 精品国模在线视频| 亚洲精品网址在线观看| 欧美精品情趣视频| 亚洲欧美综合另类中字| 欧洲亚洲免费视频| 疯狂蹂躏欧美一区二区精品| 精品国产91乱高清在线观看| 精品国内自产拍在线观看| 国产在线精品自拍| 亚洲乱码av中文一区二区| 日韩**中文字幕毛片| 一区二区在线视频| 亚洲三级av在线| 色偷偷综合社区| 精品久久久在线观看| 亚洲电影免费观看高清完整版| 国产香蕉精品视频一区二区三区| 狠狠躁夜夜躁人人爽天天天天97| yw.139尤物在线精品视频| 欧美在线视频网| 欧美成人免费在线视频| 亚洲欧美精品suv| 亚洲成人av中文字幕| 精品久久久久久久久中文字幕| 成人免费大片黄在线播放| 午夜精品久久久久久久99黑人| 久久亚洲欧美日韩精品专区| 91日本视频在线| 一本大道久久加勒比香蕉| 国产一区二区日韩| 中文字幕国内精品| 精品国产精品三级精品av网址| 色爱av美腿丝袜综合粉嫩av| 欧美丝袜一区二区| 538国产精品一区二区在线| 日韩视频精品在线| 亚洲精品视频中文字幕| 尤物yw午夜国产精品视频明星| 96精品久久久久中文字幕| 国产欧美日韩综合精品| 欧美黑人性视频| 欧美成人免费小视频| 日韩精品在线免费播放| 国产成人精品国内自产拍免费看| 91社影院在线观看| 成人免费直播live| 成人欧美在线视频| 日韩av免费在线看| 精品视频一区在线视频| 97在线免费视频| 色妞久久福利网| 欧美日韩亚洲一区二| 日韩在线欧美在线| 91美女片黄在线观| 久久久久久久久久久久久久久久久久av| 成人黄色短视频在线观看| 日韩在线播放视频| 国产精品丝袜一区二区三区| 日韩电影中文字幕在线观看| 国产日韩一区在线| 日韩av在线电影网| 精品成人在线视频|