发出Oracle Recovery Manager 命令(续)
PIPE 命令行参数是通过管道接口进行调用。RMAN 使用两个专用管道:一个用于接收命令,另一个用于发送输出。管道的名称源自PIPE参数的值。
例如:
% rman PIPE abc TARGET SYS/pwd@trgt
RMAN 在目标数据库中打开这两个管道:一个是ORA$RMAN_ABC_IN,RMAN 使用它接收用户命令;另一个是ORA$RMAN_ABC_OUT,RMAN 使用它将所有输出发送回RMAN。输入和输出管道中的所有消息都是VARCHAR2类型。
使用管道接口时,RMAN 不通过使用操作系统Shell 读取或写入任何数据。您可使用管道与相同实例中的其它会话或某个等待应用程序(如UNIX 程序)进行通信。通过使用此接口,可以编写RMAN 的可移植、可编程接口。
有关RMAN 使用管道的详细信息,请参阅《Oracle 数据库备份和恢复高级用户指南》。
有关DBMS_PIPE程序包以及在Oracle 数据库内创建管道的详细信息,请参阅《PL/SQL 程序包和类型参考》。
控制
RMAN 命令:概览
对目标数据库运行的典型RMAN 命令包括:
?BACKUP用于备份数据库、表空间、数据文件(当前或副本)、控制文件(当前或副本)、SPFILE、归档日志或者目标数据库或备用数据库的备份
集。对备份集进行备份是一种将备份从磁盘移动到磁带的简便方法。
?DUPLICATE用于从目标数据库的备份(备份集或映像副本)处创建克隆数据库或备用数据库
?FLASHBACK用于执行闪回数据库操作,将数据库返回至某一目标时间(或之前),该时间点由时间、SCN 或日志序列号指定
?RECOVER用于从备份或映像副本恢复文件,RESTORE用于从备份或映像副本还原文件
RMAN 报告命令包括:
?LIST用于查询恢复目录或控制文件,并生成记录了备份、副本、归档重做日志以及数据库原型的列表
?REPORT用于执行对恢复目录或控制文件的详细分析
RMAN 命令:概览(续)
RMAN 提供了以下用于目录维护的命令集:
?CROSSCHECK检查磁盘或磁带上备份或副本的状态。
?DELETE列出指定的备份对象并提示您确认是否删除它们。
?CHANGE变更资料档案库中备份对象的状态。
?LIST显示运行CROSSCHECK/DELETE EXPIRED命令时将处理的内容。
备份片段
并行备份集(续)
备份数据文件时,可以通过其路径名或其文件编号指定要备份的文件。例如,以下两个命令执行相同的操作:
BACKUP DEVICE TYPE sbt DATAFILE
'/home/oracle/system01.dbf';
BACKUP DEVICE TYPE sbt DATAFILE 1;
创建多个备份集并分配多个通道时,RMAN 自动并行化其操作,然后并行写入多个备份集。分配的服务器会话共同承担备份指定数据文件、控制文件和归档重做日志的工作。不能在多个通道中对单个备份集进行分区。
通过以下方法实现并行备份集:
?将PARALLELISM配置为大于1 的值或分配多个通道
?指定要备份的许多文件
示例
?有九个需要备份的文件(数据文件1 到9)。
?将多个数据文件分配给一个备份集,以便使每个集所包含要备份的数据块数目大致相同(为提高效率)。
-数据文件1、4 和5 分配给备份集1
-数据文件2、3 和9 分配给备份集2
-数据文件6、7 和8 分配给备份集3
注:还可以使用FILESPERSET参数限制备份集中所包含数据文件的数目。
压缩备份
压缩备份可减少存储备份集所需的空间。
使用以下命令创建数据库的压缩备份:
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;
压缩备份集功能不能用于Oracle Database 10g之前的数据库。数据库初始化参数COMPATIBILITY必须至少设置为10.0.0.0。压缩功能仅适用于备份集,不适用于
映像副本。
可以通过CONFIGURE DEVICE TYPE命令配置RMAN,使其自动创建压缩备份集:
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2
2> BACKUP TYPE TO COMPRESSED BACKUPSET;
默认情况下,压缩功能被禁用。
映像副本(续)
幻灯片中的示例将创建两个映像副本:
?users01_db01.dbf数据文件的副本,重命名为users01.dbf,存储在BACKUP目录中
?序号为1060 的归档日志的副本
该示例假设您使用自动通道分配。如果手动分配通道,则必须在RUN语句内包含COPY命令,如下所示:
RMAN> RUN {
2> ALLOCATE CHANNEL c1 type disk;
3> COPY
4> DATAFILE '/ORADATA/users_01_db01.dbf' to
5> '/BACKUP/users01.dbf',
6> ARCHIVELOG 'arch_1060.arc' to
7> 'arch_1060.bak';
8> }
BACKUP命令选项(续)
通过对备份集进行双重备份,每个备份片段最多可以创建四个相同的副本。可使用以下任一命令生成双重备份集:
?BACKUP COPIES
?SET BACKUP COPIES
?CONFIGURE...BACKUP COPIES
RMAN 不是生成多个备份集,而是在集中生成每个备份片段的相同副本。不能将此选项用于BACKUP AS COPY命令来创建多个映像副本。
如果指定REUSE,则允许RMAN 覆盖与BACKUP当前创建的文件具有相同文件名的现有备份集或映像副本。
通过将存储设备与磁盘上数据文件之间的数据传输控制授予介质管理软件,PROXY复制功能从而对指定文件执行备份操作。介质管理器(不是RMAN)决定如何以及何时移动数据。使用PROXY选项运行BACKUP时,RMAN 将执行以下步骤:
1. 搜索具有代理功能的指定设备类型的通道。如果找不到此类通道,则
RMAN 将发出警告消息并尝试进行指定文件的常规(即非代理)备份。
2. 如果RMAN 找到了具有代理功能的通道,则它将调用介质管理器来检查其
能否代理复制文件。如果介质管理器不能代理复制,则RMAN 将使用常规备份集来备份文件。
如果不希望RMAN 在代理复制失败时尝试常规复制,请使用ONLY选项。
因为映像副本仅写入磁盘,所以不能将PROXY选项用于BACKUP AS COPY命令。
注:如果指定PROXY,则%p变量必须作为%U内的显式变量或隐式变量包含在FORMAT字符串中。