Oracle 如何删除掉一个用户下的所有对象
2014-11-17 18:06
573 查看
create or replace procedure drop_all as cursor cur_obj is select uo.OBJECT_NAME, uo.OBJECT_TYPE from user_objects uo where uo.OBJECT_NAME not in ('DROP_ALL') and uo.OBJECT_TYPE not in ('LOB'); /* cursor cur_tablespace is select ut.TABLESPACE_NAME from user_tablespaces ut where ut.TABLESPACE_NAME not in ('SYSTEM', 'SYSAUX', 'UNDOTBS1', 'TEMP', 'USERS');*/ v_obj_name user_objects.OBJECT_NAME%type; v_obj_type user_objects.OBJECT_TYPE%type; /* v_tablespaces_name user_tablespaces.TABLESPACE_NAME%type;*/ sql_str1 varchar2(2000); /* sql_str2 varchar2(2000);*/ begin open cur_obj; loop fetch cur_obj into v_obj_name, v_obj_type; exit when cur_obj%notfound; sql_str1 := 'drop ' || v_obj_type || ' ' || v_obj_name; execute immediate sql_str1; end loop; close cur_obj; /* open cur_tablespace; loop fetch cur_tablespace into v_tablespaces_name; exit when cur_tablespace%notfound; sql_str2 := 'drop tablespace ' || v_tablespaces_name || ' including contents'; execute immediate sql_str2; end loop; close cur_tablespace;*/ end drop_all; 这个存储过程可以一把删掉用户下几乎所有的对象。注释里的东西释放出来就能删除表空间了。这个过程不能回滚,绝对不要在生产环境或者有用的环境上使用。我不对这个过程执行的结果负任何责任。 这个脚本适合在那种删除用户不是很方便的时候使用。 更简单的办法就是删掉用户再重建用户。
相关文章推荐
- Oracle 中如何删除一个用户拥有的所有对象
- 如何删除掉一个用户下的所有对象
- oracle如何删除一个用户下的所有数据?
- Oracle中,如何删除一个用户下的所有表
- 如何Oracle查出一个用户具有的所有系统权限和对象权限
- Oracle中如何删除某个用户下的所有数据呢
- ORACLE下删除当前用户下所有对象的SQL
- oracle 导入导出数据库、删除用户以及该用户所有的对象
- oracle中如何删除一个用户
- Oracle 删除用户所有对象的脚本
- oracle 删除用户下的所有用户对象
- oracle 导入导出数据库、删除用户以及该用户所有的对象
- Oracle查出一个用户具有的所有系统权限和对象权限
- oracle中删除某个用户的所有对象
- Oracle中如何删除某个用户下的所有数据呢
- [转载]Oracle SQL*PLUS - 删除当前用户的所有对象
- Oracle删除用户下的所有对象
- ORACLE下删除当前用户下所有对象的SQL
- oracle sql*plus - 删除当前用户的所有对象
- Oracle: 删除当前用户的所有对象(表、视图、存储过程、包、javasource,job)