一 创建
sys; //系统管理员,拥有最高权限
system;//本地管理员,次高权限
scott;//普通管理员,默认未解锁
二 权限:
create session
create table
unlimited tablespace
connect
resource
dba
三 管理用户
create user zhangsan//在管理员账户下,创建用户zhangsan
identified by ab//密码为ab
default tablespace users//取默认表空间users
password expire//设置密码已过期
account lock//设置用户状态为加锁,禁用用户账户
alter user user_name account unlock//启用用户账户
alter user scott identified by ab;//修改密码
show user//当前用户
conn user-name/password//连接用户
grant connect to user_name//为新用户授予和数据库建立连接的角色
四 授予权限
//管理员授权
1 为新用户授予和数据库建立回话的系统权限
grant create session to name_space;
2 授予用户使用表空间的权限
grant unlimited session to zhangsan;
3 授予用户创建表的权限
grant create table to zhangsan;
4 授予用户删除表的权限
grant drop table to zhangsan;
5 插入表的权限
grant insert table to zhangsan;
6 修改表的权限
grant update table to zhangsan;
//oracle对权限管理比较严谨,普通用户之间也是默认不能访问的
7 授予用户查看指定表的权限
grant select on tablename to zhangsan;
8 授予用户删除指定表的权限
grant drop on tablename to zhangsan;
9 授予用户插入指定表的权限
grant insert on tablename to zhangsan;
10 授予用户修改指定表的权限
grant update on tablename to zhangsan;
11 授予用户对指定表特定字段的插入权限
grant insert(id) on tablename to zhangsan;
12 授予用户对指定表特定字段的修改权限
grant update(id) on tablename to zhangsan;
注意:授予用户对指定表特定字段的插入与修改权限,只能是insert 和update
13 授予用户修改任意表的权限
grant alter all table to user_name
五 撤销权限
基本语法同grant,关键字为revoke
六 查看权限
1 查看当前用户所用权限
select * from user_sys_privs;
2 查看所有用户对表的权限
select * from user__sys_privs;
七 权限传递
即用户A将权限授予B,B可以将操作的权限再授予C
grant alter table on tablename to zhangsan with admin option;
grant alter table on tablename to zhangsan with grant option;
八 角色
即权限的集合,可以把一个角色授予给用户
1 创建角色
create role my;
2 将创建session的角色授予my
grant create session to my;
3 授予用户my的角色
grant my to zhangsan;
4 删除角色
drop role my;