不同配置决定不同的复制的流程。 
 
 一、远程站点相同路径结构的复制(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 命令设置数据文件新路径; 
 










