Oracle-12 用户、权限和角色


用户

sys/system管理员新建用户
create user user1 identified by 123456;

**sys授权**create session登陆权限user1
grant create session to user1;

user1用户创建表test
create table test(
id number(4),
name varchar2(10)
);

sys授权create table创表权限给用户user1
grant create table to user1;

“对表空间users无权限”,sys授权
alter user user1 quota 10M on users;
–在users表空间,分配10M内存大小给用户user1使用

修改用户密码 (1)用户忘记密码,管理员重置 (2)用户自己登陆重置密码
alter user user1 identified by user1;

用户状态:锁定,解锁,密码过期
alter user user1 account lock;–锁定
alter user user1 account unlock;–解锁

alter user user1 password expire;–密码过期

删除用户 (1)无法删除正在连接中的用户
drop user user1 cascade;–级联删除用户以及用户下所有的对象信息


权限: 系统权限、对象权限
回收系统权限:不会级联回收其他用户的权限
回收对象权限:会级联回收其他用户的权限

create user user2 identified by 123456;
create user user3 identified by 123456;

sys 授权系统权限
grant create session to user2 with admin option;–with admin option : 允许user2将create session的权限授予其他用户
grant create session to user3 with admin option;–user2授权给user3

sys 回收系统权限
revoke create session from user2;
–回收user2 create session的系统权限:不会级联回收user3的权限
revoke create session from user3;

scott 授权对象权限
scott用户将表emp的查询权限授予用户user2
–with grant option: 允许user2将在emp的select权限授予其他用户
grant select on emp to user2 with grant option; – 单个授权
grant update,delete,insert on emp to user2; –批量授权

user2授权给user3
grant select on scott.emp to user3 with grant option;

scott用户将emp对象的所有权限授权给用户user2
grant all privileges on emp to user2;

scott 回收对象权限
revoke select on emp from user2;
–级联回收,将user2,以及user3的select权限全部收回


角色: 权限的集合

创建角色
create role comm_role;

给角色授权
grant create session,create table,create view to comm_role;

创建用户,并给用户授予角色
create user user4 identified by 123456;
grant comm_role to user4;

user4登陆之后,可查看对应的权限列表
select * from session_privs;

回收用户的角色
revoke comm_role from user4;

从角色回收权限
revoke create table from comm_role;

删除角色
drop role comm_role;

预定义角色:DBA 、connect 、 resource
select * from dba_sys_privs where grantee =’DBA’;–查看DBA角色权限
select * from dba_sys_privs where grantee =’CONNECT’;–查看CONNECT角色权限
select * from dba_sys_privs where grantee =’RESOURCE’;–查看RESOURCE角色权限

create user user5 identified by 123456;
grant connect,resource to user5;


public : 将权限公开化

将create session登陆权限公开化
grant create session to public;
–无需给用户授权create session权限便可登陆数据库

猜你喜欢

转载自blog.csdn.net/qq_36090002/article/details/81395255