删除用户下所有对象

DECLARE TYPE name_list IS TABLE OF VARCHAR2(40); TYPE type_list IS TABLE OF VARCHAR2(20);

Tab_name name_list:=name_list(); Tab_type type_list:=type_list();

--语句定义除body,系统的lob和index外的对象

sql_str VARCHAR2(500); BEGIN sql_str := ‘SELECT UO.OBJECT_NAME, UO.OBJECT_TYPE FROM USER_OBJECTS UO WHERE UO.OBJECT_TYPE NOT IN (‘‘PACKAGE BODY‘‘,‘‘PACKAGE‘‘,  ‘‘LOB‘‘ ) AND UO.OBJECT_NAME NOT LIKE ‘‘SYS%‘‘ ORDER BY UO.OBJECT_TYPE DESC‘; EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;

FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP sql_str := ‘DROP ‘ || Tab_type(i) || ‘ ‘ || Tab_name(i); EXECUTE IMMEDIATE sql_str; END LOOP; END;
时间: 2024-11-10 08:17:20

删除用户下所有对象的相关文章

Oracle系列:(21)访问其他用户下的对象[授权]

声明:scott或hr叫用户名/方案名/空间名 scott--tiger hr-----lion 查询当前用户是谁 show user; 查询scott自己表空间下的所有对象时,可加,或不加用户名select * from emp; select * from emp; 或 select * from scott.emp; 以sysdba身份解锁hr普通帐户 alter user hr account unlock; 以sysdba身份设置hr普通帐户的密码 alter user hr iden

删除用户下的数据和表

drop user user_name cascade; 手动删除 select 'drop table '||table_name||';' from cat where table_type='TABLE'

Oracle 删除某个用户下的所有对象,执行需谨慎

在PL/sql中,点"新建"->"命令窗口"->粘贴后直接执行 --删除某个用户下的对象set heading off;set feedback off;spool d:/dropobj.sql; prompt --Drop constraint select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where

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

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 fro

spool命令、创建一个表,创建并且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站

  1.spool命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创建表的权限,(2):有表空间 SQL> desc t4; 名称                                      是否为空? 类型 ----------------------------------------- -------- ------------------------

find删除用户家目录下的文件需注意

用了find /root/ -type f -exec rm -rf {} \;这个命令之后,系统重新登录时或重启之后,PS1可能会变成:-bash-4.1#.解决方法如下:  第一种方法: cp /etc/skel/.bashrc  /root/ cp /etc/skel/.bash_profile /root/. 这种方法是最好的,因为/etc/skel是最原始的数据,每次新创建用户时,用户下面的.bashrc和.bash_profile这两个文件就是从/etc/skel里获取的.    第

Linux下创建和删除用户

在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示: 创建用户(useradd): (1)用useradd命令创建用户创建用户: 语法: useradd [所要创建的用户名] ,回车 (2)用passwd命令为该用户创建密码: 语法: passwd [用户名]  ,回车 (3)输入密码:一般密码至少要有六个字符,这里输入的密码是看不见的,所以看到屏幕没显示,

linux下删除用户脚本----不是userdel -r 那么简单

linux下删除用户不仅仅是userdel -r 那么简单. 如果你删除用户时,该用户有许多进程正在进行,你是不是要一个个kill掉再删除: 如果你成功删除该用户后,系统中还有需要改用户的文件是不是还要删除. 如上,岂不麻烦.下面的脚本可以帮你快速删除一个或多个用户. #!/bin/bash #delete user from system #by slitobo 2017/6/2 #check user is root [ `id -u` -ne 0 ] && echo "Pl

linux下创建与删除用户详细步骤

linux下用户的操作还是相对容易理解的,基本操作如下: 1.新增用户 只有root用户能创建新用户 [plain] view plaincopy #useradd user1 新建后将会在/home目录下生成一个与用户名相同的用户主目录.同时会创建一个新组,该组与该用户同名,该用户属于该组的成员.如果让新的用户归属于一个已经存在的组,使用如下命令: [plain] view plaincopy #useradd -g usergroup1 user1 这样该用户就属于usergroup1组的一