zoukankan      html  css  js  c++  java
  • 17.3.2 在不同主机上建立RMAN 管理的复制数据库

    (1) 建立存放复制数据库各种相应的 OS 目录。

    (2) 建立例程服务。

    (3) 建立参数文件。

    1. 连接到主数据库建立文本参数文件。
    2. 编辑文本参数文件。
    3. 建立服务器参数文件。

    (4) 将主数据库的备份集文件、参数文件复制到复制数据库所在的主机。

    (5) 启动例程。

    (6) 建立复制数据库(因为复制数据库在远程主机上,所以必须在远程主机上配置临听程序,在主数据库机器上配置网络服务名)。

     

    复制数据库所在的主机:

    C:\>mkdir c:\demo

    C:\>mkdir c:\demo\bdump

    C:\>mkdir c:\demo\udump

    C:\>mkdir c:\demo\archive

    C:\>mkdir c:\backup

    C:\>oradim -new -sid demo -syspwd oracle
    实例已创建。

     

    主数据库所在的主机:

    C:\>sqlplus sys/orcl@demo as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 2月 4 15:32:38 2009

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    连接到:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options

    SQL> create pfile='%oracle_home%\database\inittemp.ora' from spfile;

    文件已创建。

    修改:

    background_dump_dest='C:\demo\bdump'
    user_dump_dest='C:\demo\udump'
    control_files='C:\demo\control01.ctl'
    log_archive_dest_1='location=C:\demo\archive'

    SQL> create spfile='%oracle_home%\database\spfiletemp.ora'
      2  from pfile='%oracle_home%\database\inittemp.ora';

    文件已创建。

    SQL> exit
    从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options 断开

    C:\>rman target sys/orcl@demo nocatalog

    恢复管理器: Release 10.2.0.1.0 - Production on 星期三 2月 4 15:38:13 2009

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    连接到目标数据库: DEMO (DBID=3411805505)
    使用目标数据库控制文件替代恢复目录

    RMAN> backup database format='c:\backup\%d_%s.bak'
    2> include current controlfile
    3> plus archivelog format='c:\backup\%d_%s.bak';

    启动 backup 于 04-2月 -09
    当前日志已存档
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=155 devtype=DISK
    通道 ORA_DISK_1: 正在启动存档日志备份集
    通道 ORA_DISK_1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =26 记录 ID=65 时间戳=674825136
    输入存档日志线程 =1 序列 =27 记录 ID=67 时间戳=674825141
    输入存档日志线程 =1 序列 =28 记录 ID=69 时间戳=674907531
    输入存档日志线程 =1 序列 =29 记录 ID=71 时间戳=675344283
    输入存档日志线程 =1 序列 =30 记录 ID=73 时间戳=675444289
    输入存档日志线程 =1 序列 =31 记录 ID=75 时间戳=675682631
    输入存档日志线程 =1 序列 =32 记录 ID=77 时间戳=675770439
    输入存档日志线程 =1 序列 =33 记录 ID=79 时间戳=676132883
    输入存档日志线程 =1 序列 =34 记录 ID=81 时间戳=676213288
    输入存档日志线程 =1 序列 =35 记录 ID=83 时间戳=676213399
    输入存档日志线程 =1 序列 =36 记录 ID=85 时间戳=677673237
    输入存档日志线程 =1 序列 =37 记录 ID=87 时间戳=677675018
    输入存档日志线程 =1 序列 =38 记录 ID=89 时间戳=677688015
    输入存档日志线程 =1 序列 =39 记录 ID=91 时间戳=677756429
    输入存档日志线程 =1 序列 =40 记录 ID=93 时间戳=677756696
    输入存档日志线程 =1 序列 =41 记录 ID=95 时间戳=677768743
    输入存档日志线程 =1 序列 =42 记录 ID=97 时间戳=677768881
    输入存档日志线程 =1 序列 =43 记录 ID=99 时间戳=677842304
    输入存档日志线程 =1 序列 =44 记录 ID=101 时间戳=677842404
    输入存档日志线程 =1 序列 =45 记录 ID=104 时间戳=677842510
    输入存档日志线程 =1 序列 =46 记录 ID=105 时间戳=677842936
    输入存档日志线程 =1 序列 =47 记录 ID=107 时间戳=677843090
    输入存档日志线程 =1 序列 =48 记录 ID=109 时间戳=677843490
    输入存档日志线程 =1 序列 =49 记录 ID=111 时间戳=677843642
    输入存档日志线程 =1 序列 =50 记录 ID=113 时间戳=677843995
    输入存档日志线程 =1 序列 =51 记录 ID=115 时间戳=677844088
    输入存档日志线程 =1 序列 =52 记录 ID=117 时间戳=677844230
    输入存档日志线程 =1 序列 =53 记录 ID=119 时间戳=677847340
    输入存档日志线程 =1 序列 =54 记录 ID=121 时间戳=677849157
    输入存档日志线程 =1 序列 =55 记录 ID=123 时间戳=677856839
    输入存档日志线程 =1 序列 =56 记录 ID=125 时间戳=677856994
    输入存档日志线程 =1 序列 =57 记录 ID=127 时间戳=677936383
    输入存档日志线程 =1 序列 =58 记录 ID=129 时间戳=677943108
    输入存档日志线程 =1 序列 =59 记录 ID=131 时间戳=677944120
    输入存档日志线程 =1 序列 =60 记录 ID=133 时间戳=677947895
    输入存档日志线程 =1 序列 =61 记录 ID=135 时间戳=677948052
    输入存档日志线程 =1 序列 =62 记录 ID=137 时间戳=677948359
    输入存档日志线程 =1 序列 =63 记录 ID=139 时间戳=677948516
    输入存档日志线程 =1 序列 =64 记录 ID=141 时间戳=677950770
    输入存档日志线程 =1 序列 =65 记录 ID=143 时间戳=677950924
    输入存档日志线程 =1 序列 =66 记录 ID=145 时间戳=677954666
    通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
    通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
    段句柄=C:\BACKUP\DEMO_41.BAK 标记=TAG20090204T164427 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:31
    完成 backup 于 04-2月 -09

    启动 backup 于 04-2月 -09
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
    输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
    输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
    输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
    通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
    通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
    段句柄=C:\BACKUP\DEMO_42.BAK 标记=TAG20090204T164503 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:35
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    备份集中包括当前控制文件
    在备份集中包含当前的 SPFILE
    通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
    通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
    段句柄=C:\BACKUP\DEMO_43.BAK 标记=TAG20090204T164503 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
    完成 backup 于 04-2月 -09

    启动 backup 于 04-2月 -09
    当前日志已存档
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 正在启动存档日志备份集
    通道 ORA_DISK_1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =67 记录 ID=148 时间戳=677954803
    通道 ORA_DISK_1: 正在启动段 1 于 04-2月 -09
    通道 ORA_DISK_1: 已完成段 1 于 04-2月 -09
    段句柄=C:\BACKUP\DEMO_44.BAK 标记=TAG20090204T164643 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
    完成 backup 于 04-2月 -09

    RMAN> exit

    恢复管理器完成。

    C:\>copy c:\backup\*.bak \\test\c\backup
    c:\backup\DEMO_41.BAK
    c:\backup\DEMO_42.BAK
    c:\backup\DEMO_43.BAK
    c:\backup\DEMO_44.BAK
    已复制         4 个文件。

    C:\>copy %oracle_home%\database\spfiletemp.ora \\test\d\oracle\product\10.2.0\db_1\database\spfiledemo.ora
    已复制         1 个文件。

     

    复制数据库所在的主机:

    C:\>set oracle_sid=demo

    C:\>sqlplus sys/oracle as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 2月 4 15:54:10 2009

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    已连接到空闲例程。

    SQL> startup nomount
    ORACLE 例程已经启动。

    Total System Global Area  603979776 bytes
    Fixed Size                  1250380 bytes
    Variable Size             260049844 bytes
    Database Buffers          335544320 bytes
    Redo Buffers                7135232 bytes

    复制数据库配置监听,主数据库配置网络服务名dupdb。

     

    主数据库所在的主机:

    C:\>rman target sys/orcl@demo auxiliary sys/oracle@dupdb

    恢复管理器: Release 10.2.0.1.0 - Production on 星期三 2月 4 16:59:08 2009

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    连接到目标数据库: DEMO (DBID=3411805505)
    已连接到辅助数据库: DEMO (未装载)

    RMAN> run {
    2> set newname for datafile 1 to 'c:\demo\system01.dbf';
    3> set newname for datafile 2 to 'c:\demo\undotbs01.dbf';
    4> set newname for datafile 3 to 'c:\demo\sysaux01.dbf';
    5> set newname for datafile 4 to 'c:\demo\users01.dbf';
    6> set newname for tempfile 1 to 'c:\demo\temp01.dbf';
    7> duplicate target database to demo logfile
    8> 'c:\demo\redo01.log' size 10m,
    9> 'c:\demo\redo02.log' size 10m,
    10> 'c:\demo\redo03.log' size 10m;
    11> }

    正在执行命令: SET NEWNAME
    使用目标数据库控制文件替代恢复目录

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    启动 Duplicate Db 于 04-2月 -09
    分配的通道: ORA_AUX_DISK_1
    通道 ORA_AUX_DISK_1: sid=159 devtype=DISK

    内存脚本的内容:
    {
       set until scn  1706363;
       set newname for datafile  1 to
    "C:\DEMO\SYSTEM01.DBF";
       set newname for datafile  2 to
    "C:\DEMO\UNDOTBS01.DBF";
       set newname for datafile  3 to
    "C:\DEMO\SYSAUX01.DBF";
       set newname for datafile  4 to
    "C:\DEMO\USERS01.DBF";
       restore
       check readonly
       clone database
       ;
    }
    正在执行内存脚本

    正在执行命令: SET until clause

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    启动 restore 于 04-2月 -09
    使用通道 ORA_AUX_DISK_1

    通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
    正将数据文件00001恢复到C:\DEMO\SYSTEM01.DBF
    正将数据文件00002恢复到C:\DEMO\UNDOTBS01.DBF
    正将数据文件00003恢复到C:\DEMO\SYSAUX01.DBF
    正将数据文件00004恢复到C:\DEMO\USERS01.DBF
    通道 ORA_AUX_DISK_1: 正在读取备份段 C:\BACKUP\DEMO_42.BAK
    通道 ORA_AUX_DISK_1: 已恢复备份段 1
    段句柄 = C:\BACKUP\DEMO_42.BAK 标记 = TAG20090204T164503
    通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:01:26
    完成 restore 于 04-2月 -09
    sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DEMO" RESETLOGS ARCHIVELOG
      MAXLOGFILES     16
      MAXLOGMEMBERS      3
      MAXDATAFILES      100
      MAXINSTANCES     8
      MAXLOGHISTORY      292
    LOGFILE
      GROUP  1 'c:\demo\redo01.log' SIZE 10 M ,
      GROUP  2 'c:\demo\redo02.log' SIZE 10 M ,
      GROUP  3 'c:\demo\redo03.log' SIZE 10 M
    DATAFILE
      'C:\DEMO\SYSTEM01.DBF'
    CHARACTER SET ZHS16GBK

    内存脚本的内容:
    {
       switch clone datafile all;
    }
    正在执行内存脚本

    释放的通道: ORA_AUX_DISK_1
    数据文件 2 已转换成数据文件副本
    输入数据文件副本 recid=1 stamp=677955651 文件名=C:\DEMO\UNDOTBS01.DBF
    数据文件 3 已转换成数据文件副本
    输入数据文件副本 recid=2 stamp=677955651 文件名=C:\DEMO\SYSAUX01.DBF
    数据文件 4 已转换成数据文件副本
    输入数据文件副本 recid=3 stamp=677955651 文件名=C:\DEMO\USERS01.DBF

    内存脚本的内容:
    {
       set until scn  1706363;
       recover
       clone database
        delete archivelog
       ;
    }
    正在执行内存脚本

    正在执行命令: SET until clause

    启动 recover 于 04-2月 -09
    分配的通道: ORA_AUX_DISK_1
    通道 ORA_AUX_DISK_1: sid=156 devtype=DISK

    正在开始介质的恢复

    通道 ORA_AUX_DISK_1: 正在启动到默认目标的存档日志恢复
    通道 ORA_AUX_DISK_1: 正在恢复存档日志
    存档日志线程 =1 序列=67
    通道 ORA_AUX_DISK_1: 正在读取备份段 C:\BACKUP\DEMO_44.BAK
    通道 ORA_AUX_DISK_1: 已恢复备份段 1
    段句柄 = C:\BACKUP\DEMO_44.BAK 标记 = TAG20090204T164643
    通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:02
    存档日志文件名 =C:\DEMO\ARCHIVE\CB5C0541_674493001_00067_001_0.ARC 线程 =1 序列
    =67
    通道 clone_default: 正在删除存档日志
    存档日志文件名 =C:\DEMO\ARCHIVE\CB5C0541_674493001_00067_001_0.ARC 记录 ID=1 时
    间戳 =677955655
    介质恢复完成, 用时: 00:00:03
    完成 recover 于 04-2月 -09

    内存脚本的内容:
    {
       shutdown clone;
       startup clone nomount ;
    }
    正在执行内存脚本

    数据库已卸载
    Oracle 实例已关闭

    已连接到辅助数据库 (未启动)
    Oracle 实例已启动

    系统全局区域总计     603979776 字节

    Fixed Size                     1250380 字节
    Variable Size                260049844 字节
    Database Buffers             335544320 字节
    Redo Buffers                   7135232 字节
    sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DEMO" RESETLOGS ARCHIVELOG
      MAXLOGFILES     16
      MAXLOGMEMBERS      3
      MAXDATAFILES      100
      MAXINSTANCES     8
      MAXLOGHISTORY      292
    LOGFILE
      GROUP  1 'c:\demo\redo01.log' SIZE 10 M ,
      GROUP  2 'c:\demo\redo02.log' SIZE 10 M ,
      GROUP  3 'c:\demo\redo03.log' SIZE 10 M
    DATAFILE
      'C:\DEMO\SYSTEM01.DBF'
    CHARACTER SET ZHS16GBK

    内存脚本的内容:
    {
       set newname for tempfile  1 to
    "c:\demo\temp01.dbf";
       switch clone tempfile all;
       catalog clone datafilecopy  "C:\DEMO\UNDOTBS01.DBF";
       catalog clone datafilecopy  "C:\DEMO\SYSAUX01.DBF";
       catalog clone datafilecopy  "C:\DEMO\USERS01.DBF";
       switch clone datafile all;
    }
    正在执行内存脚本

    正在执行命令: SET NEWNAME

    临时文件 1 在控制文件中已重命名为 c:\demo\temp01.dbf

    已将数据文件副本列入目录
    数据文件副本 filename=C:\DEMO\UNDOTBS01.DBF recid=1 stamp=677955670

    已将数据文件副本列入目录
    数据文件副本 filename=C:\DEMO\SYSAUX01.DBF recid=2 stamp=677955671

    已将数据文件副本列入目录
    数据文件副本 filename=C:\DEMO\USERS01.DBF recid=3 stamp=677955671

    数据文件 2 已转换成数据文件副本
    输入数据文件副本 recid=1 stamp=677955670 文件名=C:\DEMO\UNDOTBS01.DBF
    数据文件 3 已转换成数据文件副本
    输入数据文件副本 recid=2 stamp=677955671 文件名=C:\DEMO\SYSAUX01.DBF
    数据文件 4 已转换成数据文件副本
    输入数据文件副本 recid=3 stamp=677955671 文件名=C:\DEMO\USERS01.DBF

    内存脚本的内容:
    {
       Alter clone database open resetlogs;
    }
    正在执行内存脚本

    数据库已打开
    完成 Duplicate Db 于 04-2月 -09

  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/yiwuya/p/1384082.html
Copyright © 2011-2022 走看看