第05讲.oracle用户管理综合案例
删除用户
概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有 drop user的权限。
比如:drop user 用户名 [cascade]
当我们删除一个用户的时候,如果这个用户自己已经创建过数据对象,那么我们在删除用户的时候,需要加选项 cascade,表示把这个用户删除同时,把该用户的数据对象一并删除。
用户管理的综合案例
概述:创建的新用户是没有任何权限的,甚至连登录的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令 revoke。
基本语法:grant 权限/角色 to 用户
为了给讲清楚用户的管理,这里我给大家举一个案例。
创建一个用户 xiaohong,然后给她分配两个角色,可以让 xiaohong 登录,创建表,可以操作(crud)自己创建的表,然后回收角色,最后删除用户。
1)使用 system 创建 xiaohong
- create user xiaohong identified by m123;
2)给 xiaohong 分配两个常用角色
- grant connect to xiaohong;
- grant resource to xiaohong;
3)让 xiaohong 登录
- connect xiaohong/m123
4)xiaohong 修改密码
- password xiaohong
5)xiaohong 创建一张最简单的表
- create table users(id number);
- insert into users values(1);
- select * from users;
6)使用 system 登录,然后回收角色
- revoke connect from xiaohong;
- revoke resource from xiaohong;
7)删除用户
- drop user xiaohong cascade;
方案(schema)
理解:当一个用户创建好后,如果该用户创建了任意一个数据对象,这时,我们的DBMS就会创建一个对应的方案与该用用户对应,并且该方案的名字和用户名一致。
方案这个概念的实际运用
要求:让 xiaohong 用户可以去查询 scott 的 emp 表
1)先用 scott 登录
- conn scott/tom
2)赋予权限
- grant select[update|delete|insert|all] on emp to xiaohong;
xiaohong 查询 scott 的 emp 表时,需要
- select * from scott.emp;