C/C++教程

Oracle删除用户,oracle报错01940

本文主要是介绍Oracle删除用户,oracle报错01940,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


===========================删除用户==============================
由于资源占用,oracle报错01940,解决方案如下:

1.首先将索要删除的用户锁定,这句必须执行,否则之后杀死进程无效!

     alter user 用户名 account lock;

2.从【v$Session】表查看当前用户占用资源,有使用资源的情况下,肯定不能删除用户

     select saddr,sid,serial#,paddr,username,status from v$session where username = '用户名';

3. 杀死status为【 INACTIVE】的进程,sid和seria#值为该列下的数值

  alter system kill session 'sid,serial#';

4. 删除用户,如果不成功,即还是会报01940错,因为还有【 INACTIVE】进程没杀死

  drop user 用户名 cascade;

 

===========================删除表空间==============================
--删除空的表空间,但是不包含物理文件
drop tablespace tablespace_name;
--删除非空表空间,但是不包含物理文件
drop tablespace tablespace_name including contents;
--删除空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--删除非空表空间,包含物理文件
drop tablespace kmzddev_temp_tabs including contents and datafiles;
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;

这篇关于Oracle删除用户,oracle报错01940的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!