不同配置决定不同的复制的流程。
一、远程站点相同路径结构的复制(Duplicating a Database on a Remote Host with the Same Directory Structure)
对于这种选择而言,操作实在太过简单,你甚至不需要修改初始化参数文件或者重命名复制的数据文件(可
惜,做测试的话这却不能做为我们的首选,一般测试都只有一台机器,难道让我再虚拟个操作系统?)如果是
多台机器的话,这种操作非常省事,步骤也很少:
1、创建辅助实例。
2、Rman 连接并运行duplicate 命令,结束。
确实太简单的是吧,好吧那我来给你找点麻烦,注意第2 步,其执行是有几个先决条件的。或者说伟大的
oracle 大人又一次下放了它高贵的权力,而给你来做出选择,如下:
如果没有配置自动分配通道的话,表忘记至少手工指定1 条辅助通道。
表忘记指定NOFILENAMECHECK 参。
就像前面说的,如果辅助实例并非服务器端初始化参数文件启动,表忘记指定PFILE 参数。更加
表忘记该文件必须在运行RMAN 的客户端上。
例如,假设你配置了自动分配通道,并且决定使用pfile 启动辅助实例,那么在RMAN 连接到目标库和辅
助实例之后,只需要执行下列:
DUPLICATE TARGET DATABASE TO dupdb
PFILE = F:/oracle/product/10.2.0/admin/inthdmp/pfile/init.ora
NOFILENAMECHECK;
最后,RMAN 会自动以RESETLOGS 方式打开数据库并重建REDO LOGS。竣工。
二、远程站点不同路径结构的复制(Duplicating a Database on a Remote Host with a Different Directory Structure)
如果副本数据库创建在远程站点,并且目录结构也不一致,那么你必须修改几个初始化参数值以便副本数
据库的数据文件能够在新的目录结构存取。这种类型的复制又可以细分成几个小类:
1
、在初始化参数中重命名复制文件和日志文件,复制步骤如下:
a) 首先还是创建辅助实例。注意初始化参数的配置,按下列的方式进行一些调整。
浏览初始化参数中以_DEST 结尾的参数以及包含路径的参数,确认这些路径对即将创建的副
本数据库有效。
设置DB_FILE_NAME_CONVERT 参数,让其自动转换数据文件路径。
设置LOG_FILE_NAME_CONVERT 参数,让其自动转换日志文件路径。
所谓道有千条我取其一,除了上述方式之外呢,还有很多其它方法来指定文件存放路径,比如
CONFIGURE AUXNAME 或SET NEWNAME 命令等等。不过此处是在写初始化参数中重命名类型的
复制,就不多占篇章了,后面有章节专门讲解。感兴趣的朋友不妨keep 你的好奇心,往下看:)
b) RMAN 连接并执行duplicate 命令,结束。
在这里同样需要注意辅助通道的分配和pfile 的加载(如果使用pfile 的话)。
例如,我们使用自动分配通道,并且辅助实例使用服务器端初始化参数文件,这下dulicate 命令更简单
了:
DUPLICATE TARGET DATABASE TO dupdb;
这种方式主要的工作都在创建辅助实例上。
2
、在Duplicate
命令中重命名数据、日志文件,复制步骤如下:
a. 创建辅助实例。
b. RMAN 连接运行Duplicate 命令,注意此处需要加些参数如下:
通道,还是通道!如果没有自动分配通道,则至少要手工指定一条辅助通道。
通过LOGFILE 子句指定副本数据库redo logs 文件地址大小等。
通过DB_FILE_NAME_CONVERT 转换原数据文件路径到新路径。
pfile,又见pfile。如果使用了pfile 的话,表忘记指定pfile 参数。
例如,我们使用自动分配通道,但辅助实例未使用服务器端初始化参数文件,手工指定日志文件数据
文件路径,示例如下:
DUPLICATE TARGET DATABASE TO dupdb
PFILE = F:/oracle/product/10.2.0/admin/inthdmp/pfile/init.ora
DB_FILE_NAME_CONVERT=(F:/oracle/oradata/inthdmp2/,F:/oracle/oradata/inthdmp/)
LOGFILE
'F:/oracle/oradata/inthdmp/redo01.log' SIZE 20M,
'F:/oracle/oradata/inthdmp/redo02.log' SIZE 20M,
'F:/oracle/oradata/inthdmp/redo03.log' SIZE 20M;
3
、使用SET
NEWNAME
命令重命名数据文件,复制步骤如下:
a. 创建辅助实例。
b. RMAN 连接并按下列步骤执行:
配置通道;
使用SET NEWNAME 命令设置数据文件新路径;