你好,游客 登录 注册 搜索
背景:
阅读新闻

drop user和drop user cascade的区别

[日期:2017-11-24] 来源:Linux社区  作者:luxd [字体: ]

1.Oracle数据库中删除用户有两种命令,一种是 drop user xxx;另外一个种是drop user xxx cascade;

2.官方的说明如下:

Dropping a Database User: Example If user Sidney's schema contains no objects, then you can drop sidney by issuing the statement:

DROP USER sidney;

If Sidney's schema contains objects, then you must use the CASCADE clause to drop sidney and the objects:

DROP USER sidney CASCADE;

大概就是说drop user xxx必须是这个用户下面没有任何对象;这样才可以使用这个命令,否则就会报错;如果用户下面有对象,就得用drop user xxx cascade来删除这个用户以及这个用户下的所有对象了;

3.测试实验;

环境:我的DELL笔记本电脑,系统是XP,oracle10g 32位

脚本如下:

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 12月 26 22:46:12 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn / as sysdba;
已连接。
SQL> show user;
USER 为 "SYS"
SQL> create user mary identified by mary;

用户已创建。

SQL> grant dba to mary;

授权成功。

SQL> --创建好用户mary后,查看这个用户下面是否有对象;
SQL> select object_type,count(*) from all_objects where owner='MARRY' group by object_type

未选定行

SQL> --发现没有任何对象,那我们试着来删除用户mary;
SQL> drop user mary;

用户已删除。

SQL> --现在我们再重新创建一个用户jack;
SQL> create user jack identified by jack;

用户已创建。

SQL> grant dba to jack;

授权成功。

SQL> --以jack用户连接到数据库,并创建一个表;
SQL> conn jack/jack;
已连接。
SQL> show user;
USER 为 "JACK"
SQL> create table test (id number(2),
  2  name varchar2(10));

表已创建。

SQL> --再以sys用户连接来查看jack下面是否有对象;
SQL> conn / as sysdba
已连接。
SQL> show user;
USER 为 "SYS"
SQL> select object_type,count(*) from all_objects where owner='JACK' group by object_type;

OBJECT_TYPE          COUNT(*)
------------------- ----------
TABLE                        1

SQL> --发现下面有一个表,然后我们尝试用drop user命令来删除用jack;
SQL> drop user jack;
drop user jack
*
第 1 行出现错误:
ORA-01922: 必须指定 CASCADE 以删除 'JACK'


SQL> --发现报错了,无法删除,因为用户jack下面有对象;然后我们用drop user cascade来删除jack;
SQL> drop user jack cascade;

用户已删除。

SQL> --测试成功;

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-11/148849.htm

linux
相关资讯       drop user  drop user cascade 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款