RMAN深入解析之--Incarnation應用(不完全恢複)

來源:互聯網
上載者:User

RMAN深入解析之--Incarnation應用(不完全恢複)

案例環境:

作業系統:RedHat EL5

Oracle:  Oracle 11gR2

當在做Media Recover的不完全恢複時,通過resetlogs開啟庫,則Incarnation(資料庫對應物)表示這個資料庫的特定的邏輯生存期。當作為DBA可能面臨這樣的還原:需要使用上次執行resetlogs命令開啟資料庫前產生的一個備份來進行還原資料庫,或者可能需要還原到執行上一個resetlogs命令之前的時間點。

: 資料庫的還原線路圖 

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

RMAN 配置歸檔日誌刪除策略

Oracle基礎教程之通過RMAN複製資料庫

RMAN備份策略制定參考內容

RMAN備份學習筆記

OracleDatabase Backup加密 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 <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

-----------

    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

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

      8888 SCOTT      ANALYST        7566 19-APR-87      3000                    20

Elapsed: 00:00:00.03


2、通過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 opened


3、驗證

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


資料恢複成功!

4、查看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        PARENT  2123791    15-JUL-14

6      6      PROD    239333010        CURRENT 2124841    15-JUL-14


注意:2124841 為當前Incarnation !

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.