Oracle 10g Flashback 技术小结 (3)

//================================================================
//Flashback database to undo an resetlogs operation.
//================================================================

Before performing the flashback, verify that the beginning of the flashback window is earlier than the time of the most recent OPEN RESETLOGS.


SQL> select resetlogs_change# from v$database;

RESETLOGS_CHANGE#
-----------------
        294577914
       
SQL> select oldest_flashback_scn from v$flashback_database_log;

OLDEST_FLASHBACK_SCN
--------------------
           294410743
          
RESETLOGS_CHANGE#   > (Larger than)  OLDEST_FLASHBACK_SCN, then

Shut down the database, mount it, and re-check the flashback window. If the resetlogs SCN is still within the flashback window, then use this form. of the FLASHBACK DATABASE command:

SQL>  select resetlogs_change# from v$database;

RESETLOGS_CHANGE#
-----------------
        294577914

SQL> select oldest_flashback_scn from v$flashback_database_log;

OLDEST_FLASHBACK_SCN
--------------------
           294410743
          
Ok, let's do it!

RMAN> FLASHBACK DATABASE TO BEFORE RESETLOGS;

Starting flashback at 2008-04-29 14:02:21
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=154 devtype=DISK


starting media recovery
media recovery complete, elapsed time: 00:00:03

Finished flashback at 2008-04-29 14:02:25

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       ORA10GBR 2847344337       PARENT  1          2008-04-17 10:13:37
2       2       ORA10GBR 2847344337       CURRENT 294577914  2008-04-29 13:49:47


SQL> select current_scn from v$database;

CURRENT_SCN
-----------
  294577912

SQL> select ora_rowscn, name from flashbackdb;

ORA_ROWSCN NAME
---------- --------------------
 294577745 Beijing
 294577745 Shanghai
 294577745 Hangzhou
 
 
 //没有理解undo resetlogs到底起了什么作用033.gif...(以上信息察看在read only状态下进行)

 
 
最后要打开还得open resetlogs,形成了以下的状态:


SQL> select INCARNATION#, STATUS, PRIOR_INCARNATION# from  v$database_incarnation;

INCARNATION# STATUS  PRIOR_INCARNATION#
------------ ------- ------------------
           1 PARENT                   0
           2 ORPHAN                   1
           3 CURRENT                  1
          
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       ORA10GBR 2847344337       PARENT  1          2008-04-17 10:13:37
3       3       ORA10GBR 2847344337       CURRENT 294577914  2008-04-29 14:08:10
2       2       ORA10GBR 2847344337       ORPHAN  294577914  2008-04-29 13:49:47


终于见识了orphan incarnation了...原来孤儿是这么来的~~~从select结果可以看出,incarnation 2 and incarnation 3有同一个parent(Sibling incarnation), 即incarnation 1.

//=============================================================
//Flashback database to a previous incarnation.
//=============================================================

//Flashback Database To The Right of Open Resetlogs: Example

1. Verify that the flashback logs contain enough information to flash back to that
SCN:

sql> select oldest_flashback_scn from v$flashback_database_log;

2. Determine the target incarnation number for the flashback, that is, the incarnation
key for the parent incarnation:

SQL> select prior_incarnation# from v$database_incarnation where status = 'CURRENT';

3. In RMAN, shut down the database, then mount it:

RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT;

4. Set the database incarnation to the parent incarnation:

RMAN> RESET DATABASE TO INCARNATION 1;

5. Run the FLASHBACK DATABASE command:

RMAN> FLASHBACK DATABASE TO SCN 1500;

Once the flashback is complete, you can verify the results, and if successful, open the
database with RESETLOGS.

这个实验没有自己动手做,原因是第一步的时候结果为:

SQL> select oldest_flashback_scn from v$flashback_database_log;

no rows selected

无语了,先记在这,以后有机会来尝试一下。

Conclusion: 关于Oracle 10G Flashback就先总结这么多了,大部分内容都动手做了实验,有了直观的感受。有效部分内容由于种种原因,没有实验,不过也把思路纪录下来了,以后回过头来看的时候也有个系统的思路。Backup and Recovery,任重而道远啊027.gif

[The End]

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9765498/viewspace-259931/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9765498/viewspace-259931/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值