oracle误删表恢复

1、oracle 删除某个用户下面的所有的表,执行下面的语句可以获得所有删除表的语句,拷贝出来执行之后就OK了。

select 'drop table '||table_name||';' from cat where table_type='TABLE' 


2、执行下面的语句可以找到所有的删除的表

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;


3、执行下面的语句可以恢复删除的表,original_name 是上面查询语句里面的字段

flashback table original_name to before drop;


可以仿照1生成所有需要恢复的数据的sql

select 'flashback table '||original_name||' to before drop;' from recyclebin;


update 没加where条件更新了所有表的数据,可以用下面的方式还原:

1、首先根据某个特定的时间点获取到表里面的所有数据,然后把这些数据插入就OK了。
SELECT * FROM tableName AS OF TIMESTAMP to_timestamp('2015-04-01 19:41:18','yyyy-mm-dd hh24:mi:ss'); 


 4、删除用户的时候,出现“要删除的用户正在连接,无法删除”的提示,

4.1 首先,查看用户的连接状况

select username,sid,serial# from v$session 

4.2 找到要删除的用户数据,删除

--alter system kill session'SID值,SERIAL#值' 

alter system kill session'153,44880' 

4.3 删除用户

drop user rdoa cascade


 

温馨提示:下次做数据库删除的操作的时候一定要注意了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值