oracle閃回技術-----使用閃回日誌來恢復用戶的邏輯錯誤,這種修復只針對用戶邏輯錯誤的恢復,而不涉及整個數據庫的恢復 恢復更具有針對性而且恢復時間大大減少。 對於閃回數據庫而言,閃回日誌不會被歸檔 啓用閃回數據庫-----數據庫處於歸檔模式 使用DB_RECOVERY_FILE_DEST參數指定的目錄作爲存儲目錄,該參數的值即爲快速恢復區 db_flashback_retention_target,該參數的值是一個一分鐘爲單位的數字。 通過數據字典v$flashback_database_log來評估需要的快閃恢復區空間 select estimated_flashback_size,retention_target,flashback_size from v$flashback_database_log mount - alter database flashback on 查看啓用狀態 select flashback_on from v$database; 關閉閃回數據庫 alter database falshback off; 禁用某個表空間的閃回特性 alter tablespace users flashback off; 通過數據字典V$TABLESPACE來查詢該表空間是否已經不被閃回保護 col flashback_on for a15 select name,flashback_on from v$tablespace; 如果要重新對錶空間啓用閃回數據庫--需要將數據庫啓動到Mount狀態 startup mount alter tablespace users flashback on; startup mount alter database flashback off; 閃回數據庫方法 可以使用RMAN方法也可以使用SQL指令的方法實現。 使用RMAN閃回數據庫如下3中方法 1.將數據庫閃回到過去的某個時間點,通過to_date函數指定具體的時間 flashback database to time=to_date('xxxx-xx-xx xx:xx:xx','yyyy-mm-dd hh24:mi:ss') 2.將數據庫閃回到過去的某個SCN,不太實際 flashback database to scn =xxxxx 3.將數據庫閃回到特定的日誌序列號之前的狀態,不包括序列號345 flashback database to sequence=345 thread=1; 使用sql指令閃回數據庫 1.將數據庫閃回到時間戳指定的狀態 flashback database to timestamp (sysdate-1/24) 2.閃回數據庫到某個過去的SCN flashback database to scn 678854 執行閃回數據庫時,需要將數據庫切換到MOUNT狀態,在閃回數據庫結束之後,需要用resetlogs開庫,即需要重新設置重做日誌 ,使得重做日誌序列號重新計數 使用閃回數據庫 創建用戶,並授予相關權限 登錄到新建用戶下,創建測試用表,插入記錄 刪除用戶 在閃回日誌中查看相關記錄,使用到的視圖v$flashback_database_log select * from v$flashback_database_log; 使用resetlogs打開數據庫,閃回日誌仍然有效。 監控閃回數據庫 使用v$flashback_database_log查詢可以閃回到的最小SCN號以及可以閃回到的時間點。 select oldest_flashback_scn,oldest_flashback_time from v$flashback_database_log; 數據字典視圖v$flashback_database_stat,用於監視閃回日誌寫入閃回數據的各種開銷, 比如記錄當前閃回記錄起止時間,閃回記錄的數據量以及重做日誌記錄的數據量等信息 select * from v$flashback_database_stat; 監控快閃恢復區的空間變化,在必要時候增加快閃恢復區的空間 select name,space_limit,space_used,space_reclaimable,number_of_files from v$recovery_file_dest name 快速恢復區的目錄 space_limit 空間最大使用上限 space_used 已使用了的空間 space_reclaimable 可以回收的空間 使用閃回數據庫的限制 1.數據文件被刪除或縮短 2.在閃回時間範圍內復原或重建了一個控制文件 3.在resetlogs操作之前 4.表空間被刪除
閃回數據庫的使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.