Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

In-depth Analysis of RMAN-- Incarnation Application (incomplete recovery)

2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

When an incomplete recovery of Media Recover is done, the library is opened through resetlogs, and the Incarnation (database counterpart) represents the specific logical lifetime of the database. As a DBA, you may face a restore: you need to restore the database using a backup made before the last resetlogs command to open the database, or you may need to restore to a point in time before the last resetlogs command was executed.

Case 1: (incomplete recovery 1)

1. Table was deleted by mistake and incomplete recovery was performed.

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 (*)

-

twenty-eight

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

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/arch2/arch_1_17_851265252.log

Archived log for thread 1 with sequence 18 is already on disk as file / dsk4/arch2/arch_1_18_851265252.log

Archived log for thread 1 with sequence 19 is already on disk as file / dsk4/arch2/arch_1_19_851265252.log

Archived log file name=/dsk4/arch2/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. Verification

[oracle@rh7 ~] $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 (*)

-

twenty-eight

Elapsed: 00:00:00.03

17:27:09 SYS@ prod >

The data is restored!

5. View 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

33 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

Case 2: (incomplete recovery 2)

1. Table is deleted by mistake and restored through incomplete recovery.

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

Connected.

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

Commit complete.

Elapsed: 00:00:00.01

17:42:44 SCOTT@ prod > insert into emp1 select * from emp where rownum 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 (*)

-

thirty-five

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. Incomplete recovery through 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/arch2/arch_1_17_851265252.log

Archived log for thread 1 with sequence 18 is already on disk as file / dsk4/arch2/arch_1_18_851265252.log

Archived log for thread 1 with sequence 19 is already on disk as file / dsk4/arch2/arch_1_19_851265252.log

Archived log for thread 1 with sequence 20 is already on disk as file / dsk4/arch2/arch_1_20_851265252.log

Archived log for thread 1 with sequence 1 is already on disk as file / dsk4/arch2/arch_1_1_853003284.log

Archived log file name=/dsk4/arch2/arch_1_17_851265252.log thread=1 sequence=17

Archived log file name=/dsk4/arch2/arch_1_18_851265252.log thread=1 sequence=18

Archived log file name=/dsk4/arch2/arch_1_19_851265252.log thread=1 sequence=19

Archived log file name=/dsk4/arch2/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. Verification

[oracle@rh7 ~] $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 (*)

-

thirty-five

Elapsed: 00:00:00.03

Data recovery successful!

4. View 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

33 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

Note: 2124841 is the current Incarnation!

Case 3: (incomplete recovery 3)

1. Restore the database before the current Incarnation again

RMAN > run {

Set until scn 2122840

3 > shutdown immediate

4 > startup mount

5 > restore database

6 > recover database

7 > alter database open resetlogs

8 >}

Executing command: SET until clause

RMAN-00571: =

RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =

RMAN-00571: =

RMAN-03002: failure of shutdown command at 07/15/2014 17:51:17

RMAN-20208: UNTIL CHANGE is before RESETLOGS change

-recovery error, cannot be restored before the current Incarnation!

2. View Incarnation

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

33 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

3. Perform the restore again

1. Close the database

RMAN > shutdown immediate

Database closed

Database dismounted

Oracle instance shut down

2. Start the database to nomount

RMAN > 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 bytes

3. Restore Incarnation to the previous one

RMAN > reset database to incarnation 5

Database reset to incarnation 5

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

33 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

6 6 PROD 239333010 ORPHAN 2124841 15-JUL-14

4. Restore database

RMAN > restore database until scn 2124835

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

5. Recover database

RMAN > recover database until scn 2124835

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/arch2/arch_1_17_851265252.log

Archived log for thread 1 with sequence 18 is already on disk as file / dsk4/arch2/arch_1_18_851265252.log

Archived log for thread 1 with sequence 19 is already on disk as file / dsk4/arch2/arch_1_19_851265252.log

Archived log for thread 1 with sequence 20 is already on disk as file / dsk4/arch2/arch_1_20_851265252.log

Archived log for thread 1 with sequence 1 is already on disk as file / dsk4/arch2/arch_1_1_853003284.log

Archived log file name=/dsk4/arch2/arch_1_17_851265252.log thread=1 sequence=17

Archived log file name=/dsk4/arch2/arch_1_18_851265252.log thread=1 sequence=18

Archived log file name=/dsk4/arch2/arch_1_19_851265252.log thread=1 sequence=19

Archived log file name=/dsk4/arch2/arch_1_20_851265252.log thread=1 sequence=20

Archived log file name=/dsk4/arch2/arch_1_1_853003284.log thread=1 sequence=1

Media recovery complete, elapsed time: 00:00:08

Finished recover at 15-JUL-14

6. View Incarnation

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

33 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

6 6 PROD 239333010 ORPHAN 2124841 15-JUL-14

7. Open the database (resetlogs)

RMAN > alter database open resetlogs

Database opened

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

33 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

7 7 PROD 239333010 CURRENT 2124836 15-JUL-14

6 6 PROD 239333010 ORPHAN 2124841 15-JUL-14

8. Verification

[oracle@rh7 ~] $sqlplus'/ as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 15 18:01:11 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

18:01:11 SYS@ prod > select count (*) from scott.emp1

COUNT (*)

-

thirty-five

Elapsed: 00:00:00.05

@ at this point, data recovery is complete!

This article is a reprint.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report