ITPub博客

首页 > 数据库 > Oracle > Backup And Recovery User's Guide-回退数据库到抛弃的incarnation中的SCN

Backup And Recovery User's Guide-回退数据库到抛弃的incarnation中的SCN

原创 Oracle 作者:luisedalian 时间:2014-02-28 21:14:03 0 删除 编辑

回退数据库到抛弃的incarnation中的SCN

闪回数据库或带有OPEN RESETLOGS的DBPITR,使数据库返回到之前的SCN,并抛弃了在这点之后的改变。

因为在这个点之后的SCN可以是被抛弃的改变,也可以是数据库当前历史中改变。

因此在FLASHBACK DATABASE中指定的目标SCN可能是模棱两可的。                      

 

与SCN不同,时间表达式和还原点不是模棱两可的。

时间点表达式总是与那个时间当前的incarnation相关。

还原点总是与它被创建时incarnation相关。

这一点总是正确的,即使对于与被抛弃的incarnation相关的时间和还原点也是一样。

数据库的incarnation自动地被重置为在指定的时间或还原点被创建时的incarnation

 

你可能想使用闪回数据库来使数据库回退到父incarnation中的SCN,而这个SCN要比RESETLOGS SCN要晚。

在RESETLOGS SCN处当前的incarnation路径从旧的incarnation分枝出来。

这个图说明了在incarnation分枝中SCN是如何产生的,甚至是在OPEN RESETLOGS创建新的incarnation之后。

数据库在incarnation 3中的SCN 3000,这里需要回退到被抛弃的incarnation 1中的SCN 1500。

 

如果想回退到的SCN在直接祖先路径中,或你想回退数据库到一个还原点,不需要显式的RESET DATABASE。

但如果需要使用闪回数据库来回退数据库到一个被抛弃的incarnation中的还原点,则需要显式的RESET DATABASE。

练习:回退数据库到被抛弃的incarnation分枝(闪回日志备份,luise)

--1. 使用SQL*Plus连接到目标数据库,并确定闪回日志包含足够的信息来闪回到指定的SCN

SELECT OLDEST_FLASHBACK_SCN FROM V$FLASHBACK_DATABASE_LOG;

--2. 确定闪回数据库操作的目标incarnation号,即父incarnation的incarnation key

SELECT PRIOR_INCARNATION# FROM V$DATABASE_INCARNATION WHERE  STATUS = 'CURRENT';

--3. 启动RMAN连接到目标数据库

--4. 关闭数据库,然后MOUNT

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

--5. 设置数据库的incarnation为父incarnation. 这里回退到incarnation1

RESET DATABASE TO INCARNATION 1;

--6. 执行FLASHBACK DATABASE命令,指定目标SCN

FLASHBACK DATABASE TO SCN 1500;

--7. 以只读的方式打开数据库,根据需要执行一些查询,确保逻辑损坏的影响已经被回退。

ALTER DATABASE OPEN READ ONLY;

--8. 使数据库可以被更新

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE OPEN RESETLOGS

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

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    6043802