16.5 控制文件的自动备份和还原(1)
对于完整恢复来说,应总是可以使用当前控制文件。***不可能使用的情形是所有副本丢失--通常因为它没有被多路复用或一个副本损坏。数据库严重依赖于控制文件:如果控制文件受损,它将崩溃。RMAN的情况更糟:存储所有副本详细信息的RMAN存储库存储在控制文件中。因此,如果控制文件受损,数据库将崩溃--但RMAN不能还原它,因为它所需的信息不可用。有两种方法可以解决这个递归式问题:使用RMAN目录数据库(第17章将作介绍)或启用AUTOBACKUP功能。
由于控制文件不仅对运行的数据库很重要,对于RMAN同样也很重要,所以可启用自动备份。在RMAN提示符下:configure controlfile autobackup on;
执行此命令后,每个RMAN操作最终将会把控制文件和spfile自动备份到一个在已知位置存储的备份集中。如果有必要,而数据库处于非加载模式,可使用下列命令:restore controlfile from autobackup;
这个命令指示RMAN访问已知位置的已知文件名,从最近的自动备份中提取控制文件。还原到spfile中指定的位置。然后使用还原的控制文件加载数据库,RMAN将可以定位所需的备份来还原数据库的其余部分。知名位置将在闪回恢复区中(如果已经启用的话)。知名文件名基于DBID;DBID (10位数字)应是最基本文档的一部分,在用RMAN连接数据库时应显示。它还在V$DATABASE视图中以DBID列显示。
如果spfile也丢失了,用哑初始化文件启动实例:只有一个参数(DB_NAME)的pfile。然后用RMAN连接,发出下列命令,替换成自己的DBID:
set dbid 1234567890;
restore spfile from autobackup;
spfile的还原将在默认位置执行(对于Unix来说是$ORACLE_HOME/dbs,而对于Windows来说是%ORACLE_HOME%\database)。然后以非加载模式重启实例,这将使用还原的spfile并还原控制文件。加载控制文件,然后RMAN将访问其存储库,并可定位和还原数据文件备份。
考点:
restore controlfile from autobackup命令和restore spfile from autobackup命令可以在非加载模式下执行。所有其他RMAN命令只可以在加载或打开模式下执行。
练习16-4
启用控制文件自动备份
在这个练习中,启用控制文件自动备份功能并观察其运行情况。
(1) 用RMAN连接数据库:
rman target /
(2) 确认自动备份未启用:
show controlfile autobackup;
结果将显示自动备份未启用
(3) 启用自动备份并确认:configure autobackup on;
show all;
注意,自动备份的默认格式为%F。
(4) 执行备份操作:backup datafile 1;
观察请求的备份后面的内容,会发现为控制文件和spfile创建了另一个备份集。
(5) 确定控制文件和spfile的自动备份的位置:list backup of controlfile;
list backup of spfile;
在这两种情况下,列出的最近的备份集将是闪回恢复区中的文件。通过配置一个不同于第(3)步中所示的%F的格式,可以重写它,但如果这样做了,自动备份的自动位置将不再起作用。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0