Linux下Oracle删除用户和表空间的方法

时间:2021-08-19 02:15:00

本文实例讲述了Linux下Oracle删除用户和表空间的方法。分享给大家供大家参考,具体如下:

1.删除某个用户

?
1
2
3
SQL> conn /as sysdba
Connected.
SQL> drop user userName cascade;

用户已删除

如果用户无法删除,并报错:

ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected

通过查看用户的进行,并kill用户进程,然后删除用户。

?
1
2
3
4
5
6
SQL> select sid,serial# from v$session where username='userName';
SID  SERIAL#
---------- ----------
150    9019
SQL> alter system kill session '150,9019';
System altered.

2.删除表空间

前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除

复制代码 代码如下:
drop tablespace nsName including contents and datafiles cascade constraints ;

including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数。
including datafiles 删除表空间中的数据文件
cascade constraints 同时删除 tablespace 中表的外键参照

 

希望本文所述对大家Oracle数据库程序设计有所帮助。