博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DBA1 第九章:管理还原数据

Posted on 2011-09-06 20:51  little健健  阅读(322)  评论(0编辑  收藏  举报

数据操纵

  • DML
    • INSERT
    • UPDATE
    • DELETE
    • MERGE
  • DML 始终作为事务处理的一部分执行
    • 回退(ROLLBACK)
    • 提交(COMMIT)

还原数据

  • 原始的、修改之前的数据副本
  • 针对更改数据的每个事务处理捕获的数据
  • 至少保留到事务处理结束
  • 用于支持:
    • 回退操作
    • 读取一致性查询:提供与查询开始时的数据一致的结果。
    • 闪回查询:用来查找过去某个时间存在的某个版本的数据
    • 从失败的事务处理中恢复

事务处理和还原数据

  • 每个事务处理只分配给一个还原段。
  • 一个还原段可以同时服务于多个事务处理。
  • 通过查看 v$transaction 动态性能视图,可以查看哪些事务处理被分配到哪些还原段。

存储还原信息

  • 还原信息存储在还原段中,还原段又存储在还原表空间中。
  • 还原表空间(永久的、本地管理,只有在mount状态下才能还原)
    • 一次只能有一个还原表空间可写入
    • 还原段由SYS用户所有,至少包含两个区
    • 仅用于还原段
    • 包含特殊的恢复注意事项
    • 只能与单个实例相关联

还原数据与重做数据



监视还原和管理还原

  • 还原表空间中的空闲空间 (原数据太大,空间不够)
    • 正确调整还原表空间的大小。
    • 确保定期提交大型事务处理。
  • “快照太旧”错误(ORA-01555)
    • 配置适当的还原保留期间隔。
    • 正确调整还原表空间的大小。
    • 考虑确保还原保留期。
  • 使用自动还原管理
    • UNDO_MANAGEMENT=AUTO
    • UNDO_TABLESPACE=UNDOTBS1

配置还原保留期

  • UNDO_RETENTION 指定要将已提交的还原信息保留多长时间(秒数)。
    • 还原表空间启用了 AUTOEXTEND 选项
      • 若是AUTOEXTEND 还原表空间,系统至少将还原数据保留到这个参数指定的时间,并自动调整还原保留期以满足查询的还原要求。
      • 若是固定大小的还原表空间,系统根据还原表空间大小和使用历史记录,自动调整可能的最大还原保留期;系统会忽略UNDO_RETENTION,除非启用了保留期确保
    • 要设置 LOB 的还原保留期
    • 要确保保留期

确保还原保留期

  • 确保了保留期后,即使会导致事务处理失败,仍会强制实施还原保留期设置。
  • SQL> ALTER TABLESPACE undotbs1 RETENTION GUARANTEE; 

用EM来管理还原表空间及还原指导

  • “Administration(管理)”页上的“Undo Management(还原管理)”
  • 通过“Undo Management(还原管理)”属性页访问还原指导