reset database to incarnation 过多的archivelog 导致incarnation 改变

Summary

  • Attempting to restore a database/datafile using the following backup (BackupSet Key# 3):

RMAN> list backup of database;

using target database control file instead of recovery catalog

List of Backup Sets

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

BS Key Type LV Size Device Type Elapsed Time Completion Time


3 Full 347.09M DISK 00:00:41 07-SEP-2007 19:38:55

BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20070907T193814

Piece Name: D:\ORACLE\ORADATA\BACKUP\03IRC6P6_1_1

List of Datafiles in backup set 3

File LV Type Ckp SCN Ckp Time Name


1 Full 360352 07-SEP-2007 19:38:14 D:\ORACLE\ORADATA\(dbname)\SYSTEM01.DBF

2 Full 360352 07-SEP-2007 19:38:14 D:\ORACLE\ORADATA\(dbname)\UNDOTBS01.DBF

3 Full 360352 07-SEP-2007 19:38:14 D:\ORACLE\ORADATA\(dbname)\SYSAUX01.DBF

  • However the restore fails with following error:

RMAN> restore datafile 1;

Starting restore at 07-SEP-2007 20:38:21

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=46 devtype=DISK

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of restore command at 09/07/2007 20:38:22

RMAN-06026: some targets not found - aborting restore

RMAN-06023: no backup or copy of datafile 1 found to restore

OR, with following errors when looking for other backups:

(In case other previous backups exist for this database but we are interested in restoring from the latest backup with BackupSet Key# 3)

ORA-19870: error reading backup piece D:\ORACLE\ORADATA\BACKUP\01IRC6C4_1_1

ORA-19505: failed to identify file "D:\ORACLE\ORADATA\BACKUP\01IRC6C4_1_1"

ORA-27041: unable to open file

OSD-04002: unable to open file

OR

RMAN-06026: some targets not found - aborting restore

RMAN-06100: no channel to restore a backup or copy of datafile 1

Or, with below errors after no backup is found and RMAN tries to create the datafile:

creating datafile fno=1 name=+DATA/<dbname>/datafile/system.288.585590761

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of restore command at 03/21/2006 21:41:34

ORA-01180: can not create datafile 1

ORA-01110: data file 1: '+DATA/<dbname>/datafile/system.288.585590761'

  • We have verified that the backupset 3 is available and accessible:

RMAN> crosscheck backupset 3;

using channel ORA_DISK_1

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=D:\ORACLE\ORADATA\BACKUP\03IRC6P6_1_1 recid=3 stamp=632691494

Crosschecked 1 objects

  • Also the backup exists on DISK and the allocated default channel is of type DISK so there is no mismatch of allocated and required channel type.

  • The checkpoint SCN of datafile 1 in backupset 3 i.e. 360352, seems to belong to the current incarnation (Reset SCN=360002) so there is no mismatch in the incarnation as well:

RMAN> list incarnation of database;

List of Database Incarnations

DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time


1 1 (dbname) 3944965565 PARENT 289857 19-AUG-2007 22:31:27

2 2 (dbname) 3944965565 CURRENT 360002 07-SEP-2007 19:44:56

Solution

Restore a control file from the previous incarnation in which the changes represented in the orphan backup has not been abandoned

OR

Reset the database incarnation in current controlfile to the previous one and perform the restore:

RMAN> list incarnation of database;

List of Database Incarnations

DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time


1 1 (dbname) 3944965565 PARENT 289857 19-AUG-2007 22:31:27

2 2 (dbname) 3944965565 CURRENT 360002 07-SEP-2007 19:44:56

RMAN> reset database to incarnation 1;

database reset to incarnation 1

RMAN> restore datafile 1;

Starting restore at 07-SEP-2007 21:23:55

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=46 devtype=DISK

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to D:\ORACLE\ORADATA\(dbname)\SYSTEM01.DBF

channel ORA_DISK_1: reading from backup piece D:\ORACLE\ORADATA\BACKUP\03IRC6P6_1_1

channel ORA_DISK_1: restored backup piece 1

piece handle=D:\ORACLE\ORADATA\BACKUP\03IRC6P6_1_1 tag=TAG20070907T193814

channel ORA_DISK_1: restore complete, elapsed time: 00:00:36

Finished restore at 07-SEP-2007 21:24:32


Attachments :

Cause

Run the restore session with debug enabled by using:

C:\>rman target / log=rmanLog.txt trace=rmanTrace.txt

RMAN> debug on;

RMAN> restore datafile 1;

RMAN> debug off;

RMAN> exit;

rmanLog.txt

===========

RMAN-03090: Starting restore at 07-SEP-2007 21:07:14

RMAN-06009: using target database control file instead of recovery catalog

RMAN-08030: allocated channel: ORA_DISK_1

RMAN-08500: channel ORA_DISK_1: sid=49 devtype=DISK

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of restore command at 09/07/2007 21:08:34

RMAN-06026: some targets not found - aborting restore

RMAN-06023: no backup or copy of datafile 1 found to restore

Search the debug trace file for Checkpoint SCN: "360352" of datafile #1 in backupset #3 and/or

search for "orphan branch":

rmanTrace.txt

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

...

DBGRCVMAN: CheckRecAction called 08/19/07 22:31:27; rlgscn=289857

DBGRCVMAN: CheckRecAction: inc=1,toscn=360352exceeds 360002

DBGRCVMAN: CheckRecAction:belongs to orphan branch of this incarnation:

The debug trace reveals that the backupset 3 belongs to an ORPHAN branch of previous incarnation. Please refer the documentation for more information on Orphan backups and incarnations:

Oracle Database Backup and Recovery Basics 10g Release 2 (10.2)
7.6.2.3 Database Incarnations and Orphaned Backups

This problem usually occurs when restoring on a new instance with FRA configured. When restoring database using a backup controlfile, RMAN automatically catalogs all archives inside the FRA. If there are left over archives, they can add incarnation branches to the restored controlfile causing this issue.

If this is the case, you may consider cleaning up the FRA before starting restore/recover process.

相关推荐
一个天蝎座 白勺 程序猿1 天前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
腾科IT教育3 天前
Oracle考试全解析:OCP、OCM认证体系与核心考点备考指南
数据库·oracle·开闭原则
木棉软糖4 天前
5 步确认 TiDB 历史抽数的 Logstash 有没有真的写进 ES
elasticsearch·oracle·tidb
千桐科技5 天前
qKnow智能体构建平台专业版 v3.1.5 发布:扩容工作流编排调用能力,上线Text2SQL插件,拓宽数据类智能应用构建边界
服务器·数据库·oracle·qknow
宇灬宇5 天前
oracle直方图测试
数据库·oracle
江湖中的阿龙6 天前
Oracle 紧急安全警报:Java 9.1 分漏洞 CVE-2026-91403,撤销对 eMudhra 风险证书的信任
java·安全·oracle
杨云龙UP6 天前
Oracle 同义词(SYNONYM)详解及 Toad for Oracle SQL 智能补全配置实战
运维·数据库·sql·oracle·同义词·toad·toad for oracle
loulanyue_6 天前
AI Agent记忆从不是向量库:Oracle拆解读写分离与记忆晋升门,终结无脑存聊天的伪智能——读Wojtek Pluta演讲
数据库·人工智能·oracle
我要见SA姐17 天前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归