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

  • 相关阅读:
    Installshield Basic msi 禁用控制面板中添加删除应用
    js location.search
    c# 中关于office引用释放 技巧
    Installshield2016 condition
    bat script 点滴
    Installshield 2015 实现检测某安装文件是否存在并运行安装
    (八)基本概念列表
    (七)PM法律法规、文档配置、需求管理知识
    (六)PM项目沟通、风险、采购管理
    (五)PM项目质量管理与人力资源管理
  • 原文地址:https://www.cnblogs.com/yiwuya/p/3018979.html
Copyright © 2011-2022 走看看