码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 学习之RMAN(五)镜像copy

时间:2015-07-30 23:47:44      阅读:450      评论:0      收藏:0      [点我收藏+]

标签:rman 镜像copy

   我们上一讲讲到了RMAN能提供全库备份、表空间备份、数据文件备份、归档日志备份、控制文件及参数文件的备份。RMAN备份出来的文件称之为备份集,RMAN在备份的过程中,只备份已经使用过的数据块。RMAN将多个数据文件打包到一起,生成一个备份集。数据文件与备份集文件不再是一一对应的关系。关于备份集的概念,我们下一讲再详细介绍。本将我们说说RMAN的另一种备份方式--镜像copy。

  镜像copy是单个数据文件、控制文件、归档日志的克隆。备份出来的备份文件与数据库文件一一对应。下图描述了备份集与镜像copy之间的区别

技术分享

  镜像copy可以使用RMAN的backup as copy命令生成,也可以使用操作系统命令生成。

使用backup as copy命令备份时,Oracle服务器会话验证数据文件中的数据块,并且会将此次备份操作记录到控制文件中。我们知道,如果使用操作系统命令进行热备,首先要在数据库中执行begin backup命令,执行该命令后,数据文件的头部将被冷冻,在备份期间,为了保证数据块的有效性,一旦数据块被修改,那么日志文件将记录下该数据块的原始镜像。如果使用RMAN的backup as copy命令进行备份,则无需执行begin backup。 因为rman在备份的过程中会检查数据块的一致性,直到数据块一致了,才将其copy到备份文件中。

 镜像copy有如下特征:

  • 镜像copy只能写到磁盘上,当备份大文件时,将花费很长时间。但是数据还原的时间将大大减少。因为数据文件已经在磁盘上,无需从其他介质中还原数据文件。

  • 镜像copy中包含数据文件中的所有的块,无论该块是否被使用。


执行镜像copy

  • 备份数据库

RMAN> backup as copy database;

Starting backup at 2015/07/08 11:53:55
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle/oradata/devdb/system01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_system_bss7pnh2_.dbf tag=TAG20150708T115355 RECID=9 STAMP=884519670
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/u01/app/oracle/oradata/devdb/sysaux01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_sysaux_bss7qqqg_.dbf tag=TAG20150708T115355 RECID=10 STAMP=884519692
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_example_bss7rk3f_.dbf tag=TAG20150708T115355 RECID=11 STAMP=884519708
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/u01/app/oracle/oradata/devdb/undotbs01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_undotbs1_bss7s07q_.dbf tag=TAG20150708T115355 RECID=12 STAMP=884519715
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=/u01/app/oracle/oradata/devdb/idx01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_idx_bss7s7gp_.dbf tag=TAG20150708T115355 RECID=13 STAMP=884519720
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u01/app/oracle/oradata/devdb/users01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_users_bss7s8mb_.dbf tag=TAG20150708T115355 RECID=14 STAMP=884519720
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2015/07/08 11:55:21

Starting Control File and SPFILE Autobackup at 2015/07/08 11:55:21
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/autobackup/2015_07_08/o1_mf_s_884519721_bss7sbdk_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2015/07/08 11:55:22

备份了数据库中所有的数据文件(包括undo,其实undo也是数据文件)。但是backup database as copy时,并不会备份控制文件和spfile。最后一段备份控制文件与参数文件是因为我们配置了控制文件自动备份功能。

  • 备份表空间

RMAN> backup as copy tablespace EXAMPLE;

Starting backup at 2015/07/08 12:26:58
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_example_bss9nmnv_.dbf tag=TAG20150708T122659 RECID=15 STAMP=884521632
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
Finished backup at 2015/07/08 12:27:14

Starting Control File and SPFILE Autobackup at 2015/07/08 12:27:14
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/autobackup/2015_07_08/o1_mf_s_884521634_bss9o37t_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2015/07/08 12:27:15
  • 备份数据文件

RMAN> backup as copy datafile ‘/u01/app/oracle/oradata/devdb/example01.dbf‘;

Starting backup at 2015/07/08 12:28:59
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbf
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/datafile/o1_mf_example_bss9rcv9_.dbf tag=TAG20150708T122859 RECID=16 STAMP=884521750
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
Finished backup at 2015/07/08 12:29:14

Starting Control File and SPFILE Autobackup at 2015/07/08 12:29:15
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/autobackup/2015_07_08/o1_mf_s_884521755_bss9rv8v_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2015/07/08 12:29:16
  • 备份控制文件

RMAN> backup as copy current controlfile;

Starting backup at 2015/07/08 12:33:34
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/controlfile/o1_mf_TAG20150708T123334_bssb0yj4_.ctl tag=TAG20150708T123334 RECID=17 STAMP=884522014
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2015/07/08 12:33:35

Starting Control File and SPFILE Autobackup at 2015/07/08 12:33:35
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/autobackup/2015_07_08/o1_mf_s_884522015_bssb0zrf_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2015/07/08 12:33:36
  • 备份归档日志文件

RMAN> backup as copy archivelog all;

Starting backup at 2015/07/08 12:34:54
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=16 RECID=7 STAMP=884486041
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_16_bssb3h9w_.arc RECID=15 STAMP=884522095
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=17 RECID=8 STAMP=884486144
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_17_bssb3jdy_.arc RECID=16 STAMP=884522096
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=18 RECID=9 STAMP=884486148
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_18_bssb3khz_.arc RECID=17 STAMP=884522097
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=19 RECID=10 STAMP=884486151
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_19_bssb3ll4_.arc RECID=18 STAMP=884522098
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=20 RECID=11 STAMP=884486169
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_20_bssb3mnx_.arc RECID=19 STAMP=884522099
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=21 RECID=12 STAMP=884486468
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_21_bssb3nqm_.arc RECID=20 STAMP=884522100
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=22 RECID=13 STAMP=884486525
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_22_bssb3otp_.arc RECID=21 STAMP=884522101
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=23 RECID=14 STAMP=884522094
output file name=/u01/app/oracle/fast_recovery_area/DEVDB/archivelog/2015_07_08/o1_mf_1_23_bssb3py8_.arc RECID=22 STAMP=884522103
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 2015/07/08 12:35:03

Starting Control File and SPFILE Autobackup at 2015/07/08 12:35:04
piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/autobackup/2015_07_08/o1_mf_s_884522104_bssb3r69_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2015/07/08 12:35:05


本文出自 “叮咚” 博客,请务必保留此出处http://lqding.blog.51cto.com/9123978/1680129

Oracle 学习之RMAN(五)镜像copy

标签:rman 镜像copy

原文地址:http://lqding.blog.51cto.com/9123978/1680129

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!