暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

使用RMAN对控制文件进行备份

原创 eygle 2019-11-21
1917

由于控制文件对于Nocatalog模式的备份十分重要,所以我们应该确保控制文件的安全。以下是几种控制文件安全保护机制。

  • 首先在数据库配置中,应该在不同磁盘组上存储多份控制文件,以保证在线控制文件的安全。
  • 应该启用控制文件的自动备份功能,以便数据库可以在必要时自动备份控制文件。
  • 在进行全备份或其他备份时,指定include current controlfile子句,在备份时同时备份控制文件。
  • 在RMAN进行控制文件同步或备份时,Oracle会自动执行控制文件的快照,这个快照在某些特殊情况下,可以用于辅助恢复。
    那么除此之外,RMAN还支持以下多种控制文件备份方式。

(1) 使用backup current controlfile对控制文件进行备份

如果启用了自动控制文件备份,那么这个命令还会引发自动备份:

RMAN> backup current controlfile format 'd:\backup\control%s.ctl';

启动 backup 于 02-3月 -07
使用通道 ORA_DISK_1
备份集中包括当前控制文件
段句柄=D:\BACKUP\CONTROL24.CTL 标记=TAG20070302T162146 注释=NONE
完成 backup 于 02-3月 -07

启动 Control File and SPFILE Autobackup 于 02-3月 -07
段 handle=
D:\FLASH_RECOVERY_AREA\EYGLE\AUTOBACKUP\2007_03_02\O1_MF_S_616177311_2YHQNZYC_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 02-3月 -07

(2) 备份控制文件拷贝

从Oracle 10g开始,RMAN支持使用命令对控制文件进行拷贝备份,具体命令如下:

backup as copy current controlfile format ‘/path/control01.ctl’;

执行此命令,如果启用了控制文件自动备份,则同样会触发一次自动备份:

RMAN> backup as copy current controlfile format 'd:\backup\control01.ctl';

启动 backup 于 02-3月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制当前控制文件
输出文件名 = D:\BACKUP\CONTROL01.CTL 标记 = TAG20070302T162651 recid = 2 时间戳 = 616177612
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 02-3月 -07

拷贝的控制文件是当前控制文件的一个原样副本,可以直接用于启动数据库,而RMAN的控制文件备份则需要通过RMAN进行恢复使用。
为了加强控制文件安全,也可以通过以上两种方法定期对控制文件进行独立备份。

(3) 备份数据文件1将包含控制文件。

在Oracle数据库中,如果对datafile 1进行备份,则Oracle会自动在备份中包含当前控制文件和参数文件;如果启用了自动控制文件备份,则备份datafile 1时不再备份控制文件(因为自动备份会执行控制文件备份)。
在启用自动控制文件备份时的备份细节:

RMAN> backup datafile 1;

启动 backup 于 02-3月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\ORADATA\EYGLE\DATAFILE\O1_MF_SYSTEM_2G8OHFX6_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-3月 -07
通道 ORA_DISK_1: 已完成段 1 于 02-3月 -07
段句柄=
D:\FLASH_RECOVERY_AREA\EYGLE\BACKUPSET\2007_03_02\O1_MF_NNNDF_TAG20070302T163702_2YHRKH35_.BKP 标记=TAG20
070302T163702 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:36
完成 backup 于 02-3月 -07

前面提到,SYSTEM表空间对于数据库可以说是生死攸关,所以如果数据库因为某些原因不能及时全面备份,那么也应该考虑定期对SYSTEM表空间进行备份。
如果关闭自动控制文件备份,那么备份数据文件1会自动备份控制文件:

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP OFF;

旧的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
新的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP OFF;
已成功存储新的 RMAN 配置参数

RMAN> backup datafile 1;

启动 backup 于 02-3月 -07
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\ORADATA\EYGLE\DATAFILE\O1_MF_SYSTEM_2G8OHFX6_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 02-3月 -07
通道 ORA_DISK_1: 已完成段 1 于 02-3月 -07
段句柄=
D:\ORADATA\FLASH_RECOVERY_AREA\EYGLE\BACKUPSET\2007_03_02\O1_MF_NNNDF_TAG20070302T163818_2YHRMTH9_.BKP 标记=TAG20
070302T163818 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 02-3月 -07
通道 ORA_DISK_1: 已完成段 1 于 02-3月 -07
段句柄=
D:\ORADATA\FLASH_RECOVERY_AREA\EYGLE\BACKUPSET\2007_03_02\O1_MF_NCSNF_TAG20070302T163818_2YHRO003_.BKP 标记=TAG20
070302T163818 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:05
完成 backup 于 02-3月 -07

我们注意到,Oracle已经提供了很多措施用来保障控制文件的安全,如果控制文件的安全能够得到保证,则使用控制文件存储备份信息的Nocatalog模式就可以被放心地使用。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论