阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle 增量备份恢复验证

245次阅读
没有评论

共计 3553 个字符,预计需要花费 9 分钟才能阅读完成。

首先把 Oracle 备份文件传到目标端,解压,如下所示是每天的备份,其中 20190816 是 0 级别的差异增量备份
,其余的都是 1 级的差异增量备份。
[oracle@beijing-fuli-Hadoop-03 /data/backup/oracle]$ ll
total 0
drwxr-xr-x 2 oracle oinstall 332 Aug 18 18:39 20190816
drwxr-xr-x 2 oracle oinstall 298 Aug 18 18:41 20190817
drwxr-xr-x 2 oracle oinstall 298 Aug 18 18:44 20190818
1. 恢复参数文件(参数文件会在自动备份控制文件的时候进行备份)
RMAN>restore spfile from  ‘/data/backup/oracle/20190818/db2_lev1_c-2174667026-20190818-1a’;
然后创建成 pfile, 进行相应的修改,
create pfile from spfile;
2. 恢复控制文件(选择最后一次备份的控制文件即可)
RMAN> restore controlfile  from  ‘/data/backup/oracle/20190818/controlfile20190818184413.bak’;
Starting restore at 18-AUG-19
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=129 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/data/u01/app/oracle/oradata/db2/control01.ctl
output file name=/data/u01/app/oracle/fast_recovery_area/db2/control02.ctl
Finished restore at 18-AUG-19
3. 恢复数据文件并借助归档日志实现数据一致性
3.1 告诉 rman 备份文件在哪里:
RMAN> catalog start with ‘/data/backup/oracle’;
3.2 具体恢复,基于时间的恢复,选择一个比较大的时间,就是肯定在备份时间之后的时间!
run {
set until time “to_date(‘2019-08-28 20:30:13′,’yyyy-mm-dd hh24:mi:ss’)”;
restore database;
recover database;
}
3.3 打开数据库:
SQL> alter database  open resetlogs;
Database altered.
 
如果你还有更多的 归档日志,可以把日志传输到目的端,然后再进行前面的步骤三,至于到底需要传那几个归档,需要你来判断,就是说只要包含最近一次备份完成后的那个点(scn) 即可,然后都是 oracle 自动去识别哪些是需要应用的 archive log,不需要你认为的指定,所以原则是竟可能多传输 archive, 千万别少传输!
首先在完成最后一次增量备份后,再主库 insert 一条数据,
SQL> insert into liuwenhe.test values (1010101);
SQL>commit;
SQL> alter system ARCHIVE LOG CURRENT;
然后把最近的 archive log 传给目的端,
[oracle@beijing-fuli-hadoop-02 archive]$ scp 1_32*  oracle@10.9.21.115:/data/backup/oracle
The authenticity of host ‘10.9.21.115 (10.9.21.115)’ can’t be established.
RSA key fingerprint is b4:c6:cf:53:53:6e:b6:9d:0b:a1:cf:45:67:ec:b9:57.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘10.9.21.115’ (RSA) to the list of known hosts.
oracle@10.9.21.115’s password:
1_320_1013795224.dbf                                                                                          100% 1024     1.0KB/s   00:00
1_32_1011211412.dbf                                                                                           100%   27MB  26.9MB/s   00:00
1_32_1012767360.dbf                                                                                           100%   27MB  27.0MB/s   00:00
1_321_1013795224.dbf                                                                                          100%   75KB  75.0KB/s   00:00
1_322_1013795224.dbf                                                                                          100% 2048     2.0KB/s   00:00
1_323_1013795224.dbf                                                                                          100% 1024     1.0KB/s   00:00
1_324_1013795224.dbf                                                                                          100% 3343KB   3.3MB/s   00:00
1_325_1013795224.dbf                                                                                          100%   18KB  18.0KB/s   00:00
1_326_1013795224.dbf                                                                                          100%   12KB  12.0KB/s   00:00
1_327_1013795224.dbf
把最近的归档传给目的地,然后告诉 rman 备份文件以及最近的归档在哪里:
RMAN> catalog start with ‘/data/backup/oracle’;
具体恢复,基于时间的恢复,选择一个比较大的时间,就是肯定在备份时间之后的时间!
run {
set until time “to_date(‘2019-08-28 20:30:13′,’yyyy-mm-dd hh24:mi:ss’)”;
restore database;
recover database;
}
3.3 打开数据库:
SQL> alter database  open resetlogs;
Database altered.
发现最近的归档下已经应用了:发现 1010101 这条数据已经存在了,
SQL> select * from liuwenhe.test;
ID
———-
100
100
1
2
22
  1010101
6 rows selected.
 
至此完成了增量备份的恢复!
 
 
RMAN 不完全恢复的主要操作命令!
a、基于 TIME 参数不完全恢复
run {
      shutdown immediate;
      startup mount;
      set until time “to_date(‘2019-04-28 20:30:13′,’yyyy-mm-dd hh24:mi:ss’)”;
      restore database;
      recover database;
      alter database open resetlogs;
}
b、基于 SCN 参数不完全恢复
run {
      shutdown immediate;
      startup mount;
      set until scn 3400;
      restore database;
      recover database;
      alter database open resetlogs;
}
c、基于 SEQUENCE 参数不完全恢复:
run {
      shutdown immediate;
      startup mount;
      set until sequence 12903;
      restore database;
      recover database;
      alter database open resetlogs;
正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3553字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中