zoukankan      html  css  js  c++  java
  • 10g跨越resetlogs时间点进行完全/不完全恢复

    一、全备份数据库
    
    C:\> rman target /
    
    RMAN> backup database plus archivelog delete all input;
    
    
    二、进行数据的更改
    
    C:\> sqlplus "/ as sysdba"
    
    SQL > insert into tony.test select * from dba_objects ;
    SQL > commit;
    
    SQL > select count(*) from tony.test ;
    
    COUNT(*)
    ----------
    46598  
    
    SQL > alter system switch logfile; 
    
     
    
    SQL > insert into tony.test  select * from dba_objects ; 
    SQL > commit;
    
    SQL > select count(*) from tony.test ;
    
    COUNT(*)
    ----------
    93196   
    
    SQL > alter system switch logfile;
    
    
    SQL > insert into tony.test  select * from dba_objects ; 
    SQL > commit;
    
    SQL > select count(*) from tony.test ;
    
    COUNT(*)
    ----------
    139794   
    
    SQL > alter system switch logfile;
    
    
    SQL > insert into tony.test select * from dba_objects ;  
    
    commit; 
    
    SQL > select count(*) from tony.test ;
    
    COUNT(*)
    ----------
    186392
    
    SQL > alter system switch logfile;
    
     
    
    
    日志序列的情况如下:
    SQL> select * from v$log_history where RECID > 45 ;  
    
    RECID,STAMP,THREAD#,SEQUENCE#,FIRST_CHANGE#,FIRST_TIME,NEXT_CHANGE#,RESETLOGS_CHANGE#,RESETLOGS_TIME
    46,760012033,1,9,537154,2011-08-24 10:26:00,537391,532087,2011-08-24 9:44:20
    47,760012086,1,10,537391,2011-08-24 10:27:13,537561,532087,2011-08-24 9:44:20
    48,760013089,1,11,537561,2011-08-24 10:28:06,539062,532087,2011-08-24 9:44:20
    
     
    
     
    
    三、执行不完全恢复
    
    SQL > shutdown immeidate ; 
    SQL > startup mount ;
    
    C:\>rman target /
    
    恢复管理器: Release 10.2.0.4.0 - Production on 星期三 8月 24 09:38:47 2011
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    已连接到目标数据库: TEST (DBID=2057987867, 未打开)
    
    RMAN> run {
     set until sequence 10 thread 1 ; 
     restore database;
     recover database;
     }
    
    正在执行命令: SET until clause
    使用目标数据库控制文件替代恢复目录
    
    启动 restore 于 24-8月 -11
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=156 devtype=DISK
    
    通道 ORA_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
    正将数据文件00001还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF
    正将数据文件00002还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF
    正将数据文件00003还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF
    正将数据文件00004还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF
    通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2011_08_24\O1_MF_NCSDF_TAG
    20110824T081321_758JK4BQ_.BKP
    通道 ORA_DISK_1: 已还原备份片段 1
    段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2011_08_24\O1_MF_NCSDF_TAG20110824T081321_758JK4BQ_
    .BKP 标记 = TAG20110824T081321
    通道 ORA_DISK_1: 还原完成, 用时: 00:01:17
    完成 restore 于 24-8月 -11
    
    启动 recover 于 24-8月 -11
    使用通道 ORA_DISK_1
    
    正在开始介质的恢复
    
    存档日志线程 1 序列 34 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00034_0759841435.001 存在于磁盘上
    通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
    通道 ORA_DISK_1: 正在恢复存档日志
    存档日志线程 =1 序列=33
    通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2011_08_24\O1_MF_ANNNN_TAG
    20110824T081420_758JLXRF_.BKP
    通道 ORA_DISK_1: 已还原备份片段 1
    段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2011_08_24\O1_MF_ANNNN_TAG20110824T081420_758JLXRF_
    .BKP 标记 = TAG20110824T081420
    通道 ORA_DISK_1: 还原完成, 用时: 00:00:02
    存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00033_0759841435.001 线程 =1 序列 =33
    存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00034_0759841435.001 线程 =1 序列 =34
    介质恢复完成, 用时: 00:00:06
    完成 recover 于 24-8月 -11
    
    RMAN>
    
    RMAN> sql 'alter database open resetlogs' ;
    
    sql 语句: alter database open resetlogs
    
    RMAN>
    
     
    
     
    
    四、此时的数据库状态
    
    C:\>sqlplus "/as sysdba"
    
    SQL*Plus: Release 10.2.0.4.0 - Production on 星期三 8月 24 11:09:50 2011
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    
    连接到:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining Scoring Engine and Real Application Testing options
    
    SQL> archive log list
    数据库日志模式            存档模式
    自动存档             启用
    存档终点            D:\oracle\product\10.2.0\oradata\test\arch
    最早的联机日志序列     1
    下一个存档日志序列     1
    当前日志序列           1
    SQL> select count(*)  from tony.test;
    
      COUNT(*)
    ----------
         46598
    
    SQL>
    
     
    
     
    
    五、继续进行数据更改
    
    SQL> create table tony.test2  as  select  *  from  dba_users;
    SQL> alter system switch logfile;
    
    SQL> select count(*) from tony.test2 ;
    
    COUNT(*)
    ----------
    18
    
    SQL> insert into tony.test2  select * from  tony.test2 ;
    SQL> commit;
    SQL> alter system switch logfile;
    
    SQL> select count(*)  from tony.test2 ;
    
      COUNT(*)
    ----------
            36
    
    
    此时的日志序列:
    
    SQL> select * from v$log_history where recid > 45 ;
    
    RECID,STAMP,THREAD#,SEQUENCE#,FIRST_CHANGE#,FIRST_TIME,NEXT_CHANGE#,RESETLOGS_CHANGE#,RESETLOGS_TIME
    46,760012033,1,9,537154,2011-08-24 10:26:00,537391,532087,2011-08-24 9:44:20
    47,760012086,1,10,537391,2011-08-24 10:27:13,537561,532087,2011-08-24 9:44:20
    48,760013089,1,11,537561,2011-08-24 10:28:06,539062,532087,2011-08-24 9:44:20
    49,760013619,1,12,539062,2011-08-24 10:44:49,540420,532087,2011-08-24 9:44:20
    50,760014917,1,1,537392,2011-08-24 11:07:39,538596,537392,2011-08-24 11:07:39
    51,760014959,1,2,538596,2011-08-24 11:15:17,538620,537392,2011-08-24 11:07:39
    
     
    
    
    六、再次执行恢复
    
    
    SQL> shutdown immediate;
    SQL> startup mount;
    
    C:\> rman target /
    
    
    RMAN> restore database;
    
    启动 restore 于 24-8月 -11
    使用目标数据库控制文件替代恢复目录
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=156 devtype=DISK
    
    通道 ORA_DISK_1: 正在开始恢复数据文件备份集
    通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
    正将数据文件00001还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF
    正将数据文件00002还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF
    正将数据文件00003还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF
    正将数据文件00004还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF
    通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2011_08_24\O1_MF_NCSDF_TAG
    20110824T102502_758R81SW_.BKP
    通道 ORA_DISK_1: 已还原备份片段 1
    段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2011_08_24\O1_MF_NCSDF_TAG20110824T102502_758R81SW_
    .BKP 标记 = TAG20110824T102502
    通道 ORA_DISK_1: 还原完成, 用时: 00:01:16
    完成 restore 于 24-8月 -11
    
    RMAN>
    
    RMAN> recover database;
    
    启动 recover 于 24-8月 -11
    使用通道 ORA_DISK_1
    
    正在开始介质的恢复
    
    存档日志线程 1 序列 8 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00008_0760009460.001
    存档日志线程 1 序列 9 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00009_0760009460.001
    存档日志线程 1 序列 1 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00001_0760014459.001
    存档日志线程 1 序列 2 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00002_0760014459.001
    存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00008_0760009460.001 线程 =1 序列 =8
    存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ARCH\ARC00009_0760009460.001 线程 =1 序列 =9
    介质恢复完成, 用时: 00:00:08
    完成 recover 于 24-8月 -11
    
    RMAN> sql ' alter database open ' ;
    
    sql 语句:  alter database open
    
    RMAN>
    
     
    
     
    
    七、最后检查数据恢复情况
    
    注意此次恢复跨越了resetlogs时间点(从最初备份进行恢复,中间有resetlog,
    后面的重置后的归档日志也可以恢复到原备份中) 。 
    
    C:\> sqlplus "/ as sysdba"
    
    SQL> select count(*) from tony.test ;
    
      COUNT(*)
    ----------
         46598
    
    SQL> select count(*) from tony.test2  ;
    
      COUNT(*)
    ----------
            36
    

      

    魔兽就是毒瘤,大家千万不要玩。
  • 相关阅读:
    Airflow使用笔记
    公共关系学(第二版)笔记
    公众关系秘籍
    SQL SERVER XML 学习总结
    hadoop 1.2.1 配置
    ssh
    centos&windows的共享文件(通过挂载)
    代理设置(wget/yum)
    环境变量设置
    centos7 自定义服务
  • 原文地址:https://www.cnblogs.com/tracy/p/2307701.html
Copyright © 2011-2022 走看看