10G 中的FLASHBACK TABLE 和FLASHBACK DROP

简介: (学习笔记) 在10G众多的特性中我觉得这两个特性是相当有用的。比如很多时候我们会遇到用户误删除了一个表或者一个表中的某些记录,这个时候这两个特性中的其中一个就可以用来完成这样的工作。

(学习笔记)

在10G众多的特性中我觉得这两个特性是相当有用的。比如很多时候我们会遇到用户误删除了一个表或者一个表中的某些记录,这个时候这两个特性中的其中一个就可以用来完成这样的工作。在这里就FLASHBACK TABLE 进行试验证明,而FLASHBACK DROP给出概念。

FLASHBACK TABLE 可以让人们当误删除表中记录的时候恢复到指定时间点,它使用的是UNDO信息,所以时间不能太长,毕竟UNDO是会被重用的。另外在表中ROWID用来唯一标示一行记录,所以在FLASHBACK的时候ROWID可能会发生变化,所以必须开启行的移动功能。下面是试验:

SQL> select * from con2;

IM
----------------------------------------
3
3
3
3
3

SQL> delete con2;

5 rows deleted

SQL> commit;

Commit complete

SQL> select * from con2;

IM
----------------------------------------

17分钟后 我们发现了记录被误删

SQL> alter table con2 enable row movement;

Table altered
SQL> select * from con2;

IM
----------------------------------------

我们不确定到底何时删除 先回复到5分钟前

SQL> flashback table con2 to timestamp systimestamp- interval '5' minute;

Done

SQL> select * from con2;

IM
----------------------------------------

没有记录,然后恢复到20分钟前

SQL> flashback table con2 to timestamp systimestamp- interval '20' minute;

Done

SQL> select * from con2;

IM
----------------------------------------
3
3
3
3
3

 

OK记录回来了。

FLASHBACK DROP是当人们误使用DROP命令删除对象的时候使用的,它使用的一个叫做回收站的的逻辑结构进行的,每一个表空间都有回收站(recycle bin)

这里只给出概念啦。。具体大家自己去看哈。。

相关文章
|
4月前
|
关系型数据库 数据库 PostgreSQL
在 Postgres 中使用 Alter Table
【8月更文挑战第11天】
134 0
在 Postgres 中使用 Alter Table
|
4月前
|
SQL 安全 关系型数据库
在 Postgres 中使用 Drop Database
【8月更文挑战第11天】
66 0
在 Postgres 中使用 Drop Database
|
5月前
|
SQL Oracle 关系型数据库
ALTER TABLE
【7月更文挑战第19天】ALTER TABLE 。
64 5
|
5月前
|
存储 数据库
DROP DATABASE 语句
【7月更文挑战第20天】DROP DATABASE 语句。
69 3
ALTER TABLE
本文主要介绍如何对表相关的Sequence类型进行修改。
|
关系型数据库 MySQL
truncate table 和 drop table 的一点坑
网上一搜这个关键字,得到的结果大多都是delete、truncate、drop之间的区别 但是今天我们要讲的内容,是我们在生产环境中遇到的真实案例 互联网公司一般对大表,都会采用分区表或者物理分表吧,这里主要描述的是分表的删除过程中的问题 案例一 环境MySQL5.
4067 0
|
索引 关系型数据库 PostgreSQL
ALTER TABLE & ALTER TYPES
摘要: 主要的内容是alter, alter table, alter type, length, postgresql 9.2, rewrite, reindex,转换函数不需要重写表和索引
1517 0