Oracle数据库删除用户和表空间

1、以system用户登录查找需要删除的用户(普通用户没有删除权限)

select * from dba_users;

2、查询需要删除用户对应的表空间

select * from dba_data_files;

3、删除用户和表空间

drop user usernamecascade;

drop tablespace tablespacename including contents and datafiles cascade constraint;

在删除用户时可能会碰到无法删除当前连接的用户,这是由于还有数据库连接到该用户,有会话存在,需要先删除会话。

最暴力的做法是直接shutdown数据库,然后重启即可。。。

一般的操作是通过查询SessionID,手动杀掉会话再删除用户:

1)查询连接情况:select username,sid,serial# from v$session;

2)找到要删除用户的sid和serial并删除:alter system kill session 'sid,serial';

再执行删除用户的操作,如果还是无法删除说明还有连接的会话,继续执行删除会话的操作。

猜你喜欢

转载自blog.csdn.net/dongyuxu342719/article/details/81530942