orcale11g中文版学完本课后应能完成以下工作_第1页
orcale11g中文版学完本课后应能完成以下工作_第2页
orcale11g中文版学完本课后应能完成以下工作_第3页
orcale11g中文版学完本课后应能完成以下工作_第4页
orcale11g中文版学完本课后应能完成以下工作_第5页
免费预览已结束,剩余33页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用闪回技术 课程目标 学完本课后,应能完成以下工作: 查询回收站 从回收站还原删除的表 执行闪回查询 使用闪回版本查询 使用闪回事务处理查询 使用闪回事务处理 闪回技术 对象级别 方案示例 闪回技术 依赖的对象 影响数据 数据库 截断表;发生了意外多表更改事件 数据库 闪回日志 是 表 删除表 删除 回收站 是 使用了错误的 WHERE 子句进行更新 表 还原数据 是 将当前数据与过去数据进行比较 查询 还原数据 否 比较行版本 版本 还原数据 否 保留历史事务处理数据 数据归档 还原数据 是 事务处理 调查并回退可疑事务处理 事务处理 来自归档日志的还原/重做数据 是 闪回删除的对象和回收

2、站 DROP TABLE employees; FLASHBACK TABLEemployeesTO BEFORE DROP; 产生错误RECYCLEBIN=ON回收站 321DROP TABLE employees; BIN$zbjra9wy=$0 EMPLOYEES_PK EMPLOYEES 回收站 DBA_FREE_SPACEBIN$zbjrBdpw=$0 BIN$zbjrBdpw=$0 EMPLOYEESBIN$zbjra9wy=$0 EMPLOYEES_PK 4对象包括: 已重命名的 未移动的 从回收站还原表 还原删除的表和相关对象。 如果多个回收站条目具有相同原始名称,则: 使用系

3、统生成的唯一名称来还原特定版本 使用原始名称时,还原的表遵循后进先出 (LIFO) 的规则 重命名原始名称(如果当前正在使用该名称)。FLASHBACK TABLE TO BEFORE DROP RENAME TO ; 回收站:自动回收空间BIN$zbjrBdpw=$0BIN$zbjra9wy=$0 BIN$zbjra9wy=$0BIN$zbjrBdpw=$0123回收站 DBA_FREE_SPACE - RECYCLEBIN自动扩展 回收站:手动回收空间 PURGE TABLE |INDEX PURGE TABLESPACE USER PURGE USER_|DBA_RECYCLEBIN 不

4、使用回收站 DROP TABLESPACE INCLUDING CONTENTS ; DROP USER CASCADE ; DROP TABLE PURGE ; 查询回收站 SELECT owner, original_name, object_name, type, ts_name, droptime, related, space FROM dba_recyclebin WHERE can_undrop = YES; SQL SELECT original_name, object_name, ts_name, droptime FROM user_recyclebin WHERE ca

5、n_undrop = YES; ORIGINAL_NAME OBJECT_NAME TS_NAM DROPTIME - - - - EMPLOYEES2 BIN$NE4Rk64w.gbpQ=$0 USERS 2007-07-02:15:45:13 SQL SHOW RECYCLEBIN 事务处理和还原 还原存储在还原表空间中的“旧”数据DML 操作缓冲区高速缓存中的原始数据保证还原保留时间 生成的还原数据多于可用空间时事务处理会失败。运行时间不超过 15 分钟的 SELECT 语句始终可以得到满意的结果。 在还原表空间中还原数据 保留时间保证:15 分钟 准备数据库以进行闪回 创建还原表空间

6、启用自动还原管理 指定还原保留时间和保证还原保留时间 默认的数据库初始化参数: UNDO_MANAGEMENT=AUTO UNDO_TABLESPACE=UNDOTBS1 UNDO_RETENTION=900 使用闪回技术查询数据 闪回查询 查询指定时间点的所有数据。 闪回版本查询 查看两个时间点之间行的所有版本。 查看更改行的事务处理。 闪回事务处理查询 查看事务处理所做的所有更改。 Tx3 Tx1 Tx2 时间 闪回 闪回查询 T1 T2 SELECT employee_id, salary FROM employees AS OF TIMESTAMP WHERE employee_id

7、= 200 employees employees 不需要的更新 用于查询指定时间点的所有数据。 闪回查询:示例 11:00 11:10 UPDATE employees SET salary = (SELECT salary FROM employees AS OF TIMESTAMP TO_TIMESTAMP (2005-05-04 11:00:00, yyyy-mm-dd hh24:mi:ss) WHERE employee_id = 200) WHERE employee_id = 200 employees employees salary = 4,400 employees sal

8、ary = 4,400salary = 4,840 闪回版本查询 t1 t2 Tx1 Tx2 SELECT versions_xid, salary FROM employees VERSIONS BETWEEN TIMESTAMP and WHERE employee_id = 200; Tx0 Tx0 Tx1 Tx2 employees employees employees 200 使用 Oracle Enterprise Manager 执行闪回版本查询 闪回版本查询:注意事项不能使用 VERSIONS 子句查询: 外部表 临时表 固定表 视图 VERSIONS 子句不能跨 DDL 命

9、令使用。 段收缩操作已过滤掉。 闪回事务处理查询 还原 SQL FLASHBACK_TRANSACTION_QUERY DBA 用户错误的 DML 使用 Oracle Enterprise Manager 执行闪回事务处理查询 闪回事务处理查询:注意事项 DDL 命令被视为字典更新。 通过执行 DDL 命令对事务处理执行闪回事务处理查询时,会显示对数据字典所做的更改。 删除的对象显示为对象编号。 删除的用户显示为用户标识符。 闪回事务处理 建立闪回事务处理的先决条件 逐步完成可能的工作流 使用闪回事务处理向导 查询有相关性及没有相关性的事务处理 选择回退选项和闪回事务处理 检查结果 先决条件

10、闪回事务处理 可使用 Oracle Enterprise Manager 或命令行闪回事务处理。 EM 使用闪回事务处理向导,该向导调用带 NOCASCADE 选项的 DBMS_FLASHBACK.TRANSACTION_BACKOUT 过程。 如果 PL/SQL 调用成功完成,即意味着事务处理不具有任何相关性,并且已成功回退单个事务处理。 可能的工作流 查看表中的数据 发现逻辑问题 使用闪回事务处理 执行查询 选择事务处理 闪回事务处理(如果没有冲突) 选择其它回退选项(如果存在冲突) 查看闪回事务处理结果 查看数据 闪回事务处理向导 闪回事务处理向导 闪回事务处理向导 21闪回事务处理向导 选择其它回退选项 选择其它回退选项 最后步骤(不使用 EM) 选择回退选项后,会在 DBA_FLASHBACK_TXN_STATE 和 DBA_FLASHBACK_TXN_REPORT 视图中生成相关性报

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论