oracle数据库中删除用户有两种命令,一种是 drop user xxx;另外一个种是drop user xxx cascade;
drop user xxx必须是这个用户下面没有任何对象;这样才可以使用这个命令,否则就会报错;如果用户下面有对象,就得用drop user xxx cascade来删除这个用户以及这个用户下的所有对象了;1 drop user ×× ; 仅仅是删除用户
如果用户下有对象,那么drop user ×× ;会报错
ORA-01922: 必须指定 CASCADE 以删除 ××
2 drop user ×× cascade ;会删除此用户名下的所有表和视图
使用cascade参数可以删除该用户的全部objects。
如果用户的schema中有表,则在删除表的时候自动删除与该表相关的主键和外键。
如果用户的schema中有表,则在删除表的时候自动删除与该表相关的索引。用户和表空间是两个概念
用户是建立在表空间之上的
删除用户对象 会删除用户下的所有对象 这些对象可能在用户所属表空间 也可能不属于
一个表空间上面可以多个用户 所以删了用户对象只是删除该用户下所属对象 和表空间没有直接关系application对象清除的方法也是applicationremoveAttribute(String name)
不过application对象是针对服务器的,服务器启动后就产生了这个application对象,当客户再所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。
不知道楼主是什么设计意图,要是真的要写出点击关闭按钮时移除application中所保存的对象就把applicationremoveAttribute(String name)写进网页退出的js中吧~不管是主机上还是客户端上,使用具备dba角色的用户登录到数据库的sqlplus环境,直接删除用户,就可以把该用户下的而所有对象都删除,包括表、序列。或者使用该用户登录到sqlplus,从user_tables和user_sequences视图中选出所有的表和序列,然后执行drop table 和drop sequence 来批量删除所有的表和序列。使用exp和imp工具导出、导入dmp文件。如果这个用户下已经创建了数据库对象(比如表、视图、存储过程等),则需要用
drop user xxxxx cascade ; 的方式来删除该数据库用户。
不过需要注意,这个方式就将该用户的所有数据库对象删除了,要慎用!
没有办法保留用户的数据库对象 情况下删除用户。
如果这个用户下没数据库对象,那么用 drop user xxxx 即可。当然前提是xxxx 没有 登录到数据库中;你有删除用户的权限等等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)