rman恢复

--建表
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.本测试的不足
  本测试并未模拟灾难环境,如突然断电导致的数据库崩溃,
  此时,最后一次检查点至崩溃时刻间的数据没有归档,将会丢失。

原文地址:https://www.cnblogs.com/BradMiller/p/2072644.html