可按以下步驟配置閃回數(shù)據(jù)庫:(確保數(shù)據(jù)庫處于ARCHIVELOG 模式。)
成都創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司,專注網(wǎng)站建設、成都網(wǎng)站建設、網(wǎng)站營銷推廣,域名注冊,虛擬空間,成都網(wǎng)站托管有關企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系成都創(chuàng)新互聯(lián)。
1. 配置快速恢復區(qū)。
2. 使用初始化參數(shù)DB_FLASHBACK_RETENTION_TARGET 設置保留目標??芍付?/p>
一個上限(以分鐘為單位),指示數(shù)據(jù)庫能夠閃回到多長時間以前。本示例使用
了 2880 分鐘,相當于兩天。此參數(shù)只是一個目標,并不提供任何保證。閃回時間
間隔取決于快速恢復區(qū)中保留的閃回數(shù)據(jù)量的大小。
3. 使用以下命令啟用閃回數(shù)據(jù)庫:
ALTER DATABASE FLASHBACK ON;
必須先配置數(shù)據(jù)庫以進行歸檔,且必須在 MOUNT EXCLUSIVE 模式下啟動數(shù)據(jù)庫
后,才能發(fā)出此命令來啟用閃回數(shù)據(jù)庫。
可以使用以下查詢來確定是否已啟用閃回數(shù)據(jù)庫:
SELECT flashback_on FROM v$database;
可以使用ALTER DATABASE FLASHBACK OFF 命令禁用閃回數(shù)據(jù)庫。這樣,會自動刪
除所有現(xiàn)有的閃回數(shù)據(jù)庫日志。
注:僅當在獨占模式下裝載(而不是打開)數(shù)據(jù)庫時才能啟用閃回數(shù)據(jù)庫。
1.確認當前模式
SYS AS SYSDBA on 29-MAR-05 select flashback_on from v$database;
FLA
---
NO
2.檢查/修改恢復區(qū)設置
SYS AS SYSDBA on 29-MAR-05 show parameter db_recovery_file_dest
NAME TYPEVALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_deststring /u01/app/oracle/flash_recovery_areadb_recovery_file_dest_size big integer 10G
SYS AS SYSDBA on 29-MAR-05 alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area';
SYS AS SYSDBA on 29-MAR-05 alter system set db_recovery_file_dest_size=15G;
3.檢查/修改閃回時間設置
SYS AS SYSDBA on 29-MAR-05 show parameter db_flashback_retention_target
NAME TYPEVALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_targetinteger 60
SYS AS SYSDBA on 29-MAR-05 alter system set db_flashback_retention_target=1440;--分鐘
System altered.
如何設置flash recovery area
(1).db_recovery_file_dest:指定閃回恢復區(qū)的位置
(2).db_recovery_file_dest_size:指定閃回恢復區(qū)的可用空間大小
(3).db_flashback_retention_target:指定數(shù)據(jù)庫可以回退的時間,單位為分鐘,默認1440分鐘,也就是一天。當然,實際上可回退的時間還決定于閃回恢復區(qū)的大小,因為里面保存了回退所需要的 flash log。所以這個參數(shù)要和db_recovery_file_dest_size配合修改。
alter system set db_flashback_retention_target=1440;
alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area';
alter system set db_recovery_size=15G;
4.重新啟動數(shù)據(jù)庫到Mount狀態(tài)
啟動flashback database選項。
SYS AS SYSDBA on 29-MAR-05 shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS AS SYSDBA on 29-MAR-05 startup mount exclusive;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1301704 bytes
Variable Size 261890872 bytes
Database Buffers 50331648 bytes
Redo Buffers1048576 bytes
Database mounted.
SYS AS SYSDBA on 29-MAR-05 alter database flashback on;
Database altered.
SYS AS SYSDBA on 29-MAR-05 alter database open;
Database altered.
開啟和關閉閃回模式必須處于mount模式下,命令如下:
SQLalter database flashback on;
SQLalter database flashback off;
如果開啟閃回可以使用閃回表。\x0d\x0aselectlog_mode,flashback_onfromv$database;\x0d\x0a如果是下面結果則開了閃回\x0d\x0aLOG_MODEFLASHBACK_ON\x0d\x0a------------------------------\x0d\x0aARCHIVELOGYES\x0d\x0a可以執(zhí)行以下命令\x0d\x0aaltertable表名enablerowmovement;--開啟表行移動\x0d\x0aflashbacktable表名totimestampto_timestamp('2013081314:00:00','yyyymmddhh24:mi:ss');\x0d\x0a--閃回到2013年8月13日14點\x0d\x0a你要是沒開啟,有邏輯備份可以使用imp命令導入數(shù)據(jù)。\x0d\x0a如果沒用邏輯備份,開啟歸檔模式,有物理備份,能夠停機、數(shù)據(jù)丟失的話,可以采用不完全恢復\x0d\x0a用rman登陸\x0d\x0armantarget/\x0d\x0a執(zhí)行以下命令\x0d\x0arun{shutdownimmediate;\x0d\x0astartupmount;\x0d\x0asetuntiltime="to_date('2013081314:00:00','yyyymmddhh24:mi:ss')";\x0d\x0arestoredatabase;\x0d\x0arecoverdatabase;\x0d\x0aalterdatabaseopenresetlogs;}\x0d\x0a切記!做以上任何操作前做好備份,否則出了問題后悔莫及。\x0d\x0a而且建議你聯(lián)系你們數(shù)據(jù)庫管理員處理這個問題。
一
首先查看是否開啟閃回:
SQL select flashback_on from V$database;
FLASHBACK_ON
------------------
NO
二
如果已經(jīng)開啟了閃回,無須執(zhí)行下面的操作。
cd /u01
mkdir flashback(生成閃回目錄)
SQL alter system set db_recovery_file_dest_size=30G scope=both;
SQL alter system set db_recovery_file_dest='/u01/flashback' scope=both;
SQL shutdown immediate
SQL startup mount
SQL alter database archivelog;
SQL alter database flashback on;
SQL alter database open;
三
再進行確認:
SQL select flashback_on from V$database;
FLASHBACK_ON
------------------
YES