使用FLASHBACK TABLE 恢复被删除表
来源:互联网 发布:java wait 例子 编辑:程序博客网 时间:2024/05/29 08:46
20.3.1 数据库回收站
数据库回收站(Database Recycle Bin) 是所有被删除表和相关对象的容器,被存放在回收站的相关对象包括索引、约束、触发器、嵌套表、LOB 段和 LOB 索引段。
数据库回收站具有以下限制:
- 回收站只适用于非SYSTEM 的局部管理表空间
- ORACLE 没有为回收站分配固定的预留空间,因此不能保证数据库对象在回收站中的保留时间。当被删除对象所在表空间没有足够空间时,ORACLE 会使用 FIFO(先进先出) 机制清除回收站的相应对象
- 使用SELECT 语句可以查询回收站对象的数据,但不能在回收站对象执行DML 和DDL 操作
1. 生成回收站对象
SQL> conn scott/tiger@demo
已连接。
SQL> create table t1(c int);
表已创建。
SQL> create index IX_T1 on t1(c);
索引已创建。
SQL> create table t2(c int);
表已创建。
SQL> create index IX_T2 on t2(c);
索引已创建。
SQL> create table t3(c int);
表已创建。
SQL> create index IX_T3 on t3(c);
索引已创建。
SQL> drop table t1;
表已删除。
SQL> drop table t2;
表已删除。
SQL> drop table t3 purge;
表已删除。
2. 显示当前用户的回收站对象
SQL> show recyclebin
ORIGINAL NAME
---------------- ------------------------------ ------------ -------------------
T1
T2
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME
------------------------------ --------------------------------
BIN$d4mvZ2uiSPK13sVwaDpnwg==$0 IX_T1
BIN$tZjkR3xATvydCPbHzzR3Hg==$0 T2
BIN$FrfDmiaIQNSrpx16x7B3vw==$0 T1
BIN$kR3toQKCQ8Cv3cWiuBRJFQ==$0 IX_T2
3. 显示数据库的所有回收站对象
SQL> conn / as sysdba
已连接。
SQL> select owner,object_name,original_name from dba_recyclebin;
OWNER
------ ------------------------------ --------------------------------
SCOTT
SCOTT
SCOTT
SCOTT
4. 清除回收站对象
SQL> conn scott/tiger@demo
已连接。
SQL> purge table t1;
表已清除。
SQL> purge index ix_t2;
索引已清除。
SQL> purge recyclebin;
回收站已清空。
20.3.2 恢复被删除表
(1) 模拟用户误操作
(2) 显示回收站对象
(3) 恢复被删除表
SQL> conn scott/tiger
已连接。
SQL> show recyclebin
SQL> drop table emp;
表已删除。
SQL> show recyclebin
ORIGINAL NAME
---------------- ------------------------------ ------------ -------------------
EMP
SQL> flashback table "BIN$/3ZsVld5RhWZuaSOugW64A==$0" to before drop rename to newemp;
闪回完成。
SQL> drop table newemp;
表已删除。
SQL> show recyclebin
ORIGINAL NAME
---------------- ------------------------------ ------------ -------------------
NEWEMP
SQL> flashback table newemp to before drop rename to emp;
闪回完成。
- 使用FLASHBACK TABLE 恢复被删除表
- 20.3 使用FLASHBACK TABLE 恢复被删除表
- 使用flashback query恢复被删除plsql
- Flashback table 恢复表中删除的记录
- 20.2 使用FlashBack Table 恢复表到先前状态
- flashback table恢复数据
- 使用 Flashback 恢复删除的 tablespace --实验
- flashback table快速恢复误删除的数据
- Flashback DROP 恢复已经删除的表
- flashback database 恢复删除的表空间
- oracle 使用flashback(闪回)恢复误删除的数据 或 误删除的表
- oracle 使用flashback(闪回)恢复误删除的数据 或 误删除的表
- flashback table快速恢复误删除的数据(Oracle恢复数据)
- 恢复被drop table删除的表
- oracle 中 Flashback table功能恢复某个表数据!!
- flashback table 命令使用
- 使用flashback恢复数据
- flashback database 恢复误删除的表空间。
- Linux并发控制
- FragmentActivity与Fragment两者交互方法简介
- spring 框架的配置文件
- docker-composede 的使用
- SharedPreferences——安卓存储方案之一
- 使用FLASHBACK TABLE 恢复被删除表
- nova修改libvirt.xml及自定义xml文件修改nova代码支持vhost
- HBase拆分策略
- 微信红包接口---你不知道的坑爹官方支付文档
- RecyclerView的使用方法和瀑布流的实现
- Android 实现图片高斯模糊算法,真正有效的工具类
- FLV容器分析2
- <安卓那点事>写一个简单的电话拨号器
- C++指针与引用