闪回和数据库时间点恢复场景
这部分描述了“使用闪回数据库来回退数据库”和“执行数据时间点恢复”这个基本场景的变种。
使用闪回数据库回退OPEN RESETLOGS操作
使用闪回数据库回退不希望的ALTER DATABASE OPEN RESETLOGS语句类似于“执行闪回数据库操作”。
不是为FLASHBACK DATABASE命令指定了特定的SCN或时间点,
而是使用FLASHBACK DATABASE TO BEFORE RESETLOGS。
练习:撤销OPEN RESETLOGS操作的影响
--1. 连接SQL*Plus到目标数据库并确定闪回窗口的开始要比最近的OPEN RESETLOGS时间要早 SELECT RESETLOGS_CHANGE# FROM V$DATABASE; SELECT OLDEST_FLASHBACK_SCN FROM V$FLASHBACK_DATABASE_LOG; --如果V$DATABASE.RESETLOGS_CHANGE# > V$FLASHBACK_DATABASE_LOG.OLDEST_FLASHBACK_SCN,则可以使用闪回数据库来回退OPEN RESETLOGS的操作 --2. 关闭数据库, MOUNT数据库, 重新检查闪回窗口,如果resetlogs的SCN仍然在闪回窗口中,则继续后面的步骤 --3. 连接RMAN到目标数据库,并闪回紧接在RESETLOGS之前的SCN FLASHBACK DATABASE TO BEFORE RESETLOGS; --和其它的FLASHBACK DATABASE使用一样,如果目标SCN在闪回数据库窗口开始之前,会返回一个错误,数据库不会被修改。 --如果闪回成功执行,则保持数据库在MOUNT状态,并恢复到前一个incarnation中的OPEN RESETLOGS之前的最近的SCN --4. 以只读的方式打开数据库,根据需要执行一些查询,确保逻辑损坏的影响已经被回退。 ALTER DATABASE OPEN READ ONLY; --5. 使数据库可以被更新 SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE OPEN RESETLOGS; |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1097344/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1097344/