RMAN复制目标数据库的理论知识

本文介绍了RMAN复制目标数据库的理论知识,包括复制原因、体系结构、复制过程中的各个阶段,如数据文件还原、控制文件创建、归档日志恢复、DBID修改等。在复制过程中,必须注意配置辅助通道、数据文件位置转换、控制文件创建以及日志文件的重建。文章还讨论了复制到相同服务器、不同服务器、远程服务器的细节和注意事项。
摘要由CSDN通过智能技术生成

原 RMAN 复制目标数据库的理论知识https://blog.csdn.net/tianlesoftware/article/details/5746812版权声明: https://blog.csdn.net/tianlesoftware/article/details/5746812
一. RMAN 复制的基础
1.1 使用RMAN 复制的原因
RMAN 复制是必须的。 我们可以只将控制文件复制到新位置,然后再运行还原与恢复操作。 但是在使用了恢复目录的情况下,如果不使用RMAN复制来复制数据库,就存在许多问题。 由于RMAN 基于数据库的DBID 在恢复目录中注册数据库,因此即使存在同名的数据库(inint.ora 中的DB_NAME参数),数据库ID也能唯一地标识数据库。如果不使用duplicate命令,就会存在具有相同的DBID的两个数据库。此时,尝试在相同的目录中注册复制的数据库,就会报错:
Rman-20002: target database already registered in recovery catalog;
如果忽略,并继续执行数据库的备份操作,会收到另一个错误:
Rman-20011: target database incarnation is not current in recovery catalog
产生这种错误消息的原因是RMAN 认为用户复制的只是产品系统的还原版本,所以该复制当作产品服务器的当前对应物,这样RMAN就完全不知道真正的产品服务器是什么。 虽然我们可以将对应物重置回与产品服务器匹配的一个对应物,但是实际上已经破坏了恢复目录,所以应当取消数据库的注册,然后在恢复目录中重新注册这个数据库。
如果没有使用恢复目录,非完全拷贝的复制也会造成严重的损害。 例如,在与主数据库相同的系统中复制数据库,然后在磁带上备份这两个数据库,由于没有使用恢复目录,所以会打开这两个实例的控制文件自动备份。 某天,突然丢失了一个磁盘阵列信息,整个系统出现故障,同时还丢失了所有数据库和控制文件。 此时,会认为由于自动备份了控制文件,所以只需要使用其中一个备份就能够恢复系统。 
但实际情况并非如此,restore controlfile from autobackup 命令使用DBID 跟踪控制文件的自动备份,由于两个数据库都备份在同一个磁带上,所以该命令可能从错误的数据库备份中还原控制文件,用户得到的就是含有错误信息的错误文件。
1.2  复制的体系结构
这小节介绍复制的工作原理。 使用时,RMAN 连接到目标数据库和恢复目录(如果有),用户通过这个连接才能够访问目标数据库控制文件中的备份位置的详细信息。 连接目标数据库后,还必须连接辅助实例。 辅助实例驻留复制的数据库。 启动复制操作前,必须为辅助实例构建一个init.ora文件,同时以nomount模式启动辅助实例,这样就可以初始化内存段,并且RMAN 可以生成到这个辅助实例的sysdba连接。由于辅助实例仍然不包含控制文件(复制操作会负责创建),因此我们不能加载这个辅助实例。
生成连接后,就可以使用duplicate 命令,复制实例:
Duplicate target database to SID;
复制进程分为一下这些不同的阶段:
(1)RMAN 确定备份的状态和位置
(2)RMAN 在辅助实例上分配辅助通道
(3)RMAN 在辅助实例中还原数据文件
(4)RMAN 构建新的辅助控制文件
(5)如果有必要,RMAN 从备份中还原归档日志,同时执行任何必要的恢复操作。
(6)RMAN 重置辅助实例的DBID,并且使用OPEN RESETLOGS 命令打开辅助数据库。
首先,RMAN 设置运行时(runtime)参数,如duplicate命令中的until time 子句。 接着RMAN 基于这些参数检查目标数据库的控制文件和恢复目录,确定适当的备份。 随后,RMAN创建访问备份的远程过程调用,但是不会在目标数据库上执行代码,RMAN 会在辅助实例上创建一个称为辅助通道(auxiliary channel)的通道进程。 RMAN 向这个通道传递对DBMS_BACKUP_RESTORE数据包的调用。紧接着,辅助实例访问备份和还原所有必须的数据文件。
1.2.1 辅助通道配置
为了执行复制操作,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值