Oracle如何清除一个用户下的所有表(谨慎操作!)(彻底清除app安装痕迹)硬核推荐

随心笔谈2年前发布 admin
224 0 0

文章摘要

这篇文章介绍了如何在Oracle数据库中清除一个用户下的所有表。主要内容包括: 1. **清除步骤**:通过登录到PL/SQL,执行SQL语句查询所有表名并删除。 2. **删除方法**:提供了两种方法,分别是`DROP USER username`和`DROP USER username cascade`,并解释了它们的区别:前者适用于用户没有对象的情况,后者适用于用户有对象的情况。 3. **批量操作**:展示了如何将删除语句批量执行。 文章还附带了相关知识,如删除用户和表空间的方法,并提醒了可能遇到的注意事项,如删除权限问题。整体内容简明扼要,重点突出。



执行该操作要慎重,不然可能会造成很严重的后果!

使用工具:

plsql developerOracle 数据库

前段时间部署程序的时候导入数据有问题,需要重新导入。然后保险起见把原来的表全部删掉之后再导入。清表操作就如下步骤进行的。

首先通过要清空表的用户登陆plsql,登陆进入之后sql窗口执行下列语句进行查询全部表:

SELECT ‘drop table ‘|| table_name || ‘;’ FROM USER_TABLES ORDER BY TABLE_NAME;

查询结果如下图:我这里使用Oracle默认orcl库进行演示:

查询出来的结果显示不全,我们点击绿色双箭头将所有结果查询出来。

查询出来之后如下图,将查询结果全部选中复制。

再打开命令窗口,直接粘贴,然后等待执行完毕。这样就可以把用户下的所有表都清除了。

接下来等待全部执行完毕,然后再impdp就ok了。

太高级了,简直简单的不要不要的!!!!!!!

又搞定了一个大事儿。

附:oracle 删除用户和用户下的数据

有两种方法,一种是drop user  username;

还有一种是 drop user username cascade;

官方的说明如下:

Dropping a Database User: Example If user Sidney’s schema contains no objects, then you can drop sidney by issuing the statement:

DROP USER sidney;

If Sidney’s schema contains objects, then you must use the CASCADE clause to drop sidney and the objects:

DROP USER sidney CASCADE;

drop user username必须是这个用户下面没有任何对象;这样才可以使用这个命令,否则就会报错;

如果用户下面有对象,就得用drop user username cascade来删除这个用户以及这个用户下的所有对象了;

同时删除多个用户的话,可以用下面的方法

select ‘drop user ‘ || username || ‘ cascade’ || ‘;’
from dba_users

可以在后面根据需要加上筛选条件。

把生成的语句,批量执行就可以了。

总结

到此这篇关于Oracle如何清除一个用户下的所有表的文章就介绍到这了,更多相关Oracle清除用户的所有表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:Linux下Oracle删除用户和表空间的方法Oracle 删除用户和表空间详细介绍Oracle删除当前用户下所有表的方法适用于有或没有删除权限shell脚本操作oracle删除表空间、创建表空间、删除用户

© 版权声明

相关文章