如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]
本文适用于8i, 9i, 10g, 11g Releases
问题描述:
====================
你需要将数据库还原到一个时间点,但被使用的备份是在最后的resetlog之前的。
问题是当使用resetlogs打开数据库时,数据库的incarnation 也被重置且RMAN 在Recovery Catalog 中保存数据库的incarnation的记录。
问题说明:
====================
当我们进行时间点恢复并使用重置日志resetlogs打开数据库时,我们还需要告诉RMAN我们正在重置数据库的incarnationincarnation。 因此,使用RESET DATABASE命令指示RMAN在恢复目录中创建一个新的数据库incarnation记录。这个新的incarnation记录表示当前的incarnation。 RMAN会将目标数据库完成的所有后续备份和日志归档与新数据库的incarnation进行关联。
如果我们想将数据库还原到最后resetlog之前的一个时间点,我们需要告诉RMAN我们目前的incarnation需要被重置为旧的。
问题参考:
===================
ORACLE8i BACKUP AND RECOVERY GUIDE
搜索词:
=============
RESET INCARNATION RECOVER RESETLOGS
解决方案描述:
=====================
在我们能从最后resetlog之前的备份中还原之前,我们要重置数据库到旧的incarnation号。
以下是重置正确的incarnation并将数据库还原到最后resetlog之前的时间点的步骤。
注:目标数据库应被nomounted。
1. 启动RMAN 并仅连接到目录数据库catalog database。
% rman catalog rman/rman@rcat
2. 执行命令,在恢复目录中列出数据库的所有incarnation 值。
RMAN> list incarnation;
数据库Incarnation列表
DB键 Inc键 DB名 DB ID CUR 重置 SCN 重置时间
——- ——- ——– —————- — ———- ———-
1 2 R815 579966833 NO 1 03-MAY-99
224 225 R815 579966833 YES 92402 05-MAY-99
我们可以看到,其中一个数据库已经使用RESETLOG被打开,且一个新incarnation被启动(DBID579966833)。我们应该查看列DATABASE INC键。可以看到数据库原来的incarnation是2,被重置为当前的incarnation225。2是必须被设置的数据库incarnation,以便从最后重置日志之前的备份中还原。
3. 我们首先需要告诉RMAN 我们将要处理哪个数据库ID,所以执行以下命令:
RMAN> Set dbid 579966833;
4. 现在我们需要连接到目标实例来验证数据库ID。
RMAN> connect target
RMAN-06005: connected to target database: R815 (DBID=579966833)
5. 由于我们同时连接到恢复目录和目标数据库,我们要告诉RMAN 将数据库incarnation 重置为2。
通过以下命令执行:
RMAN> reset database to incarnation 2;
现在我们可以看到当前的incarnation被设回2。
RMAN> list incarnation;
数据库Incarnation列表
DB键 Inc键 DB名 DB ID CUR 重置SCN 重置时间
——- ——- ——– —————- — ———- ———-
1 2 R815 579966833 YES 1 03-MAY-99
224 225 R815 579966833 NO 92402 05-MAY-99
6. 重置数据库后,发出还原和恢复命令从之前的incarnation中还原并恢复数据库文件,然后使用RESETLOGS选项打开数据库。你需要在数据库处于NOMOUNT状态,从还原之前的incarnation控制文件开始。当数据库被重置到之前的incarnation,目录会自动选择正确的控制文件。在还原控制文件后,数据库必须被mount来进行数据文件的还原。
运行 {
set until time ‘Jul 8 1999 07:55:00’; # set time to just before data was lost
allocate channel dev1 type disk;
shutdown abort;
startup nomount;
restore controlfile;
alter database mount; # mount database after restoring control file
restore database;
recover database;
alter database open resetlogs; # this command automatically resets the database
# so that this incarnation is the new incarnation
}
解决方案说明:
=====================
一旦我们将数据库设为之前的incarnation,RMAN会允许使用最后resetlogs之前的备份来还原并恢复数据库。
解决方案参考:
====================
Oracle8i Recovery Manager User’s Guide, Release 1 (8.1.6) – Part No. A76990-01
Oracle9i Recovery Manager User’s Guide, Release 1 (9.0.1) – Part No. A9013
对于10g, 11g 与 Incarnation 和FRA ( Fast/Flash Recovery Area )相关的问题,参见 (Doc ID 965122.1) RMAN RESTORE FAILS WITH RMAN-06023 BUT THERE ARE BACKUPS AVAILABLE
参考
NOTE:965122.1 – RMAN RESTORE FAILS WITH RMAN-06023 ALTHOUGH BACKUPS ARE AVAILABLE
Leave a Reply