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 了,那么将无法恢复。

相关推荐
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_962218614 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安4 天前
MySQL-触发器
数据库·mysql
白远山4 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro4 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
2603_965148114 天前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘