使用RMAN 备份数据库时,既可以建立备份集(Backup Set),也可以建立映像副本(Image Copy)。
10.1 RMAN 备份的概念
1. 备份集(Backup Set)
备份集是RMAN 所提供的一种用于存储备份信息的逻辑结构,并且备份集只能用RMAN 命令建立和转储。
当使用RMAN 为数据文件建立备份集时,备份集只包含数据文件已用数据块的信息,而不会包含空数据块。
2. 备份片(Backup Piece)
备份片是用于存储备份信息的二进制文件。备份集由一个或多个备份片组成,并且每个备份片对应一个OS文件。
3. 映像副本(Image Copy)
映像副本类似于用户管理的备份,它是单个数据文件、单个控制文件或单个归档日志的完整备份文件。
10.2 建立备份集
在指定备份片的文件名格式时应该使用以下匹配符:
- %c:当生成多重备份时,用于指定备份片的副本号。
- %d:用于指定数据库名。
- %e:用于指定归档日志序列号。
- %p:用于指定在备份集内备份片的编号。
- %s:用于指定备份集编号。
- %N:用于指定表空间的名称。
- %f:用于指定绝对文件号。
为了防止建立备份集错误,匹配符%s 是必须的;如果建立多个备份片文件,则匹配符%p 是必须的;如果要建立多个备份片副本,则匹配符%c 是必须的。
1. 完全数据库备份集
(1) 一致性备份。
C:\>rman target sys/orcl@demo nocatalog
恢复管理器: Release 10.2.0.1.0 - Production on 星期四 10月 2 13:41:33 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: DEMO (DBID=3408444956)
使用目标数据库控制文件替代恢复目录
RMAN> shutdown immediate
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup mount
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size 75498852 字节
Database Buffers 88080384 字节
Redo Buffers 2945024 字节
RMAN> backup database format='d:\backup\%d_%s.dbf';
启动 backup 于 02-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_59.DBF 标记=TAG20081002T134333 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:03:25
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_60.DBF 标记=TAG20081002T134333 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 02-10月-08
RMAN> sql 'alter system archive log current';
sql 语句: alter system archive log current
(2) 非一致性备份。
RMAN> alter database open;
数据库已打开
RMAN> backup database format='d:\backup\%d_%s.dbf';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_61.DBF 标记=TAG20081002T135146 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:45
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_62.DBF 标记=TAG20081002T135146 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 02-10月-08
RMAN> sql 'alter system archive log current';
sql 语句: alter system archive log current
(3) 免除表空间。
RMAN> configure exclude for tablespace users;
今后的全部数据库备份将排除表空间 USERS
已成功存储新的 RMAN 配置参数
RMAN> backup database format='d:\backup\%d_%s.dbf';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
全部数据库备份将排除文件 4
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_63.DBF 标记=TAG20081002T135730 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:25
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_64.DBF 标记=TAG20081002T135730 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 02-10月-08
RMAN> sql 'alter system archive log current';
sql 语句: alter system archive log current
RMAN> configure exclude for tablespace users clear;
今后的全部数据库备份将包括表空间 USERS
已成功删除旧的 RMAN 配置参数
2. 表空间备份集
RMAN> backup tablespace users format='d:\backup\%d_%N_%s.dbf';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_USERS_65.DBF 标记=TAG20081002T140054 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 02-10月-08
3. 数据文件备份集
RMAN> backup datafile 4 format='d:\backup\%d_%N_%f_%s.dbf';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_USERS_4_66.DBF 标记=TAG20081002T140503 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 02-10月-08
4. 控制文件备份集
RMAN> backup current controlfile format='d:\backup\%d_%s.ctl';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_67.CTL 标记=TAG20081002T140710 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 02-10月-08
备份数据文件1时,会自动备份当前控制文件。当备份其他数据文件时,通过指定INCLUDE CURRENT CONTROLFILE 选项可以同时备份控制文件。
RMAN> backup datafile 4 format='d:\backup\%d_%s.dbf' include current controlfile;
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_72.DBF 标记=TAG20081002T141034 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_73.DBF 标记=TAG20081002T141034 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 02-10月-08
5. SPFILE 备份集
RMAN> backup spfile format='d:\backup\%d_%s.par';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_74.PAR 标记=TAG20081002T141209 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 02-10月-08
6. 归档日志备份集
RMAN> backup format='d:\backup\%d_%s.arc' archivelog from time='sysdate-1' until
time='sysdate';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =8 记录 ID=334 时间戳=667055192
输入存档日志线程 =1 序列 =9 记录 ID=336 时间戳=667055247
输入存档日志线程 =1 序列 =10 记录 ID=338 时间戳=667055251
输入存档日志线程 =1 序列 =11 记录 ID=340 时间戳=667055251
输入存档日志线程 =1 序列 =12 记录 ID=342 时间戳=667055256
输入存档日志线程 =1 序列 =13 记录 ID=344 时间戳=667055301
输入存档日志线程 =1 序列 =14 记录 ID=347 时间戳=667055330
输入存档日志线程 =1 序列 =15 记录 ID=348 时间戳=667057760
输入存档日志线程 =1 序列 =16 记录 ID=350 时间戳=667058108
输入存档日志线程 =1 序列 =17 记录 ID=352 时间戳=667058354
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_79.ARC 标记=TAG20081002T141812 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =1 记录 ID=282 时间戳=667053111
输入存档日志线程 =1 序列 =2 记录 ID=284 时间戳=667053167
输入存档日志线程 =1 序列 =3 记录 ID=286 时间戳=667053173
输入存档日志线程 =1 序列 =4 记录 ID=288 时间戳=667053173
输入存档日志线程 =1 序列 =5 记录 ID=290 时间戳=667053178
输入存档日志线程 =1 序列 =6 记录 ID=292 时间戳=667053178
输入存档日志线程 =1 序列 =7 记录 ID=294 时间戳=667053179
输入存档日志线程 =1 序列 =8 记录 ID=296 时间戳=667053180
输入存档日志线程 =1 序列 =9 记录 ID=298 时间戳=667053180
输入存档日志线程 =1 序列 =10 记录 ID=300 时间戳=667053181
输入存档日志线程 =1 序列 =11 记录 ID=302 时间戳=667053186
输入存档日志线程 =1 序列 =12 记录 ID=304 时间戳=667053186
输入存档日志线程 =1 序列 =13 记录 ID=306 时间戳=667053285
输入存档日志线程 =1 序列 =14 记录 ID=308 时间戳=667053454
输入存档日志线程 =1 序列 =15 记录 ID=310 时间戳=667053690
输入存档日志线程 =1 序列 =16 记录 ID=312 时间戳=667053760
输入存档日志线程 =1 序列 =17 记录 ID=314 时间戳=667054536
输入存档日志线程 =1 序列 =18 记录 ID=316 时间戳=667054565
输入存档日志线程 =1 序列 =19 记录 ID=318 时间戳=667054811
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_80.ARC 标记=TAG20081002T141812 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 02-10月-08
7. 并行化备份集
RMAN> backup database format='d:\backup\%d_%s.dbf';
启动 backup 于 02-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=151 devtype=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: sid=139 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_2: 启动全部数据文件备份集
通道 ORA_DISK_2: 正在指定备份集中的数据文件
输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_2: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_3: 启动全部数据文件备份集
通道 ORA_DISK_3: 正在指定备份集中的数据文件
备份集中包括当前控制文件
通道 ORA_DISK_3: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_3: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_83.DBF 标记=TAG20081002T142013 注释=NONE
通道 ORA_DISK_3: 备份集已完成, 经过时间:00:00:47
通道 ORA_DISK_3: 启动全部数据文件备份集
通道 ORA_DISK_3: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_3: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_3: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_84.DBF 标记=TAG20081002T142013 注释=NONE
通道 ORA_DISK_3: 备份集已完成, 经过时间:00:00:18
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_81.DBF 标记=TAG20081002T142013 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:02:02
通道 ORA_DISK_2: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_82.DBF 标记=TAG20081002T142013 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:02:02
完成 backup 于 02-10月-08
RMAN> configure device type disk clear;
旧的 RMAN 配置参数:
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
RMAN 配置参数已成功重置为默认值
释放的通道: ORA_DISK_1
释放的通道: ORA_DISK_2
释放的通道: ORA_DISK_3
8. 建立多重备份
RMAN> backup copies 3 tablespace users format='d:\backup\%d_%N_%s.dbf',
2> 'd:\backup2\%d_%N_%s.dbf','d:\backup3\%d_%N_%s.dbf';
启动 backup 于 02-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08, 有 3 个副本和标记 TAG20081002T143041
段 handle=D:\BACKUP\DEMO_USERS_85.DBF comment=NONE
段 handle=D:\BACKUP2\DEMO_USERS_85.DBF comment=NONE
段 handle=D:\BACKUP3\DEMO_USERS_85.DBF comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:57
完成 backup 于 02-10月-08
9. 备份备份集
RMAN> backup backupset 60 format='d:\backup\%d_%s.bak';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
输入备份集 count==74 stamp=667059129 creation_time=02-10月-08
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 备份段 D:\BACKUP\DEMO_74.PAR
段 handle=D:\BACKUP\DEMO_74.BAK comment=NONE
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 02-10月-08
10. 建立多个备份片
RMAN> configure channel device type disk maxpiecesize 500M;
新的 RMAN 配置参数:
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 500 M;
已成功存储新的 RMAN 配置参数
RMAN> backup device type disk format='d:\backup\%d_%s_%p.dbf' database;
启动 backup 于 02-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_88_1.DBF 标记=TAG20081002T144708 注释=NONE
通道 ORA_DISK_1: 正在启动段 2 于 02-10月-08
通道 ORA_DISK_1: 已完成段 2 于 02-10月-08
段句柄=D:\BACKUP\DEMO_88_2.DBF 标记=TAG20081002T144708 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:02:00
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_89_1.DBF 标记=TAG20081002T144708 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:05
完成 backup 于 02-10月-08
RMAN> configure device type disk clear;
RMAN 配置参数已成功重置为默认值
释放的通道: ORA_DISK_1
11. 建立压缩备份集
RMAN> backup as compressed backupset tablespace users format='d:\backup\%d_%N_%s.dbf';
启动 backup 于 02-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_USERS_90.DBF 标记=TAG20081002T145313 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:15
完成 backup 于 02-10月-08
12. 备份数据文件和归档日志
RMAN> backup format 'd:\backup\%d_%s.bak' tablespace users plus archivelog;
启动 backup 于 02-10月-08
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =8 记录 ID=334 时间戳=667055192
输入存档日志线程 =1 序列 =9 记录 ID=336 时间戳=667055247
输入存档日志线程 =1 序列 =10 记录 ID=338 时间戳=667055251
输入存档日志线程 =1 序列 =11 记录 ID=340 时间戳=667055251
输入存档日志线程 =1 序列 =12 记录 ID=342 时间戳=667055256
输入存档日志线程 =1 序列 =13 记录 ID=344 时间戳=667055301
输入存档日志线程 =1 序列 =14 记录 ID=347 时间戳=667055330
输入存档日志线程 =1 序列 =15 记录 ID=348 时间戳=667057760
输入存档日志线程 =1 序列 =16 记录 ID=350 时间戳=667058108
输入存档日志线程 =1 序列 =17 记录 ID=352 时间戳=667058354
输入存档日志线程 =1 序列 =18 记录 ID=354 时间戳=667062068
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_91.BAK 标记=TAG20081002T150109 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =1 记录 ID=282 时间戳=667053111
输入存档日志线程 =1 序列 =2 记录 ID=284 时间戳=667053167
输入存档日志线程 =1 序列 =3 记录 ID=286 时间戳=667053173
输入存档日志线程 =1 序列 =4 记录 ID=288 时间戳=667053173
输入存档日志线程 =1 序列 =5 记录 ID=290 时间戳=667053178
输入存档日志线程 =1 序列 =6 记录 ID=292 时间戳=667053178
输入存档日志线程 =1 序列 =7 记录 ID=294 时间戳=667053179
输入存档日志线程 =1 序列 =8 记录 ID=296 时间戳=667053180
输入存档日志线程 =1 序列 =9 记录 ID=298 时间戳=667053180
输入存档日志线程 =1 序列 =10 记录 ID=300 时间戳=667053181
输入存档日志线程 =1 序列 =11 记录 ID=302 时间戳=667053186
输入存档日志线程 =1 序列 =12 记录 ID=304 时间戳=667053186
输入存档日志线程 =1 序列 =13 记录 ID=306 时间戳=667053285
输入存档日志线程 =1 序列 =14 记录 ID=308 时间戳=667053454
输入存档日志线程 =1 序列 =15 记录 ID=310 时间戳=667053690
输入存档日志线程 =1 序列 =16 记录 ID=312 时间戳=667053760
输入存档日志线程 =1 序列 =17 记录 ID=314 时间戳=667054536
输入存档日志线程 =1 序列 =18 记录 ID=316 时间戳=667054565
输入存档日志线程 =1 序列 =19 记录 ID=318 时间戳=667054811
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_92.BAK 标记=TAG20081002T150109 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 02-10月-08
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_93.BAK 标记=TAG20081002T150117 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 02-10月-08
启动 backup 于 02-10月-08
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =19 记录 ID=357 时间戳=667062103
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_94.BAK 标记=TAG20081002T150143 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 02-10月-08
13. 指定备份集标记
RMAN> backup format 'd:\backup\%d_%s.bak' tablespace users tag='users';
启动 backup 于 02-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-10月-08
通道 ORA_DISK_1: 已完成段 1 于 02-10月-08
段句柄=D:\BACKUP\DEMO_95.BAK 标记=USERS 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 02-10月-08
10.3 建立映像副本
当建立映像副本时,只能基于数据文件、控制文件、归档日志建立映像副本,而不能基本SPFILE 建立映像副本。映像副本只能建在磁盘上,而不能建在磁带上。ORACLE DATABASE 10G 之前,只能使用COPY 命令来完成;从ORACLE DB 10G 开始,不仅可以使用COPY 命令建立映像副本,而且可以使用BACKUP 命令的AS COPY 选项建立映像副本。
(1) 建立数据文件映像副本。
RMAN> backup as copy format='d:\backup\df_4.dbf' datafile 4;
启动 backup 于 05-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=141 devtype=DISK
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
输出文件名 = D:\BACKUP\DF_4.DBF 标记 = TAG20081005T204026 recid = 4 时间戳 = 667
341644
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:26
完成 backup 于 05-10月-08
RMAN> copy datafile 1 to 'd:\backup\df_1.dbf';
启动 backup 于 05-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输出文件名 = D:\BACKUP\DF_1.DBF 标记 = TAG20081005T204251 recid = 5 时间戳 = 667
341820
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:55
完成 backup 于 05-10月-08
(2) 建立控制文件映像副本。
RMAN> backup as copy format='d:\backup\demo.ctl' current controlfile;
启动 backup 于 05-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制当前控制文件
输出文件名 = D:\BACKUP\DEMO.CTL 标记 = TAG20081005T204508 recid = 6 时间戳 = 667
341909
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:03
完成 backup 于 05-10月-08
RMAN> copy current controlfile to 'd:\backup\demo.ctl';
启动 backup 于 05-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制当前控制文件
输出文件名 = D:\BACKUP\DEMO.CTL 标记 = TAG20081005T204544 recid = 7 时间戳 = 667
341945
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:03
完成 backup 于 05-10月-08
(3) 建立归档日志映像副本。
RMAN> backup as copy format='d:\backup\arc23.log' archivelog sequence 23;
启动 backup 于 05-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动归档副本
输入存档日志线程 =1 序列 =23 记录 ID=365 时间戳=667341032
输出文件名=D:\BACKUP\ARC23.LOG recid=366 stamp=667342232
通道 ORA_DISK_1: 归档日志复制完毕, 经过时间: 00:00:02
完成 backup 于 05-10月-08
RMAN> copy archivelog 'D:\demo\archive\22_1_667054810.LOG' to 'd:\backup\arc22.log';
启动 backup 于 05-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动归档副本
输入存档日志线程 =1 序列 =22 记录 ID=363 时间戳=667329352
输出文件名=D:\BACKUP\ARC22.LOG recid=367 stamp=667342358
通道 ORA_DISK_1: 归档日志复制完毕, 经过时间: 00:00:02
完成 backup 于 05-10月-08
(4) 并行化建立映像副本。
RMAN> configure device type disk parallelism 3;
新的 RMAN 配置参数:
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
已成功存储新的 RMAN 配置参数
释放的通道: ORA_DISK_1
RMAN> backup as copy format='d:\backup\df_%f.dfb' datafile 2,3,4;
启动 backup 于 05-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=141 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=138 devtype=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: sid=150 devtype=DISK
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
通道 ORA_DISK_2: 启动数据文件副本
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_3: 启动数据文件副本
输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
输出文件名 = D:\BACKUP\DF_2.DFB 标记 = TAG20081005T212932 recid = 8 时间戳 = 667
344624
通道 ORA_DISK_3: 数据文件复制完毕, 经过时间: 00:00:56
输出文件名 = D:\BACKUP\DF_3.DFB 标记 = TAG20081005T212932 recid = 10 时间戳 = 66
7344645
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:01:14
输出文件名 = D:\BACKUP\DF_4.DFB 标记 = TAG20081005T212932 recid = 9 时间戳 = 667
344644
通道 ORA_DISK_2: 数据文件复制完毕, 经过时间: 00:01:12
完成 backup 于 05-10月-08
RMAN> configure device type disk clear;
旧的 RMAN 配置参数:
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
RMAN 配置参数已成功重置为默认值
释放的通道: ORA_DISK_1
释放的通道: ORA_DISK_2
释放的通道: ORA_DISK_3
(5) 指定映像副本标记。
RMAN> backup as copy format='d:\backup\df_%f.dbf' datafile 4 tag=df_4;
启动 backup 于 05-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
输出文件名 = D:\BACKUP\DF_4.DBF 标记 = DF_4 recid = 11 时间戳 = 667345152
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:25
完成 backup 于 05-10月-08
RMAN> copy datafile 1 to 'd:\backup\df_%f.dbf' tag=df_1;
启动 backup 于 05-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
输出文件名 = D:\BACKUP\DF_1.DBF 标记 = DF_1 recid = 12 时间戳 = 667345315
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:56
完成 backup 于 05-10月-08
10.4 建立增量备份和累积备份
在ORACLE DB 10g 之前,增量备份和累积备份包括0、1、213、4 五个备份级别;在Oracel DB 10g 中,仍然保留了这五种备份级别,但将来版本会逐步淘汰2、3、4 三个备份级别。
(1) 增量备份。
增量备份是指备份更低级别或相同级别最近一次备份以来变化的数据块,增量备份的基础是增量0级备份。
RMAN> backup incremental level 0 format='d:\backup\%d_%s.dbf' tablespace users;
启动 backup 于 06-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=144 devtype=DISK
通道 ORA_DISK_1: 启动增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 06-10月-08
通道 ORA_DISK_1: 已完成段 1 于 06-10月-08
段句柄=D:\BACKUP\DEMO_108.DBF 标记=TAG20081006T162504 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 06-10月-08
RMAN> backup incremental level 2 format='d:\backup\%d_%s.dbf' tablespace users;
启动 backup 于 06-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 2 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 06-10月-08
通道 ORA_DISK_1: 已完成段 1 于 06-10月-08
段句柄=D:\BACKUP\DEMO_109.DBF 标记=TAG20081006T162933 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:15
完成 backup 于 06-10月-08
RMAN> backup incremental level 1 format='d:\backup\%d_%s.dbf' tablespace users;
启动 backup 于 06-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 06-10月-08
通道 ORA_DISK_1: 已完成段 1 于 06-10月-08
段句柄=D:\BACKUP\DEMO_110.DBF 标记=TAG20081006T163028 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07
完成 backup 于 06-10月-08
(2) 累积备份。
累积备份是指备份更低级别或n-1 级别最近一次备份以来变化的数据块。
RMAN> backup incremental level 0 format='d:\backup\%d_%s.dbf' tablespace users;
启动 backup 于 06-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 06-10月-08
通道 ORA_DISK_1: 已完成段 1 于 06-10月-08
段句柄=D:\BACKUP\DEMO_111.DBF 标记=TAG20081006T163529 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 06-10月-08
RMAN> backup incremental level 2 format='d:\backup\%d_%s.dbf' tablespace users;
启动 backup 于 06-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 2 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 06-10月-08
通道 ORA_DISK_1: 已完成段 1 于 06-10月-08
段句柄=D:\BACKUP\DEMO_112.DBF 标记=TAG20081006T163634 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:15
完成 backup 于 06-10月-08
RMAN> backup incremental level 2 cumulative format='d:\backup\%d_%s.dbf' tablesp
ace users;
启动 backup 于 06-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 2 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 06-10月-08
通道 ORA_DISK_1: 已完成段 1 于 06-10月-08
段句柄=D:\BACKUP\DEMO_113.DBF 标记=TAG20081006T163928 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07
完成 backup 于 06-10月-08
RMAN> backup incremental level 1 format='d:\backup\%d_%s.dbf' tablespace users;
启动 backup 于 06-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 06-10月-08
通道 ORA_DISK_1: 已完成段 1 于 06-10月-08
段句柄=D:\BACKUP\DEMO_114.DBF 标记=TAG20081006T164047 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:10
完成 backup 于 06-10月-08
10.5 显示备份信息
(1) V$ARCHIVED_LOG
SQL> select sequence#,name,first_change# from v$archived_log where status='A';
SEQUENCE# NAME FIRST_CHANGE#
---------- ---------------------------------------- -------------
..................................................
17 C:\DEMO\ARCHIVE\17_1_667054810.LOG 1137382
17 D:\DEMO\ARCHIVE\17_1_667054810.LOG 1137382
18 C:\DEMO\ARCHIVE\18_1_667054810.LOG 1137498
18 D:\DEMO\ARCHIVE\18_1_667054810.LOG 1137498
19 C:\DEMO\ARCHIVE\19_1_667054810.LOG 1140531
19 D:\DEMO\ARCHIVE\19_1_667054810.LOG 1140531
20 C:\DEMO\ARCHIVE\20_1_667054810.LOG 1140549
20 D:\DEMO\ARCHIVE\20_1_667054810.LOG 1140549
21 C:\DEMO\ARCHIVE\21_1_667054810.LOG 1167409
21 D:\DEMO\ARCHIVE\21_1_667054810.LOG 1167409
22 C:\DEMO\ARCHIVE\22_1_667054810.LOG 1190080
22 D:\DEMO\ARCHIVE\22_1_667054810.LOG 1190080
23 C:\DEMO\ARCHIVE\23_1_667054810.LOG 1213151
23 D:\DEMO\ARCHIVE\23_1_667054810.LOG 1213151
................................................
(2) V$BACKUP_DATAFILE。
SQL> select a.file#,b.handle,a.blocks*a.block_size byte
2 from v$backup_datafile a, v$backup_piece b
3 where a.set_stamp=b.set_stamp and b.status='A';
FILE# HANDLE BYTE
---------- ------------------------------------------------------ ----------
....................................................
1 D:\BACKUP\DEMO_86_1.DBF 378535936
3 D:\BACKUP\DEMO_86_1.DBF 173391872
4 D:\BACKUP\DEMO_86_1.DBF 245153792
2 D:\BACKUP\DEMO_86_1.DBF 124575744
0 D:\BACKUP\DEMO_87_1.DBF 7667712
1 D:\BACKUP\DEMO_88_2.DBF 378535936
1 D:\BACKUP\DEMO_88_1.DBF 378535936
3 D:\BACKUP\DEMO_88_2.DBF 173391872
3 D:\BACKUP\DEMO_88_1.DBF 173391872
4 D:\BACKUP\DEMO_88_2.DBF 245153792
4 D:\BACKUP\DEMO_88_1.DBF 245153792
2 D:\BACKUP\DEMO_88_2.DBF 124575744
2 D:\BACKUP\DEMO_88_1.DBF 124575744
0 D:\BACKUP\DEMO_89_1.DBF 7667712
......................................................
file# 用于标识数据文件编号(0表示控制文件),handle 用于标识备份片所对应的文件名,byte 用于标识数据文件备份在备份片内占用的空间,set_stamp 是用于唯一标识备份集的数字值,status 用于标识备份片文件的状态。
(3) V$BACKUP_REDOLOG 。
SQL> select distinct a.handle, b.sequence#, b.first_change#, b.blocks*b.block_size byte
2 from v$backup_piece a, v$backup_redolog b
3* where a.set_stamp=b.set_stamp and a.status='A';
HANDLE SEQUENCE# FIRST_CHANGE# BYTE
------------------------------------------------------ ---------- ------------- ----------
..........................................................................................
D:\BACKUP\DEMO_78.ARC 1 1135243 71168
D:\BACKUP\DEMO_80.ARC 19 1156422 516096
D:\BACKUP\DEMO_80.ARC 2 1135430 1024
D:\BACKUP\DEMO_80.ARC 4 1135455 512
D:\BACKUP\DEMO_80.ARC 10 1135468 512
D:\BACKUP\DEMO_80.ARC 13 1135475 512
D:\BACKUP\DEMO_91.BAK 13 1135623 512
D:\BACKUP\DEMO_92.BAK 14 1135517 300544
D:\BACKUP\DEMO_92.BAK 7 1135462 512
D:\BACKUP\DEMO_36.ARC 6 1248782 1774592
D:\BACKUP\DEMO_36.ARC 11 1266401 855040
D:\BACKUP\DEMO_36.ARC 10 1265810 225792
D:\BACKUP\DEMO_49.BAK 14 1135517 300544
D:\BACKUP\DEMO_49.BAK 8 1135464 512
D:\BACKUP\DEMO_52.BAK 17 1156062 630272
D:\BACKUP\DEMO_52.BAK 13 1135475 512
D:\BACKUP\DEMO_53.BAK 1 1135244 72704
...............................................................................................
(4) V$BACKUP_SET 和 V$BACKUP_PIECE。
SQL> select b.handle,a.backup_type, a.pieces, a.elapsed_seconds
2 from v$backup_set a, v$backup_piece b
3* where a.set_stamp=b.set_stamp and b.status='A';
HANDLE B PIECES ELAPSED_SECONDS
------------------------------------------------------ - ---------- ---------------
.................................................................................
D:\BACKUP\DEMO_64.DBF D 1 3
D:\BACKUP\DEMO_USERS_65.DBF D 1 21
D:\BACKUP\DEMO_USERS_4_66.DBF D 1 22
D:\BACKUP\DEMO_67.CTL D 1 2
D:\BACKUP\DEMO_USERS_4_68.DBF D 1 21
D:\BACKUP\DEMO_USERS_4_70.DBF D 1 20
D:\BACKUP\DEMO_72.DBF D 1 20
D:\BACKUP\DEMO_73.DBF D 1 2
D:\BACKUP\DEMO_74.BAK D 1 1
D:\BACKUP\DEMO_74.PAR D 1 1
D:\BACKUP\DEMO_75.ARC L 1 2
D:\BACKUP\DEMO_76.ARC L 1 2
D:\BACKUP\DEMO_77.ARC L 1 2
D:\BACKUP\DEMO_78.ARC L 1 2
D:\BACKUP\DEMO_79.ARC L 1 2
D:\BACKUP\DEMO_80.ARC L 1 2
D:\BACKUP\DEMO_81.DBF D 1 36
D:\BACKUP\DEMO_82.DBF D 1 36
.............................................................................................
backup_type 用于标识备份片类型:D--数据文件完全备份;I--数据文件增量备份;L--归档日志备份。elapsed_seconds 用于标识备份的总开销时间。
(5) V$BACKUP_CORRUPTION。
SQL> desc v$backup_corruption
名称
-----------------------------------------------
RECID
STAMP
SET_STAMP
SET_COUNT
PIECE#
FILE# 损坏坏所在的数据文件编号
BLOCK# 损坏坏的起始块编号
BLOCKS 损坏块的连续块个数
CORRUPTION_CHANGE#
MARKED_CORRUPT 是否已经被数据库标记为坏块
CORRUPTION_TYPE
SQL> select * from v$backup_corruption;
未选定行
(6) V$COPY_CORRUPTION。
SQL> desc v$copy_corruption
名称
------------------------------------------------------------------------------------------
RECID
STAMP
COPY_RECID
COPY_STAMP
FILE#
BLOCK#
BLOCKS
CORRUPTION_CHANGE#
MARKED_CORRUPT
CORRUPTION_TYPE
SQL> select * from v$copy_corruption;
未选定行