数据库
首页 > 数据库> > 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;

标签:name,删除,--,drop,including,Oracle,报错,oracle,tablespace
来源: https://www.cnblogs.com/alinda/p/15090048.html