重庆思庄技术分享——drop user与drop user cascade的区别

drop user与drop user cascade的区别

文档课题:drop userdrop user cascade的区别.
oracle数据库删除用户有dropuser username和drop user username cascade命令,它们有何区别呢?
官方文档:
删除数据库用户:示例 如果用户 Sidney 的模式不包含任何对象,则可以通过发出以下语句来删除 sidney:
掉落用户西德尼;
如果 Sidney 的模式包含对象,则必须使用 CASCADE 子句删除 sidney 和对象:
掉落用户西德尼·卡斯卡德;
当用户下没有数据库对象时,可以用dropuser username删除用户,但当该用户有对象时,就要用drop用户用户名级联删除用户.
测试如下:
数据库:oracle11.2.0.4 64位
系统:CentOS7.9 64位

1、掉线用户测试

SQL>创建由刘军识别的用户刘军;
用户创建。
SQL>从all_objects中选择object_type,count(*),其中所有者='刘军'组byobject_type;
未选择任何行
SQL>drop用户刘军;
用户掉落。
说明:用户LIUJUN无数据库对象,dropuser命令删除成功.

2、掉线用户级联测试

SQL>创建由刘军识别的用户刘军;
用户创建。
SQL>授予连接,资源,无限表空间给刘军;
格兰特成功了。
SQL>conn liujun/liujun;
连接。
SQL>从user_sys_privs中选择*;
用户名权限 ADM
---------------------------------------------------------------------- ---
刘军无限表空间 否
SQL>从session_privs中选择 *;
特权
----------------------------------------
创建会话
无限表空间
创建表
创建集群
创建序列
创建过程
创建触发器
创建类型
创建运算符
创建索引类型
已选择 10 行。
SQL> 创建表测试 (ID 号(6,2),
2 名称 varchar2(20));
表已创建。
SQL>开始
2 for i in 1..1000 循环
3 插入测试值(i,'a' || i);
4端环;
5端;
4 米
PL/SQL过程成功完成。
SQL>commit;
提交完成。
SQL>conn / as sysdba
连接。
SQL>从all_objects中选择object_type,count(*),其中所有者='刘军'组byobject_type;
OBJECT_TYPE计数(*)
-----------------------------
表1
SQL>drop用户刘军;
放下用户柳军
*
错误在第 1 行:
ORA-01922:必须指定级联才能删除“刘军”
SQL>drop用户刘军级联;
用户掉落。

说明:当用户LIUJUN有数据库对象时,删除该用户就需要使用drop user cascade.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值