11.1.4 如何删除用户
一个用户不再访问数据库系统时,应该将这个用户及时地从数据库中删除,否则可能会有安全隐患。一个更好的做法是先将这个用户锁定,过一段时间如果确定这个用户不再需要,再将其删除。
删除用户的操作一般由sys用户完成,也可以由具有DROP USER权限的用户来完成。一个用户被删除后,这个用户本身的信息,以及它所拥有的数据库对象的信息都将从数据字典中被删除。删除用户的命令是DROP USER。这条命令的语法格式为:
DROP USER用户名;
例如,要删除用户USER1,可以执行下面的DROP USER语句:
SQL>DROP USER user1;
需要注意的是,如果在一个用户的模式中已经包含一些数据库对象,那么这个用户是不能被直接删除的,在删除用户时系统将显示类似以下的信息:
ERROR位于第1行:
ORA-01922:必须指定CASCADE以删除'SCOTT'
出现错误信息的原因是在用户scott的模式中包含某些数据库对象,所以不能直接删除。如果要强制删除用户,可以在DROP USER命令中使用CASCADE选项,这样用户以及所拥有的数据库对象将一起被删除。例如,删除用户scott可以执行下面的语句:
SQL>DROP USER scott CASCADE;