--建表
create table sales
(
? product_id number(10),
? sales_date date,
? sales_cost number(10,2),
? status???? varchar2(20)
);
--插數據
insert into sales values (1,sysdate-90,18.23,'inactive');
commit;
--啟用rman做全庫備份
? 運行D:\autobackup\rman\backup_orcl.bat
? 生成日志文件D:\autobackup\rman\logs\2011-04-29.log
? 從日志文件中看出:
????? Control File and SPFILE:D:\AUTOBACKUP\RMAN\C-1275904369-20110429-00
????? 數據文件:D:\AUTOBACKUP\RMAN\DATA_20110429_1DMB01T6_1_1
????? 日志文件:D:\AUTOBACKUP\RMAN\DATA_20110429_1CMB01T2_1_1 和 D:\AUTOBACKUP\RMAN\DATA_20110429_1EMB022O_1_1
??? 備份正查完成。
--再插數據???
insert into sales values (2,sysdate-60,18,'inactive');
commit;
--切換日志(手動觸發檢查點)
connect sys/orcl as sysdba;
alter system switch logfile;
--繼續插數據?
insert into sales values (3,sysdate-30,88.23,'inactive');
commit;
--全庫恢復
1.連接rman
rman target /
2.啟動數據庫到加載狀態
rman> shutdown immediate;
rman> startup mount;
3.執行修復、恢復操作
rman> restore database;
rman> recover database;
4.打開數據庫(恢復完成退出rman)
rman> alter database open;
rman> exit;
5.校驗
SQL> select * from sales;
PRODUCT_ID SALES_DATE?? SALES_COST STATUS
---------- ----------- ----------- --------------------
1????????? 2011-1-29 1????????? 18 inactive
2????????? 2011-2-28 1????????? 18 inactive
3????????? 2011-3-30 1????????? 88 inactive
三條數據齊全,說明數據庫在恢復時啟用日志文件對數據進行了恢復。
增量備份已現多余,檢查點也無需用戶手動觸發,
oracle在備份前會歸檔一次日志文件,在備份后也會歸檔一次日志文件,這也是為什么備份時生成兩個日志文件的原因。
6.恢復完成后馬上做一次全庫備份
? 運行D:\autobackup\rman\backup_orcl.bat
7.本測試的不足
? 本測試并未模擬災難環境,如突然斷電導致的數據庫崩潰,
? 此時,最后一次檢查點至崩潰時刻間的數據沒有歸檔,將會丟失。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
