您的位置:首页 > 其它

RMAN深入解析之--Incarnation应用(不完全恢复)

2015-03-31 12:05 375 查看
RMAN深入解析之--Incarnation应用(不完全恢复)案例环境:操作系统:RedHat EL5Oracle:  Oracle 11gR2
   当在做Media Recover的不完全恢复时,通过resetlogs打开库,则Incarnation(数据库对应物)表示这个数据库的特定的逻辑生存期。当作为DBA可能面临这样的还原:需要使用上次执行resetlogs命令打开数据库前生成的一个备份来进行还原数据库,或者可能需要还原到执行上一个resetlogs命令之前的时间点。
    

                               如图所示: 数据库的还原线路图

案例1:(不完全恢复1)
1、table被误删除,进行不完全恢复
17:12:11 SYS@ prod>select current_scn from v$database;

CURRENT_SCN
-----------
    2123790
[code=jfx;toolbar:false">17:12:24 SYS@ prod>conn scott/tiger
Connected.
17:12:43 SCOTT@ prod>select count(*) from emp1;
  COUNT(*)
----------
        28
Elapsed: 00:00:00.05
17:12:53 SCOTT@ prod>delete from emp1;
28 rows deleted.
Elapsed: 00:00:00.08
17:13:12 SCOTT@ prod>commit;
Commit complete.
Elapsed: 00:00:00.04
17:13:17 SCOTT@ prod>insert into emp1 select * from emp where empno=7788;
1 row created.
Elapsed: 00:00:00.04
17:13:28 SCOTT@ prod>update emp set empno=9999 where empno=7788;
1 row updated.
Elapsed: 00:00:00.03
17:13:43 SCOTT@ prod>commit;
Commit complete.
Elapsed: 00:00:00.04
17:13:45 SCOTT@ prod>select * from emp1;
     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
Elapsed: 00:00:00.022、执行不完全恢复RMAN>  run {
2>  set until scn 2123790;
3>  shutdown immediate;
4>  startup mount;
5>  restore database;
6>  recover database;
7>  alter database open resetlogs;
8>  sql'alter system switch logfile';
9>  }
executing command: SET until clause
using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area     835104768 bytes
Fixed Size                     2217952 bytes
Variable Size                775948320 bytes
Database Buffers              54525952 bytes
Redo Buffers                   2412544 bytes
Starting restore at 15-JUL-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/prod/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/prod/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/prod/undotbs1.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/prod/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/prod/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/prod/tbs1.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/prod/undotbs2.dbf
channel ORA_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/prod/perftbs01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1
channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1 tag=TAG20140703T171545
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:01:16
Finished restore at 15-JUL-14
Starting recover at 15-JUL-14
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 17 is already on disk as file /dsk4/arch1/arch_1_17_851265252.log
archived log for thread 1 with sequence 18 is already on disk as file /dsk4/arch1/arch_1_18_851265252.log
archived log for thread 1 with sequence 19 is already on disk as file /dsk4/arch1/arch_1_19_851265252.log
archived log file name=/dsk4/arch1/arch_1_17_851265252.log thread=1 sequence=17
media recovery complete, elapsed time: 00:00:09
Finished recover at 15-JUL-14
database opened3、验证[oracle@rh6 ~]$ sqlplus '/as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 15 17:26:10 2014
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
17:26:10 SYS@ prod>select count(*) from scott.emp1;
  COUNT(*)
----------
        28
Elapsed: 00:00:00.03
17:27:09 SYS@ prod>17:42:24 SYS@ prod>conn scott/tiger
Connected.
17:42:28 SCOTT@ prod>insert into emp1 select * from emp where rownum <4;
3 rows created.
Elapsed: 00:00:00.05
17:42:42 SCOTT@ prod>commit;
Commit complete.
Elapsed: 00:00:00.01
17:42:44 SCOTT@ prod>insert into emp1 select * from emp where rownum <5;
4 rows created.
Elapsed: 00:00:00.02
17:42:52 SCOTT@ prod>commit;
Commit complete.
Elapsed: 00:00:00.05
17:42:55 SCOTT@ prod>conn /as sysdba
Connected.17:43:01 SYS@ prod>select current_scn from v$database;

CURRENT_SCN
-----------
    212484017:43:13 SYS@ prod>alter system switch logfile;
System altered.
Elapsed: 00:00:00.10
17:43:38 SYS@ prod>conn scott/tiger
Connected.
17:43:42 SCOTT@ prod>select count(*) from scott.emp1;
  COUNT(*)
----------
        35
Elapsed: 00:00:00.02
17:43:48 SCOTT@ prod>delete from emp1;
35 rows deleted.
Elapsed: 00:00:00.04
17:43:56 SCOTT@ prod>commit;
Commit complete.
Elapsed: 00:00:00.01
17:43:58 SCOTT@ prod>insert into emp1 select * from emp where empno=7788;
1 row created.
Elapsed: 00:00:00.01
17:44:09 SCOTT@ prod>update emp1 set empno=8888;
1 row updated.
Elapsed: 00:00:00.01
17:44:16 SCOTT@ prod>commit;
Commit complete.
Elapsed: 00:00:00.02
17:44:17 SCOTT@ prod>select * from emp1;
     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      8888 SCOTT      ANALYST         7566 19-APR-87       3000                    20
Elapsed: 00:00:00.032、通过rman做不完全恢复RMAN> run {
 set until scn 2124840;
2>  shutdown immediate;
3> 4>  startup mount;
5>  restore database;
6>  recover database;
7>  alter database open resetlogs;
8>  sql'alter system switch logfile';
9>  }
executing command: SET until clause
database closed
database dismounted
Oracle instance shut down
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area     835104768 bytes
Fixed Size                     2217952 bytes
Variable Size                775948320 bytes
Database Buffers              54525952 bytes
Redo Buffers                   2412544 bytes
Starting restore at 15-JUL-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/prod/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/prod/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/prod/undotbs1.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/prod/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/prod/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/prod/tbs1.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/prod/undotbs2.dbf
channel ORA_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/prod/perftbs01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1
channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1 tag=TAG20140703T171545
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:01:25
Finished restore at 15-JUL-14
Starting recover at 15-JUL-14
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 17 is already on disk as file /dsk4/arch1/arch_1_17_851265252.log
archived log for thread 1 with sequence 18 is already on disk as file /dsk4/arch1/arch_1_18_851265252.log
archived log for thread 1 with sequence 19 is already on disk as file /dsk4/arch1/arch_1_19_851265252.log
archived log for thread 1 with sequence 20 is already on disk as file /dsk4/arch1/arch_1_20_851265252.log
archived log for thread 1 with sequence 1 is already on disk as file /dsk4/arch1/arch_1_1_853003284.log
archived log file name=/dsk4/arch1/arch_1_17_851265252.log thread=1 sequence=17
archived log file name=/dsk4/arch1/arch_1_18_851265252.log thread=1 sequence=18
archived log file name=/dsk4/arch1/arch_1_19_851265252.log thread=1 sequence=19
archived log file name=/dsk4/arch1/arch_1_20_851265252.log thread=1 sequence=20
media recovery complete, elapsed time: 00:00:10
Finished recover at 15-JUL-14
database opened3、验证[oracle@rh6 ~]$ sqlplus '/as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 15 17:48:52 2014
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
17:48:52 SYS@ prod>select count(*) from scott.emp1;
  COUNT(*)
----------
        35
Elapsed: 00:00:00.03RMAN> list incarnation;
List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       PROD     239333010        PARENT  1          15-AUG-09
2       2       PROD     239333010        PARENT  945184     30-SEP-13
3       3       PROD     239333010        PARENT  1087512    18-MAY-14
4       4       PROD     239333010        PARENT  1857377    26-JUN-14
5       5       PROD     239333010        PARENT  2123791    15-JUL-14
6       6       PROD     239333010        CURRENT 2124841    15-JUL-143、重新执行恢复
1、关闭数据库RMAN> shutdown immediate;
database closed
database dismounted
Oracle instance shut down2、启动数据库到nomountRMAN> startup mount;
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area     835104768 bytes
Fixed Size                     2217952 bytes
Variable Size                775948320 bytes
Database Buffers              54525952 bytes
Redo Buffers                   2412544 bytes3、恢复Incarnation到前一个
Starting restore at 15-JUL-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=21 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/prod/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/prod/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/prod/undotbs1.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/prod/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/prod/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/prod/tbs1.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/prod/undotbs2.dbf
channel ORA_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/prod/perftbs01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1
channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1 tag=TAG20140703T171545
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:01:15
Finished restore at 15-JUL-145、Recover 数据库
[b]RMAN> recover database until scn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐