您现在的位置是:首页 >

环境的高级表达 RMAN高级应用之不同环境下的复制流程

火烧 2022-12-27 02:59:25 1040
RMAN高级应用之不同环境下的复制流程   不同配置决定不同的复制的流程  一 远程站点相同路径结构的复制  Du licati g a Data a e o a Remote Ho t with t

RMAN高级应用之不同环境下的复制流程  

  不同配置决定不同的复制的流程

  一 远程站点相同路径结构的复制

  Duplicating a Database on a Remote Host with the Same Directory Structure

  对于这种选择而言 操作实在太过简单 你甚至不需要修改初始化参数文件或者重命名复制的数据文件(可惜 做测试的话这却不能做为我们的首选 一般测试都只有一台机器 难道让我再虚拟个操作系统?)如果是多台机器的话 这种操作非常省事 步骤也很少

环境的高级表达 RMAN高级应用之不同环境下的复制流程

   创建辅助实例

   Rman连接并运行duplicate命令 结束

  确实太简单的是吧 好吧那我来给你找点麻烦 注意第 步 其执行是有几个先决条件的 或者说伟大的oracle大人又一次下放了它高贵的权力 而给你来做出选择 如下

  如果没有配置自动分配通道的话 表忘记至少手工指定 条辅助通道

  不要忘记指定NOFILENAMECHECK参数

  就像前面说的 如果辅助实例并非服务器端初始化参数文件启动 表忘记指定PFILE参数 更加表忘记该文件必须在运行RMAN的客户端上

  例如 假设你配置了自动分配通道 并且决定使用pfile启动辅助实例 那么在RMAN连接到目标库和辅助实例之后 只需要执行下列

  

  DUPLICATE TARGET DATABASE TO dupdb   PFILE = F:oracleproduct adminjssduppfileinit ora   NOFILENAMECHECK;

  最后 RMAN会自动以RESETLOGS方式打开数据库并重建REDO LOGS 竣工

  二 远程站点不同路径结构的复制

  Duplicating a Database on a Remote Host with a Different Directory Structure

  如果副本数据库创建在远程站点 并且目录结构也不一致 那么你必须修改几个初始化参数值以便副本数据库的数据文件能够在新的目录结构存取 这种类型的复制又可以细分成几个小类

   在初始化参数中重命名复制文件和日志文件 复制步骤如下

  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

  这种方式主要的工作都在创建辅助实例上

   在Duplicate命令中重命名数据 日志文件 复制步骤如下

  a 创建辅助实例

  b RMAN连接运行Duplicate命令 注意此处需要加些参数如下

  ? 通道 还是通道!如果没有自动分配通道 则至少要手工指定一条辅助通道

  ? 通过LOGFILE子句指定副本数据库redo logs文件地址大小等

  ? 通过DB_FILE_NAME_CONVERT转换原数据文件路径到新路径

  ? pfile 又见pfile 如果使用了pfile的话 表忘记指定pfile参数

  例如 我们使用自动分配通道 但辅助实例未使用服务器端初始化参数文件 手工指定日志文件数据文件路径 示例如下

  

  DUPLICATE TARGET DATABASE TO dupdb   PFILE = F:oracleproduct adminjssduppfileinit ora   DB_FILE_NAME_CONVERT=(F:oracleoradatajssweb F:oracleoradatajssdup)   LOGFILE    F:oracleoradatajssdupredo log SIZE M    F:oracleoradatajssdupredo log SIZE M    F:oracleoradatajssdupredo log SIZE M;

   使用SET NEWNAME命令重命名数据文件 复制步骤如下

  a 创建辅助实例

  b RMAN连接并按下列步骤执行

  ? 配置通道

  ? 使用SET NEWNAME命令设置数据文件新路径

  ? Duplicate命令设置logfile 如辅助实例采用pfile要加载pfile

  本节重点是SET NEWNAME命令格式 见例

  

  RUN   {   # set new filenames for the datafiles   SET NEWNAME FOR DATAFILE TO F:oracleoradatajssdupsystem dbf ;   SET NEWNAME FOR DATAFILE TO F:oracleoradatajssdupundotbs dbf ;      # issue the duplicate mand   DUPLICATE TARGET DATABASE TO dupdb   # create at least o online redo log groups      }

   使用CONFIGURE AUXNAME命令重命名数据文件 复制步骤如下

  略与上同 不详述 唯一不同处即是CONFIGURE AUXNAME命令格式 如例 而且configure命令是在run块外执行的

  # configure the new desired filenames

  CONFIGURE AUXNAME FOR DATAFILE TO F oracleoradatajssdupsystem dbf

  CONFIGURE AUXNAME FOR DATAFILE TO F oracleoradatajssdupundotbs dbf

  # …… add more CONFIGURE AUXNAME mands as needed

  不过需要注意的是 duplicate执行完之后 推荐清除CONFIGURE AUXNAME 这样就不会对未来的类似操作造成影响

  # clear specified auxiliary names for the datafiles

  CONFIGURE AUXNAME FOR DATAFILE CLEAR

  CONFIGURE AUXNAME FOR DATAFILE CLEAR

  三 本地创建

  Creating a Duplicate Database on the Local Host

  与第二种 远程站点不同路径结构的复制 有 %以上的相似性 唯一不同的是 本地创建的话需要注意DB_NAME与目标数据库不可相同 这点主要体现在辅助实例中初始化参数的配置里 其它的操作步骤可以完全复制第二种中介绍的各种方法 所以也就不详述了 )

  除此之外呢 还有比如向ASM存储系统复制 或向OMF存储复制等等 复制流程与上基本大同小异 不过就是初始化参数文件中设置不同的参数 或者将参数设置成不同的值罢了

lishixinzhi/Article/program/Oracle/201311/18270  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码