使用RESTORE和RECOVER命令在新主机上还原数据库。当你想执行灾难恢复过程测试或永久地移动数据库到新的主机时,在新主机上还原数据库是很有用的。
如果在本节中使用这个过程,那么还原的数据库的DBID与原始数据库的DBID是相同的。不要在与源数据库相同的恢复目录中注册以这种方式创建的测试数据库。因为两个数据库的DBID是相同的,测试数据库的元数据会干扰RMAN还原和恢复源数据库的能力。
如果你的目标是创建目标数据库的一个副本在一台新主机上持续的使用,那么使用RMAN的DUPLICATE命令而不是这个过程。DUPLICATE命令分配一个新的DBID给创建的数据库,让它可以在与源数据库相同的恢复目录中注册。
1.准备在新主机上还原数据库
必须执行某些步骤来准备还原数据库到一台新主机上。
步骤包括以下:
1)记录源数据库的DBID。
2)让源数据库初始化参数文件在新主机上可访问。使用操作系统工具从旧主机复制文件到新主机。
3)如果只是执行还原操作测试,那么确保RMAN没有连接到恢复目录。否则,RMAN记录关于还原的数据文件的元数据在恢复目录中。这个元数据会干扰将来尝试还原和恢复主数据库。
如果由于控制文件不够大来包含你必须还原的所有备份的RMAN仓库数据,必须使用恢复目录,那么使用Oracle Data Pump来导出目录和导入它到不同的数据库模式中。然后,使用复制的恢复目录进行还原测试。否则,恢复目录将还原的数据库视为当前的目标数据库。
4)确保用来还原操作的备份在还原主机上可访问。例如,如果备份是使用介质管理器制作,那么验证磁带设备连接到了新主机。如果正在使用磁盘副本,那么使用以下部分的步骤。
5)如果执行生产数据库的测试还原,那么在还原环境中在还原数据库之前执行以下其中一个操作:
a.如果测试数据库使用与生产数据库使用的恢复区域物理上不同的快速恢复区域,那么设置测试数据库实例的DB_RECOVERY_FILE_DEST为新的位置。
b.如果测试数据库使用与生产数据库使用的恢复区域物理上相同的快速恢复区域,那么设置测试数据库实例的DB_UNIQUE_NAME为与生产数据库不同的名称。
如果你不执行上面其中一个操作,那么RMAN假设你正在还原生产数据库和从快速恢复区域中删除闪回日志,因为它们被视为不可用。
2.还原磁盘备份到新主机上
使用磁盘上的数据文件副本或备份集将数据库移动到新主机,必须手动传输文件到新主机。这个过程假设RMAN在使用恢复目录。
还原备份到新主机:
1)启动RMAN,连接到目标数据库和恢复目录。
2)运行LIST命令查看数据文件的备份和控制文件的自动备份。
例如,查看数据文件副本:
LIST COPY;
例如,查看控制文件备份:
LIST BACKUP OF CONTROLFILE;
自动备份的备份片名称必须使用%F替换变量,这样自动备份片名称包含字符串c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII代表DBID,YYYYMMDD是备份生成的日期时间戳,QQ是16进制序列号。
3)使用操作系统工具复制备份到新主机。
例如,复制所有数据文件副本到新主机的?/oradata/trgt目录:
% cp -r /disk1/*dbf /net/new_host/oracle/oradata/trgt
复制自动备份备份片到新主机的/tmp目录:
% cp -r /disk1/auto_bkp_loc/c-1618370911-20130208-00 /net/new_host/tmp

本文详细介绍了如何使用RESTORE和RECOVER命令在新主机上进行Oracle数据库的灾难恢复和测试还原。首先,需要准备新主机,包括记录DBID、复制初始化参数文件、确保备份的可访问性等。然后,通过RMAN列出备份并手动复制到新主机。接着,启动RMAN,还原SPFILE和控制文件,并编辑初始化参数文件。在测试环境中,要避免连接恢复目录以防止干扰。最后,编写RMAN脚本执行还原和恢复操作,使用RESETLOGS打开数据库,并可选地删除测试数据库。整个过程强调了不同步骤间的依赖关系和注意事项,确保数据库在新主机上的完整性和一致性。
最低0.47元/天 解锁文章
1069

被折叠的 条评论
为什么被折叠?



