• 如何删除掉一个用户下的所有对象


    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;
    

      这个存储过程可以一把删掉用户下几乎所有的对象。注释里的东西释放出来就能删除表空间了。这个过程不能回滚,绝对不要在生产环境或者有用的环境上使用。我不对这个过程执行的结果负任何责任。

          这个脚本适合在那种删除用户不是很方便的时候使用。

          更简单的办法就是删掉用户再重建用户。

  • 相关阅读:
    前端万字面经——进阶篇
    canvas 爬坑路【属性篇】
    Linux下提权反弹脚本
    修改和重置WAMP的phpMyAdmin密码
    如何调试Apache的URL重写(转载收藏)
    sharepoint 计算列的公式
    SharePoint控件的使用
    快速查看dll的PublicToken。
    DataCogsFieldControls 有时保存不上的问题
    遍历文件中的资源
  • 原文地址:https://www.cnblogs.com/wingsless/p/2260585.html
Copyright © 2020-2023  润新知