zoukankan      html  css  js  c++  java
  • 全自动 TSPITR 案例

    准备:

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

    SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 1月 15 17:08:25 2009

    Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

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

    SQL> create tablespace tbs01 datafile 'd:\demo\tbs01.dbf' size 1M autoextend on
    next 512K maxsize unlimited extent management local segment space management aut
    o;

    表空间已创建。

    SQL> create tablespace tbs02 datafile 'd:\demo\tbs02.dbf' size 1M autoextend on
    next 512K maxsize unlimited extent management local segment space management aut
    o;

    表空间已创建。

    SQL> create user colin identified by colin;

    用户已创建。

    SQL> grant connect,resource to colin;

    授权成功。

    SQL> conn colin/colin@demo
    已连接。
    SQL> create table tab01(c int) tablespace tbs01;

    表已创建。

    SQL> create table tab02(c int) tablespace tbs02;

    表已创建。

    SQL> insert into tab01 values(1);

    已创建 1 行。

    SQL> insert into tab01 values(2);

    已创建 1 行。

    SQL> insert into tab02 values(1);

    已创建 1 行。

    SQL> insert into tab02 values(2);

    已创建 1 行。

    SQL> commit;

    提交完成。

    SQL> conn sys/demo@demo as sysdba
    已连接。
    SQL> alter system switch logfile;

    系统已更改。

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

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

    恢复管理器: Release 10.2.0.3.0 - Production on 星期四 1月 15 17:10:36 2009

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

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

    RMAN> backup database plus archivelog format='d:\demo\bak\%d_%s_%p.bak';

    启动 backup 于 15-1月 -09
    当前日志已存档
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=141 devtype=DISK
    通道 ORA_DISK_1: 正在启动存档日志备份集
    通道 ORA_DISK_1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =75 记录 ID=207 时间戳=676228224
    输入存档日志线程 =1 序列 =76 记录 ID=209 时间戳=676228247
    通道 ORA_DISK_1: 正在启动段 1 于 15-1月 -09
    通道 ORA_DISK_1: 已完成段 1 于 15-1月 -09
    段句柄=D:\DEMO\BAK\DEMO_60_1.BAK 标记=TAG20090115T171048 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
    完成 backup 于 15-1月 -09

    启动 backup 于 15-1月 -09
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    输入数据文件 fno=00001 name=D:\DEMO\SYSTEM01.DBF
    输入数据文件 fno=00003 name=D:\DEMO\SYSAUX01.DBF
    输入数据文件 fno=00002 name=D:\DEMO\UNDOTBS01.DBF
    输入数据文件 fno=00004 name=D:\DEMO\USERS01.DBF
    输入数据文件 fno=00005 name=D:\DEMO\TBS01.DBF
    输入数据文件 fno=00006 name=D:\DEMO\TBS02.DBF
    通道 ORA_DISK_1: 正在启动段 1 于 15-1月 -09
    通道 ORA_DISK_1: 已完成段 1 于 15-1月 -09
    段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DEMO\BACKUPSET\2009_01_15\O1
    _MF_NNNDF_TAG20090115T171052_4PXZDXGV_.BKP 标记=TAG20090115T171052 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:06
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    备份集中包括当前控制文件
    在备份集中包含当前的 SPFILE
    通道 ORA_DISK_1: 正在启动段 1 于 15-1月 -09
    通道 ORA_DISK_1: 已完成段 1 于 15-1月 -09
    段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DEMO\BACKUPSET\2009_01_15\O1
    _MF_NCSNF_TAG20090115T171052_4PXZH0LG_.BKP 标记=TAG20090115T171052 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:05
    完成 backup 于 15-1月 -09

    启动 backup 于 15-1月 -09
    当前日志已存档
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 正在启动存档日志备份集
    通道 ORA_DISK_1: 正在指定备份集中的存档日志
    输入存档日志线程 =1 序列 =77 记录 ID=212 时间戳=676228324
    通道 ORA_DISK_1: 正在启动段 1 于 15-1月 -09
    通道 ORA_DISK_1: 已完成段 1 于 15-1月 -09
    段句柄=D:\DEMO\BAK\DEMO_63_1.BAK 标记=TAG20090115T171205 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
    完成 backup 于 15-1月 -09

    RMAN> backup current controlfile format='d:\demo\bak\%d.ctl' REUSE;

    启动 backup 于 15-1月 -09
    使用通道 ORA_DISK_1
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    备份集中包括当前控制文件
    通道 ORA_DISK_1: 正在启动段 1 于 15-1月 -09
    通道 ORA_DISK_1: 已完成段 1 于 15-1月 -09
    段句柄=D:\DEMO\BAK\DEMO.CTL 标记=TAG20090115T171224 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
    完成 backup 于 15-1月 -09

    RMAN> exit

    恢复管理器完成。

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

    SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 1月 15 17:12:43 2009

    Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

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

    SQL> select * from colin.tab01;

             C
    ----------
             1
             2

    SQL> select * from colin.tab02;

             C
    ----------
             1
             2

    SQL> archive log list;
    数据库日志模式            存档模式
    自动存档             启用
    存档终点            d:\demo\archive
    最早的联机日志序列     76
    下一个存档日志序列   78
    当前日志序列           78
    SQL> truncate table colin.tab01;

    表被截断。

    SQL> alter system switch logfile;

    系统已更改。

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

     

    恢复:

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

    恢复管理器: Release 10.2.0.3.0 - Production on 星期四 1月 15 17:14:47 2009

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

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

    RMAN> run
    2> {
    3> recover tablespace tbs01 until logseq 78 auxiliary destination 'd:\demo\auxi'
    ;
    4> sql 'alter tablespace tbs01 online';
    5> backup tablespace tbs01 format='d:\demo\bak\%d_%s_%p.bak';
    6> }

    启动 recover 于 15-1月 -09
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=140 devtype=DISK
    RMAN-05026: 警告: 假定以下表空间集适用于指定的时间点

    表空间列表要求具有 UNDO 段
    表空间 SYSTEM
    表空间 UNDOTBS1

    使用 SID='scyj' 创建自动实例

    供自动实例使用的初始化参数:
    db_name=DEMO
    compatible=10.2.0.3.0
    db_block_size=8192
    db_files=200
    db_unique_name=tspitr_DEMO_scyj
    large_pool_size=1M
    shared_pool_size=110M
    #No auxiliary parameter file used
    db_create_file_dest=d:\demo\auxi
    control_files=d:\demo\auxi/cntrl_tspitr_DEMO_scyj.f

    启动自动实例 DEMO

    Oracle 实例已启动

    系统全局区域总计     205520896 字节

    Fixed Size                     1289700 字节
    Variable Size                146801180 字节
    Database Buffers              50331648 字节
    Redo Buffers                   7098368 字节
    自动实例已创建

    内存脚本的内容:
    {
    # set the until clause
    set until  logseq 78 thread 1;
    # restore the controlfile
    restore clone controlfile;
    # mount the controlfile
    sql clone 'alter database mount clone database';
    # archive current online log for tspitr to a resent until time
    sql 'alter system archive log current';
    # avoid unnecessary autobackups for structural changes during TSPITR
    sql 'begin dbms_backup_restore.AutoBackupFlag(FALSE); end;';
    }
    正在执行内存脚本

    正在执行命令: SET until clause

    启动 restore 于 15-1月 -09
    分配的通道: ORA_AUX_DISK_1
    通道 ORA_AUX_DISK_1: sid=37 devtype=DISK

    通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_AUX_DISK_1: 正在复原控制文件
    通道 ORA_AUX_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA
    \DEMO\BACKUPSET\2009_01_15\O1_MF_NCSNF_TAG20090115T171052_4PXZH0LG_.BKP
    通道 ORA_AUX_DISK_1: 已恢复备份段 1
    段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DEMO\BACKUPSET\2009_01_15\
    O1_MF_NCSNF_TAG20090115T171052_4PXZH0LG_.BKP 标记 = TAG20090115T171052
    通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:04
    输出文件名=D:\DEMO\AUXI\CNTRL_TSPITR_DEMO_SCYJ.F
    完成 restore 于 15-1月 -09

    sql 语句: alter database mount clone database

    sql 语句: alter system archive log current

    sql 语句: begin dbms_backup_restore.AutoBackupFlag(FALSE); end;
    释放的通道: ORA_DISK_1
    释放的通道: ORA_AUX_DISK_1

    内存脚本的内容:
    {
    # generated tablespace point-in-time recovery script
    # set the until clause
    set until  logseq 78 thread 1;
    plsql <<<-- tspitr_2
    declare
      sqlstatement       varchar2(512);
      offline_not_needed exception;
      pragma exception_init(offline_not_needed, -01539);
    begin
      sqlstatement := 'alter tablespace '||  'TBS01' ||' offline for recover';
      krmicd.writeMsg(6162, sqlstatement);
      krmicd.execSql(sqlstatement);
    exception
      when offline_not_needed then
        null;
    end; >>>;
    # set an omf destination filename for restore
    set newname for clone datafile  1 to new;
    # set an omf destination filename for restore
    set newname for clone datafile  2 to new;
    # set an omf destination tempfile
    set newname for clone tempfile  1 to new;
    # set a destination filename for restore
    set newname for datafile  5 to
    "D:\DEMO\TBS01.DBF";
    # rename all tempfiles
    switch clone tempfile all;
    # restore the tablespaces in the recovery set plus the auxilliary tablespaces
    restore clone datafile  1, 2, 5;
    switch clone datafile all;
    #online the datafiles restored or flipped
    sql clone "alter database datafile  1 online";
    #online the datafiles restored or flipped
    sql clone "alter database datafile  2 online";
    #online the datafiles restored or flipped
    sql clone "alter database datafile  5 online";
    # make the controlfile point at the restored datafiles, then recover them
    recover clone database tablespace  "TBS01", "SYSTEM", "UNDOTBS1" delete archivel
    og;
    alter clone database open resetlogs;
    # PLUG HERE the creation of a temporary tablespace if export fails due to lack
    # of temporary space.
    # For example in Unix these two lines would do that:
    #sql clone "create tablespace aux_tspitr_tmp
    #           datafile ''/tmp/aux_tspitr_tmp.dbf'' size 500K";
    }
    正在执行内存脚本

    正在执行命令: SET until clause

    sql 语句: alter tablespace TBS01 offline for recover

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    正在执行命令: SET NEWNAME

    临时文件 1 在控制文件中已重命名为 D:\DEMO\AUXI\TSPITR_D\DATAFILE\O1_MF_TEMP_%U_.
    TMP

    启动 restore 于 15-1月 -09
    分配的通道: ORA_AUX_DISK_1
    通道 ORA_AUX_DISK_1: sid=39 devtype=DISK

    通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
    正将数据文件00001恢复到D:\DEMO\AUXI\TSPITR_D\DATAFILE\O1_MF_SYSTEM_%U_.DBF
    正将数据文件00002恢复到D:\DEMO\AUXI\TSPITR_D\DATAFILE\O1_MF_UNDOTBS1_%U_.DBF
    正将数据文件00005恢复到D:\DEMO\TBS01.DBF
    通道 ORA_AUX_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA
    \DEMO\BACKUPSET\2009_01_15\O1_MF_NNNDF_TAG20090115T171052_4PXZDXGV_.BKP
    通道 ORA_AUX_DISK_1: 已恢复备份段 1
    段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\DEMO\BACKUPSET\2009_01_15\
    O1_MF_NNNDF_TAG20090115T171052_4PXZDXGV_.BKP 标记 = TAG20090115T171052
    通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:56
    完成 restore 于 15-1月 -09

    数据文件 1 已转换成数据文件副本
    输入数据文件副本 recid=40 stamp=676228728 文件名=D:\DEMO\AUXI\TSPITR_D\DATAFILE\
    O1_MF_SYSTEM_4PXZT0RF_.DBF
    数据文件 2 已转换成数据文件副本
    输入数据文件副本 recid=41 stamp=676228728 文件名=D:\DEMO\AUXI\TSPITR_D\DATAFILE\
    O1_MF_UNDOTBS1_4PXZT0SR_.DBF

    sql 语句: alter database datafile  1 online

    sql 语句: alter database datafile  2 online

    sql 语句: alter database datafile  5 online

    启动 recover 于 15-1月 -09
    使用通道 ORA_AUX_DISK_1

    正在开始介质的恢复

    存档日志线程 1 序列 77 已作为文件 C:\DEMO\ARCHIVE\ARC00077_0676208632.001 存在于
    磁盘上
    存档日志文件名 =C:\DEMO\ARCHIVE\ARC00077_0676208632.001 线程 =1 序列 =77
    介质恢复完成, 用时: 00:00:04
    完成 recover 于 15-1月 -09

    数据库已打开

    内存脚本的内容:
    {
    # export the tablespaces in the recovery set
    host 'exp userid =\"/@(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=oracle)(ARGV0
    =oraclescyj)(ARGS=^'(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))^')(ENVS=^'
    ORACLE_SID=scyj^'))(CONNECT_DATA=(SID=scyj))) as sysdba\" point_in_time_recover=
    y tablespaces=
    TBS01 file=
    tspitr_a.dmp';
    # shutdown clone before import
    shutdown clone immediate
    # import the tablespaces in the recovery set
    host 'imp userid =\"sys/demo@demo as sysdba\" point_in_time_recover=y file=
    tspitr_a.dmp';
    # online/offline the tablespace imported
    sql "alter tablespace  TBS01 online";
    sql "alter tablespace  TBS01 offline";
    # enable autobackups in case user does open resetlogs from RMAN after TSPITR
    sql 'begin dbms_backup_restore.AutoBackupFlag(TRUE); end;';
    }
    正在执行内存脚本

    Export: Release 10.2.0.3.0 - Production on 星期四 1月 15 17:19:16 2009

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

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    注: 将不导出表数据 (行)

    即将导出表空间时间点恢复对象...
    对于表空间 TBS01...
    . 正在导出簇定义
    . 正在导出表定义
    . . 正在导出表                           TAB01
    . 正在导出引用完整性约束条件
    . 正在导出触发器
    . 终止时间点恢复
    成功终止导出, 没有出现警告。
    主机命令完成

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

    Import: Release 10.2.0.3.0 - Production on 星期四 1月 15 17:19:35 2009

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

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

    经由常规路径由 EXPORT:V10.02.01 创建的导出文件
    即将导入表空间时间点恢复对象...
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    . 正在将 SYS 的对象导入到 SYS
    . 正在将 COLIN 的对象导入到 COLIN
    . . 正在导入表                         "TAB01"
    . 正在将 SYS 的对象导入到 SYS
    成功终止导入, 没有出现警告。
    主机命令完成

    sql 语句: alter tablespace  TBS01 online

    sql 语句: alter tablespace  TBS01 offline

    sql 语句: begin dbms_backup_restore.AutoBackupFlag(TRUE); end;

    删除自动实例
    自动实例已删除
    已删除辅助实例文件 D:\DEMO\AUXI\CNTRL_TSPITR_DEMO_SCYJ.F
    已删除辅助实例文件 D:\DEMO\AUXI\TSPITR_D\DATAFILE\O1_MF_SYSTEM_4PXZT0RF_.DBF
    已删除辅助实例文件 D:\DEMO\AUXI\TSPITR_D\DATAFILE\O1_MF_UNDOTBS1_4PXZT0SR_.DBF
    已删除辅助实例文件 D:\DEMO\AUXI\TSPITR_D\DATAFILE\O1_MF_TEMP_4PXZWD2S_.TMP
    已删除辅助实例文件 D:\DEMO\AUXI\TSPITR_D\ONLINELOG\O1_MF_1_4PXZW460_.LOG
    已删除辅助实例文件 D:\DEMO\AUXI\TSPITR_D\ONLINELOG\O1_MF_2_4PXZW5O1_.LOG
    已删除辅助实例文件 D:\DEMO\AUXI\TSPITR_D\ONLINELOG\O1_MF_3_4PXZW7Q9_.LOG
    完成 recover 于 15-1月 -09

    sql 语句: alter tablespace tbs01 online

    启动 backup 于 15-1月 -09
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=140 devtype=DISK
    通道 ORA_DISK_1: 启动全部数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    输入数据文件 fno=00005 name=D:\DEMO\TBS01.DBF
    通道 ORA_DISK_1: 正在启动段 1 于 15-1月 -09
    通道 ORA_DISK_1: 已完成段 1 于 15-1月 -09
    段句柄=D:\DEMO\BAK\DEMO_65_1.BAK 标记=TAG20090115T171940 注释=NONE
    通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
    完成 backup 于 15-1月 –09

    RMAN> exit

    恢复管理器完成。

     

    检查结果:

    C:\>sqlplus colin/colin@demo

    SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 1月 15 17:25:59 2009

    Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

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

    SQL> select * from tab01;

             C
    ----------
             1
             2

    SQL> select * from tab02;

             C
    ----------
             1
             2

  • 相关阅读:
    RapidJavaEE 项目 开发流程说明
    [转]Ext自定义vtype动态验证
    博客园cnblogs chrome右键插件 开发
    extjs 2.0 回车切换表单,支持chrome,firefox,ie
    简单备份策略
    搜狗室验室 Web开发相关技术报告下载
    <转>记录一些BCB6的使用心得
    (转)远程桌面3389多用户登陆补丁及端口修改(XP+WIN7)
    <转>Java调用C/C++编写的第三方dll动态链接库(非native API) JNI
    清理SVN目录中.SVN
  • 原文地址:https://www.cnblogs.com/yiwuya/p/1376521.html
Copyright © 2011-2022 走看看