oracle recyclebin 回收站

sql 复制代码
18:34:50 SYS@cndb> show parameter recyclebin;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
recyclebin                           string      on

ALTER SESSION SET recyclebin = ON;
ALTER SYSTEM SET recyclebin = ON SCOPE = SPFILE;

--查看表DDL
select dbms_metadata.get_ddl('TABLE','JZPD_MZJ_WBGYHBZ') from dual;

drop table luan_zxk.JZPD_MZJ_WBGYHBZ   -- purge那么将无法恢复
可以查看回收站中的表
select * from recyclebin where ORIGINAL_NAME='JZPD_MZJ_WBGYHBZ';
恢复表
flashback table JZPD_MZJ_WBGYHBZ to before drop;
to before drop 表示恢复这个表及其所有依赖的对象。如果该表的名称已经被其它表使用,那么执行 flashback table 该表时则会报错:ORA-38312:original name is used by an existing object, 这时,可以在执行 flashback table 时将表重命名
flashback table JZPD_MZJ_WBGYHBZ to before drop rename to JZPD_MZJ_WBGYHBZ_old;
rename to 表示将该表恢复后重命名。如果该表已经被删除了多次,那么使用 flashback table 恢复该表将默认恢复最后一次删除的那个,如果想恢复之前的一个版本,需要在回收站中查询该表,然后可以使用那个恢复并重命名的方式依次恢复每一个。

确认
SELECT * FROM luan_zxk.JZPD_MZJ_WBGYHBZ

--清除整个回收站的内容
purge recyclebin;

使用 flashback table 需要注意:

1)数据库将从回收站恢复该表的所有索引,注意bitmap join Index不能恢复,因为该索引在表格删除后不会被放入回收站中,所以不能恢复;

2)数据库将恢复该表的trigger和constraint,除了指向其它表的完整性约束;

3)当删除一个表格时,定义在该表格上的所有物化视图日志也被删除,但不会放入回收站中,因此,物化视图日志不能随着表格被恢复;

4)当删除一个表格时,该表格相关的所有索引都将被放入回收站中,如果数据库空间不足,数据库将首先清除掉索引的空间,因此,在这种情况下,恢复表格将无法恢复所有的索引;

5)如果被删除的表格已经被 purge 了,那么将无法恢复。

相关推荐
傻啦嘿哟1 小时前
用Redis实现爬虫URL去重与队列管理:从原理到实战的极简指南
数据库·redis·爬虫
冒泡的肥皂1 小时前
2PL+MVCC看一些场景
数据库·后端·mysql
码农阿豪1 小时前
从权限混沌到安全有序:金仓数据库的权限隔离如何超越MySQL
数据库·mysql·安全
不剪发的Tony老师2 小时前
SQL Schema Compare:一款免费开源的数据库结构比较和同步工具
数据库
寒秋丶2 小时前
Milvus:集合(Collections)操作详解(三)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
寒秋丶2 小时前
Milvus:Schema详解(四)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
kyle~2 小时前
CPU调度---协程
java·linux·服务器·数据库·c++20
IDOlaoluo2 小时前
SQL Server 2017 Developer 中文版安装教程(64位 ISO 文件详细步骤)
服务器·数据库·负载均衡
一只游鱼3 小时前
Springboot+BannerBanner(启动横幅)
java·开发语言·数据库
散峰而望4 小时前
Dev-C++一些问题的处理
c语言·开发语言·数据库·c++·编辑器