现在的位置: 首页 > 综合 > 正文

CREATE RESTORE POINT

2018年04月28日 ⁄ 综合 ⁄ 共 1851字 ⁄ 字号 评论关闭

目的
  使用"create restore point"语句可以创建一个还原点,它和数据库的SCN有关联(相当于创建还原点时的时间),还原点
可以闪回表或数据库到你创建还原点的那个时间点而无需指定SCN或timestamp.
  还原点(restore point)有两中类型:
  •Guaranteed restore points(保证还原点):
       保证还原点可以确保你闪回数据库到某个还原点(不需要管DB_FLASHBACK_RETENTION_TARGET
    初始化设置参数)。guaranteed能力的大小依赖于闪回存储回复区中可用空间的大小.
       Guaranteed restore points 只能保持数据库为了闪回数据库到某个还原点而准备充足的闪回日志。
    它不能保证数据库可以的足够的撤销空间来闪回某个表到相同的还原点。
       Guaranteed restore points 必须通过"drop restore pont"语句来删除。Guaranteed restore points 需使用闪回恢复区域中
    相当大的空间 。因此Oracle建议:创建guaranteed  restore points 需仔细考虑后再做决定。
   •Normal restore points(正常还原点):
        Normal restore points 可以闪回数据库到一个还原点( DB_FLASHBACK_RETENTION_TARGET 初始化参数里设置的时间),数据库
     会自动管理Normal restore points。当设置的还原点到达最大限度时,数据库会依据restore_point的规则描述来删除最旧的还原点,当然你也可以使用"RESTORE POINT"语句来手动删除一个Normal Restore Point

   你可以在主数据库或备用数据库上创建以上任意一种类型的还原点。创建还原点的数据库可以是open或mounte但不能是开放的。如果
数据库的状态是mount,那么它在mount之前必须是被干净的关闭(这样的数据库可以做一致备份,否则只能做不一致备份),除非它是
一个物理备份数据库。
先决条件
    要想创建一个normal的还原点,你必须有select any dictionary 或者 flashback any table 权限。创建gurarnteed还原点你必须
  具有DBA的权限。要想查看或者使用还原点,你必须得使用具有SELECT ANY DICTIONARY or FLASHBACK ANY TABLE system privilege or  SELECT_CATALOG 特权的角色。
    你必需在创建guaranteed还原点之前创建好闪回恢复区域。你在你创建还原点之前你不需要flashback database ,因此在flashback
  database不是enable的数据库上第一次创建还原点时,此数据库的状态必须得是mount状态。如要要创建guarantee还原点,数据库必须得是在归档模式下

 语法
   CREATE RESTORE POINT restore_point
      [ GUARANTEE FLASHBACK DATABASE ];
 例子
    创建和使用还原点:
       下面的例子创建了一个normal还原点,更新表然后把表闪回到创建还原点是的状态。假设这个用户具有很大的系统权限而正好能够
    执行下面的每条语句:

 

    原文链接:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_6011.htm#BABGAFFE

【上篇】
【下篇】

抱歉!评论已关闭.