Oracle 数据库误把表删除进行恢复

Oracle数据库恢复删除的表

可以查询出回收站中删除的表 original_name是原表名

select object_name,original_name,type,droptime
 from user_recyclebin;

在这里插入图片描述

对删除的表进行恢复
在上面要是能查出来就恭喜你数据库有回收站机制并在开启状态。

有同名的恢复最新删除的。

flashback table 原表名 to before drop;

– 查询所有表名

SELECT TABLE_NAME,COMMENTS from all_tab_comments where OWNER='模式名'

–删除表,进入到回收站

drop table ahic_sms_interface$_;

–查看是否开启了回收站,on代表开启了

SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='recyclebin';

–关闭数据库回收站机制,初始的不让改

ALTER SYSTEM SET RECYCLEBIN=OFF;

–开启数据库回收站机制
修改 on状态,需要注意的是要指定scope=spfile,因为这个参数是不能再内存中修改的,也有10g和11g的差别需要使用不同的参数

 alter system set recyclebin=on scope=spfile;

开启后需要重启数据库才生效

停止 shutdown 

开启 startup

–清空回收站

purge recyclebin;

对表进行恢复 回滚

 ALTER TABLE 表名 ENABLE ROW MOVEMENT;
 
 FLASHBACK TABLE 表名 TO TIMESTAMP TO_TIMESTAMP('2021-03-03 17:39:00','YYYY-MM-DD HH24:MI:SS');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值