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
温馨提示:下次做数据库删除的操作的时候一定要注意了。