欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-07 14:10:34
...

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

案例环境:

操作系统:RedHat EL5

Oracle: Oracle 11gR2

当在做Media Recover的不完全恢复时,通过resetlogs打开库,则Incarnation(数据库对应物)表示这个数据库的特定的逻辑生存期。当作为DBA可能面临这样的还原:需要使用上次执行resetlogs命令打开数据库前生成的一个备份来进行还原数据库,或者可能需要还原到执行上一个resetlogs命令之前的时间点。

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

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

--------------------------------------------------------------------------------

RMAN 配置归档日志删除策略

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------------------------------------------------

案例1:(不完全恢复1)

1、table被误删除,进行不完全恢复

17:12:11 SYS@ prod>select current_scn from v$database;

CURRENT_SCN

-----------

2123790

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.02


2、执行不完全恢复

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 opened


3、验证

[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>


数据被恢复!

5、查看Incarnation

RMAN> list incarnation;

using target database control file instead of recovery catalog

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 CURRENT 2123791 15-JUL-14

RMAN>

RMAN> list backup of database;

List of Backup Sets

===================

BS Key Type LV Size Device Type Elapsed Time Completion Time

------- ---- -- ---------- ----------- ------------ ---------------

17 Full 1.13G DISK 00:01:21 03-JUL-14

BP Key: 17 Status: AVAILABLE Compressed: NO Tag: TAG20140703T171545

Piece Name: /u01/app/oracle/product/11.2.0/db_1/dbs/0lpcfu61_1_1

List of Datafiles in backup set 17

File LV Type Ckp SCN Ckp Time Name

---- -- ---- ---------- --------- ----

1 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/system01.dbf

2 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/sysaux01.dbf

3 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/undotbs1.dbf

4 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/users01.dbf

5 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/example01.dbf

6 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/tbs1.dbf

7 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/undotbs2.dbf

8 Full 2066885 03-JUL-14 /u01/app/oracle/oradata/prod/perftbs01.dbf


案例2:(不完全恢复2)

1、table被误删除,,通过不完全恢复进行恢复

17:42:24 SYS@ prod>conn scott/tiger

Connected.

17:42:28 SCOTT@ prod>insert into emp1 select * from emp where rownum

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

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

-----------

2124840

17: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

---------- ---------- --------- ---------- --------- ---------- ---------- ----------