Menu Close

如何在RMAN 备份集中查找归档日志并将其恢复到磁盘上

1. 简介

很多时候,当我们尝试执行恢复或克隆过程时,我们需要归档来执行介质恢复。如果这些归档已被RMAN进行了备份,我们可能需要将它们还原并使用它们进行恢复。

  • 备份片(Backup Piece)
    表示一个rman备份产生的备份文件,每个备份片对应一个OS文件,使用物理命令可以实实在在的看到。

  • 备份集(Backup Set)
    它是RMAN在备份时产生的备份片的集合,一个备份集中可以包含一个或多个备份片,它是一个逻辑概念。
    可以通过filesperset参数来设置备份集中可包含的备份片的个数,也可以通过maxpiecesize参数来制定每个备份片的大小。
    备份集只包含数据文件已用的数据块的信息,而不会包含空数据块,因此备份集可以支持压缩。
    备份集支持增量备份,可以备份到磁盘或磁带。
    要从备份集中提取文件,必须使用还原操作。

2. 找到归档日志所在的备份集

oracle $] rman target /
RMAN> list backup of archivelog sequence between 4201 and 4202 thread 1;

file

3. 将归档日志从备份集还原到磁盘

oracle $] rman target /
RMAN> restore archivelog from logseq=4201 until logseq=4202;

上述命令会将归档日志恢复到数据库默认指定归档日志的保存位置。
如果我们要恢复到单独的位置,请使用下面的命令:

RMAN>  run {
 set archivelog destination to '/home/oracle/20230423';
 restore archivelog from sequence 4201 until sequence 4202 thread 1;
 }

file

注:归档日志文件的序号应根据您的环境序列号进行更改。