資源描述:
《oracle 閃回技術1》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、Oracle閃回技術1FlashbackFlashback技術是以Undosegment中的內容為基礎的,因此受限于UNDO_RETENTON參數(shù)。要使用flashback的特性,必須啟用自動撤銷管理表空間。在Oracle11g里又出了一個新特性:OracleFlashbackDataArchive.FDA通過將變化數(shù)據(jù)另外存儲到創(chuàng)建的閃回歸檔區(qū)(FlashbackArchive)中,以和undo區(qū)別開來,這樣就可以為閃回歸檔區(qū)單獨設置存儲策略,使之可以閃回到指定時間之前的舊數(shù)據(jù)而不影響undo策略。在Oracle1
2、0g中,F(xiàn)lashback家族分為以下成員:FlashbackDatabase,F(xiàn)lashbackDrop,F(xiàn)lashbackQuery(分FlashbackQuery,FlashbackVersionQuery,F(xiàn)lashbackTransactionQuery三種)和FlashbackTable。2.4.1閃回恢復區(qū)(FlashbackRecoveryArea)在oracle9i中引入flashback查詢,以便能在需要的時候查到過去某個時刻的一致性數(shù)據(jù),依賴于undo表空間存儲的信息來閃回查詢以前的版本,當然這
3、個受限于undo表空間的大小,以及保留策略。如果undo被覆蓋了就不能進行查詢。oracle10g中增強了閃回查詢的功能,并且提供了將整個數(shù)據(jù)庫回退到過去某個時刻的能力,這是通過引入一種新的flashbacklog實現(xiàn)的。flashbacklog有點類似redolog,只不過redolog將數(shù)據(jù)庫往前滾,flashbacklog則將數(shù)據(jù)庫往后滾。為了保存管理和備份恢復相關的文件,oracle10g提供了一個叫做閃回恢復區(qū)(Flashbackrecoveryarea),這個區(qū)域默認創(chuàng)建在oracle_base目錄下???/p>
4、以將所有恢復相關的文件,比如flashbacklog,archivelog,backupset等,放到這個區(qū)域集中管理。2.4.1.1.設置閃回恢復區(qū)閃回恢復區(qū)主要通過3個初始化參數(shù)來設置和管理:db_recovery_file_dest:指定閃回恢復區(qū)的位置db_recovery_file_dest_size:指定閃回恢復區(qū)的可用空間大小db_flashback_retention_target:指定數(shù)據(jù)庫可以回退的時間,單位為分鐘,默認1440分鐘,也就是一天。當然,實際上可回退的時間還決定于閃回恢復區(qū)的大小,因
5、為里面保存了回退所需要的flashlog。所以這個參數(shù)要和db_recovery_file_dest_size配合修改。SQL>ALTERSYSTEMSETdb_recovery_file_dest_size=3gSCOPE=BOTH;Systemaltered.SQL>ALTERSYSTEMSETdb_recovery_file_dest='D:/app/Administrator/flash_recovery_area'SCOPE=BOTH;Systemaltered.SQL>showparameterdb_re
6、covery_file_destNAMETYPEVALUE-----------------------------------------------------------------------------db_recovery_file_deststringD:/app/Administrator/flash_recovery_areadb_recovery_file_dest_sizebiginteger3852MSQL>showparameterdb_flashbackNAMETYPEVALUE-----
7、------------------------------------------------------------------------db_flashback_retention_targetinteger1440我們看到db_flashback_retention_target默認是1440分鐘,即24小時,需要注意的是該參數(shù)雖然未直接指定flashrecoveryarea大小,但卻受其制約,舉個例子假如數(shù)據(jù)庫每天有10%左右的數(shù)據(jù)變動的話,如果該初始化參數(shù)值設置為1440,則flashrecoverya
8、rea的大小至少要是當前數(shù)據(jù)庫實際容量的10%,如果該初始化參數(shù)設置為2880,則flashrecoveryarea的大小就至少是數(shù)據(jù)庫所占容量的20%。修改該參數(shù):SQL>altersystemsetdb_flashback_retention_target=2880scope=both;2.4.1.2取消閃回恢復區(qū)將db_recovery_