您的位置:首页 > 运维架构

drop user和drop user cascade的区别

2012-03-01 19:30 267 查看
drop user ; 仅仅是删除用户,
drop user ×× cascade ;会删除此用户名下的所有表和视图。
user
Specify the user to be dropped. Oracle Database does not drop users whose schemas contain objects unless you specify CASCADE or unless you first explicitly drop the user's objects.
CASCADE
Specify CASCADE to drop all objects in the user's schema before dropping the user. You must specify this clause to drop a user whose schema contains any objects.

使用cascade参数可以删除该用户的全部objects。要说明的如下:
1 If the user's schema contains tables, then Oracle Database drops the tables and automatically drops any referential integrity constraints on tables in other schemas that refer to primary and unique keys
on these tables.
如果用户的schema中有表,则在删除表的时候自动删除与该表相关的主键和外键。
2 If this clause results in tables being dropped, then the database also drops all domain indexes created on columns of those tables and invokes appropriate drop routines.

如果用户的schema中有表,则在删除表的时候自动删除与该表相关的索引。
3 Oracle Database invalidates, but does not drop, the following objects in other schemas:
删除用户时,下列在其他用户中的objects不会被删除,只会被置为无效
1 Views or synonyms for objects in the dropped user's schema
视图,同义词
2 Stored procedures, functions, or packages that query objects in the dropped user's schema
存储过程,函数,包
4 Oracle Database does not drop materialized views in other schemas that are based on tables in the dropped user's schema. However, because the base tables no longer exist, the materialized views in the
other schemas can no longer be refreshed.
其他用户建立的基于被删除用户的物化视图不会被删除,只是不能在刷新了。
5 Oracle Database drops all triggers in the user's schema.
用户模式下的所有触发器全部被删除
6 Oracle Database does not drop roles created by the user.

被删除用户建立的其他用户不会被删除
如果该urer刚创建没有表等对象,可以使用drop user命令删除,否则要使用drop user cascade命令删除,此时会将该用户拥有的对象一同删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: