在删除用户及其对象时使用命令:
drop user XXX cascade;
操作执行很慢,要删除很久
原因是:如果目标用户有太多表等对象的话,执行可能会非常慢。
作为临时处理方法可以先删除目标用户Schema中的所有对象,然后删除用户。
1.通过如下SQL列出目标用户所有对象的删除语句脚本(drop.sql)
SQL> set pages 0
SQL> spool drop.sql
SQL> select 'drop ’ || object_type || ’ ’ || owner || ‘.’ || object_name || ‘;’
from dba_objects where owner = ‘<USER_NAME>’;
SQL> spool off
2.执行删除语句脚本(drop.sql)
SQL> @drop.sql
3.删除用户
SQL> DROP USER <USER_NAME> CASCADE ;