设为首页 加入收藏

TOP

Oracle学习(十三):闪回(三)
2015-07-24 12:07:35 来源: 作者: 【 】 浏览:62
Tags:Oracle 学习 十三 闪回
MPINCOME TABLE VIEW1 VIEW TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- VIEW2 VIEW HREMP SYNONYM MSG1 TABLE BIN$UhseqyX1Reyl5iurpupyEg==$0 TABLE PM_CI TABLE PM_STU TABLE FLASHBACK_TABLE TABLE SYS_TEMP_FBT TABLE 已选择19行。 SQL> select * from BIN$UhseqyX1Reyl5iurpupyEg==$0; select * from BIN$UhseqyX1Reyl5iurpupyEg==$0 * 第 1 行出现错误: ORA-00933: SQL 命令未正确结束 SQL> select * from "BIN$UhseqyX1Reyl5iurpupyEg==$0"; TID TNAME ---------- -------------------- 3 aaa 4 aaa 5 aaa 8 aaa SQL> host cls SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- TESTSEQ BIN$UhseqyX1Reyl5iurpupyEg==$0 TABLE 2012-10-25:10:47:38 SQL> --执行闪回删除 SQL> flashback table testseq to before drop; 闪回完成。 SQL> show recyclebin SQL> select * from testseq; TID TNAME ---------- -------------------- 3 aaa 4 aaa 5 aaa 8 aaa SQL> host cls SQL> drop table testseq; 表已删除。 SQL> create table testseq(tid number); 表已创建。 SQL> drop table testseq; 表已删除。 SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- TESTSEQ BIN$ZsXHtmHLTLu40DAC6jiKqg==$0 TABLE 2012-10-25:10:51:22 TESTSEQ BIN$hBllsvl5Tum9hHaSvtQhag==$0 TABLE 2012-10-25:10:51:01 SQL> flashback table testseq to before drop; 闪回完成。 SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- TESTSEQ BIN$hBllsvl5Tum9hHaSvtQhag==$0 TABLE 2012-10-25:10:51:01 SQL> select * from testseq; 未选定行 SQL> flashback table testseq to before drop; flashback table testseq to before drop * 第 1 行出现错误: ORA-38312: 原始名称已被现有对象使用 SQL> --闪回重名的表 SQL> flashback table testseq to before drop rename to testseq_old; 闪回完成。 SQL> select * from testseq_old; TID TNAME ---------- -------------------- 3 aaa 4 aaa 5 aaa 8 aaa SQL> host cls SQL> /* SQL> 小结: SQL> 基本概念: 1. SCN 2. 900秒 3. 权限 flashback any tables SQL> 闪回表:将表回退到过去的一个时间 SQL> 1. 行移动 SQL> 2. 执行闪回表 SQL> 注意: 系统表不能闪回;不能跨越DDL SQL> 问题: 如何得到离该操作最近的一个时间?? SQL> 闪回删除: Oracle的回收站 SQL> 1. 执行闪回删除 SQL> 2. 通过回收站中的名字闪回(双引号) SQL> 3. 重名的表 SQL> 4. 触发器(disable) SQL> */ SQL> host cls SQL> --闪回版本查询 SQL> create table versions_table 2 (tid number,tname varchar2(20)); 表已创建。 SQL> insert into versions_table values(1.'Tom'); insert into versions_table values(1.'Tom') * 第 1 行出现错误: ORA-00917: 缺失逗号 SQL> insert into versions_table values(1,'Tom'); 已创建 1 行。 SQL> commit; 提交完成。 SQL> insert into versions_table values(2,'Mary'); 已创建 1 行。 SQL> commit; 提交完成。 SQL> insert into versions_table values(3,'Mike'); 已创建 1 行。 SQL> commit; 提交完成。 SQL> update versions_table set tname='MaryNew' where tid=2; 已更新 1 行。 SQL> commit; 提交完成。 SQL> select * from versions_table; TID TNAME ---------- -------------------- 1 Tom 2 MaryNew 3 Mike SQL> --如何查询Mary? SQL> --执行闪回版本查询 SQL> select tid,tname 2 from versions_table 3 versions between TIMESTAMP MINVALUE and MAXVALUE 4 order by 1; TID TNAME ---------- -----------
首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle性能优化操作一:避免对列.. 下一篇ORACLE11GDataGuard角色转换

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: