十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
删除用户是最方便的,删除用户后它所拥有的对象全部会被删除
成都网络公司-成都网站建设公司成都创新互联公司十年经验成就非凡,专业从事网站建设、成都网站建设,成都网页设计,成都网页制作,软文平台,广告投放平台等。十年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:13518219792,我们期待您的来电!
建议你将exp/imp命令行都贴出来给你分析
1.
删除无任何数据对象的表空间:
首先使用pl/sql界面化工具,或者使用oracle自带的sql
plus工具,连接需要删除的表空间的oracle数据局库。
确认当前用户是否有删除表空间的权限,如果没有
drop
tablespace,请先用更高级的用户(如sys)给予授权或者直接用更高级的用户。
用drop
tablespace
xxx
,删除需要删除的表空间。
2.
删除有任何数据对象的表空间
使用drop
tablespace
xxx
including
contents
and
datafiles;来删除表空间。
3.
注意事项:
如果drop
tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora-01911错误
最省心的方法是级联删除
drop user XXXX cascade; 最后这个级联特别有用
麻烦一点的办法,把删除语句做成存储过程
存储过程实现
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();
sql_str VARCHAR2(500);
BEGIN
sql_str := 'select uo.object_name,uo.object_type from user_objects uo where uo.object_type not in(''INDEX'',''LOB'') 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;
把要删除的对象前面加上这个用的名字就行了,比如要删除用户下的表table1,drop table 用户名.table1 就ok了
删除表中的数据:
deletefrom表名;truncatetable表名;
删除表:
droptable表名;
删除数据库:
dropdatabase数据库名;
甲骨文股份有限公司(NASDAQ:ORCL,Oracle)是全球大型数据库软件公司。总部位于美国加州红木城的红木岸(RedwoodShores),现时首席执行官为公司创办人劳伦斯·埃里森(LawrenceJ.Ellison)。
Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助。
方法1:
drop user XXXX cascade;
drop tablespace XXXX INCLUDING CONTENTS;
方法2:
写存储过程实现
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();
sql_str VARCHAR2(500);
BEGIN
sql_str := 'select uo.object_name,uo.object_type from user_objects uo where uo.object_type not in(''INDEX'',''LOB'') 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;