通常,单行命令是不够的。要把几个命令链接起来,必须把它们组合到一个块中。块用RUN作为前缀,并括在{}中。一个打开的完成备份,包括归档日志文件的备份呵呵删除,示例:
RMAN> run {allocate channel d1 type disk; 2> allocate channel d2 type disk; 3> backup as compressed backupset database format '/home/oracle/db_%U.bset'; 4> backup as compressed backupset archivelog all format '/home/oracle/arch_%U.bset' delete all input;} allocated channel: d1 channel d1: SID=35 device type=DISK allocated channel: d2 channel d2: SID=1 device type=DISK Starting backup at 2019-04-08 20:46:57 channel d1: starting compressed full datafile backup set channel d1: specifying datafile(s) in backup set input datafile file number=00001 name=/u01/oradata/prod/system01.dbf input datafile file number=00005 name=/u01/oradata/prod/example01.dbf channel d1: starting piece 1 at 2019-04-08 20:46:58 channel d2: starting compressed full datafile backup set channel d2: specifying datafile(s) in backup set input datafile file number=00002 name=/u01/oradata/prod/sysaux01.dbf input datafile file number=00003 name=/u01/oradata/prod/undotbs01.dbf input datafile file number=00004 name=/u01/oradata/prod/users01.dbf channel d2: starting piece 1 at 2019-04-08 20:46:58 . . . . .
在run块中,前两个命令ALLOCATE CHANNEL,分配一个通道,会启动一个服务器进程。每个通道都需要名称(只是一个随意的字符串,本例是d1和d2),必须指定是使用磁带还是磁盘作为备份目标。启动多个通道,会启用备份的并行性。RMAN会把工作负载分布到通道上。第三行指定完整的数据库备份,使用FORMAT指定输出块的名称。第四行指定所有的归档日志文件都应备份和删除。FORMAT规范包含%U。这是一个变量,会扩展为一个名称,该名称包含8字符的任意字符串,以确保块运行多次时,总是生成不同的块名。备份的类型是COMPRESSED BACKUPSET。压缩通常不仅会减少备份块的大小,还会提高操作的速度。
默认的备份类型是备份集。另一个类型是映像副本。要撞见副本,可以使用如下命令: