Oracle 六大閃回技術,flashback

來源:互聯網
上載者:User

Oracle 六大閃回技術,flashback

Flashback 技術是以Undo segment中的內容為基礎的, 因此受限於UNDO_RETENTON參數。
要使用flashback 的特性,必須啟用自動撤銷管理資料表空間。
在Oracle 11g裡又出了一個新特性:Oracle Flashback Data Archive.
FDA通過將變化資料另外儲存到建立的閃迴歸檔區(Flashback Archive)中,以和undo區別開來,
這樣就可以為閃迴歸檔區單獨設定儲存策略,使之可以閃回到指定時間之前的舊資料而不影響undo策略。

在Oracle 10g中, Flash back家族分為以下成員:
Flashback Database,
Flashback Drop,
Flashback Query(分Flashback Query,Flashback Version Query,
Flashback Transaction Query 三種)
和Flashback Table。

Oracle 11g中閃回新特性 :閃迴歸檔

 

 

Oracle 11g Flashback Data Archive(閃回資料歸檔)

Oracle Flashback閃回機制

Oracle Flashback database

Flashback table快速恢複誤刪除的資料

Oracle 備份恢複:Flashback閃回

1 閃回恢複區(Flashback Recovery Area)
在oracle 9i中引入flashback查詢,以便能在需要的時候查到過去某個時刻的一致性資料,
依賴於undo資料表空間儲存的資訊來閃回查詢以前的版本,當然這個受限於undo資料表空間的大小,
以及保留原則。如果undo 被覆蓋了就不能進行查詢。

oracle10g中增強了閃回查詢的功能,並且提供了將整個資料庫回退到過去某個時刻的能力,
這是通過引入一種新的flashback log實現的。flashback log有點類似redo log,
只不過redo log將資料庫往前滾,flashback log則將資料庫往後滾。
為了儲存管理和備份恢複相關的檔案,oracle10g提供了一個叫做閃回恢複區(Flashback recovery area),
這個地區預設建立在oracle_base目錄下。 可以將所有恢複相關的檔案,
比如flashback log,archive log,backup set等,放到這個地區集中管理。

1.1 設定閃回恢複區
閃回恢複區主要通過3個初始化參數來設定和管理:
    db_recovery_file_dest:指定閃回恢複區的位置
    db_recovery_file_dest_size:指定閃回恢複區的可用空間大小
    db_flashback_retention_target:指定資料庫可以回退的時間,單位為分鐘,
    預設1440分鐘,也就是一天。當然,實際上可回退的時間還決定於閃回恢複區的大小,
    因為裡面儲存了回退所需要的flash log。
    所以這個參數要和db_recovery_file_dest_size配合修改。

 
SQL> ALTER SYSTEM SET db_recovery_file_dest_size=3g SCOPE=BOTH;

System altered.

SQL> ALTER SYSTEM SET db_recovery_file_dest=' D:/app/Administrator/flash_recovery_area ' SCOPE=BOTH;

System altered.

SQL> show parameter db_recovery_file_dest

NAME                            TYPE                VALUE
---------------------------    -----------          ------------------------------
db_recovery_file_dest          string              D:/app/Administrator/flash_recovery_area
db_recovery_file_dest_size      big integer          3852M
SQL> show parameter db_flashback

NAME                            TYPE        VALUE
----------------------------    --------    ------------------------------
db_flashback_retention_target  integer      1440

我們看到db_flashback_retention_target 預設是1440分鐘,即24 小時,
需要注意的是該參數雖然未直接指定flash recovery area大小,但卻受其制約,
舉個例子假如資料庫每天有10%左右的資料變動的話,如果該初始化參數值設定為1440,
則flash recovery area 的大小至少要是當前資料庫實際容量的10%,
如果該初始化參數設定為2880,則flash recovery area 的大小就至少是資料庫所佔容量的20%。

 

修改該參數:

SQL>alter system set db_flashback_retention_target=2880 scope=both;

 

1.2  取消閃回恢複區
將db_recovery_file_dest參數設定為空白,可以停用閃回恢複區。
如果已經啟用flashback database,則不能取消閃回恢複區。

SQL> alter system set db_recovery_file_dest='';

 alter system set db_recovery_file_dest=''

*

第 1 行出現錯誤:
ORA-02097: 無法修改參數, 因為指定的值無效
ORA-38775: 無法禁用恢複區 - 閃回資料庫已啟用
SQL> shutdown immediate

資料庫已經關閉。

已經卸載資料庫。

ORACLE 常式已經關閉。

SQL> startup mount;

ORACLE 常式已經啟動。
Total System Global Area  849530880 bytes
Fixed Size                  1377896 bytes
Variable Size            637536664 bytes
Database Buffers          205520896 bytes
Redo Buffers                5095424 bytes
資料庫裝載完畢。

SQL> alter database flashback off;

資料庫已更改。

SQL> alter database open;

資料庫已更改。

SQL> alter system set db_recovery_file_dest='';

系統已更改。

SQL> show parameter db_recovery_file_dest

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string
db_recovery_file_dest_size          big integer 3852M

SQL>


注意:
(1)DB_RECOVERY_FILE_DEST_SIZE 只有在 DB_RECOVERY_FILE_DEST 清空之後才可以清空。
(2)初始化參數 db_recovery_file_dest_size 的設定有一點點需要注意的地方:
    檔案的第0塊和作業系統資料區塊頭的空間大小不包含在內,該參數並不代表實際佔用的空間大小。
    如果空間被壓縮、鏡像、RAID 的話,該參數的值意義是不一樣的

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.