当前位置:Gxlcms > 数据库问题 > Oracle学习操作(7)用户、权限、角色

Oracle学习操作(7)用户、权限、角色

时间:2021-07-01 10:21:17 帮助过:26人阅读

技术分享

 

二、权限                                              

技术分享

1.系统权限:

sys登陆创建c##test用户后,给用户c##test授权,并且带有传播性:

SQL> create user c##test identified by 123456 default tablespace users;

SQL> create user c##test2 identified by 123456 default tablespace users;

SQL> grant create session, create table to c##test with admin option;

授权成功。

c##test用户就可以给之前创建完毕的c##test2用户,授权刚才可以传播的权限create session,create table:

SQL> grant create session to c##test2;

授权成功。

SQL> grant create table to c##test2;

授权成功。

select * from 

 

2.对象权限:

现在sys用户下面创建表AA;查看这个表是这样的:select * from sys.AA; 使用test用户来查看select * from sys.AA是没有权限的;提示表或视图不存在; sys登陆,给test用户权限能查看这个表: grant select on AA to test; test下,test现在就能查看sys.AA这个表了;但是不能update: update sys.AA set name=‘呵呵‘ where id = 1;  提示权限不足; sys下,授予test修改表AA的权限: grant update on AA to test; test就能修改AA表了;   一个一个的授权太麻烦了,sys可以将AA表的所有权限都授予test: grant all on AA to test; test用户现在拥有所有操作sys.AA表的权限了,现在test将这些权限传播给test2,提示权限不足,因为test并没有这些权限; grant select on sys.AA to test2; sys给test授权sys.AA表的所有权限,并且带传播特性: grant all on AA to test with grant option; test再次将操作sys.AA表的权限授予test2:就能成功了; grant select on sys.AA to test2; sys回收test对于sys.AA表的更新权限: revoke update on AA from test; sys回收test、test2对于AA表的所有权限: revoke all on AA from test, test2;     三、角色:                                      

技术分享

sys下查看角色,select * from dba_roles;

创建角色:

create role role_AA;

给这个角色授予一些权限:

grant select, update, insert, delete on AA to role_AA;

给test用户分配这个角色:

grant role_AA to test;

test用户select * from sys.AA就能查看表了;

 

比如新创建一个用户,分配一个dba的权限,这个用户就拥有很多的权限了; create user zhangsan identified by 123456 default tablespace users; grant dba to zhangsan;

 

Oracle学习操作(7)用户、权限、角色

标签:技术   revoke   png   ack   并且   权限   sql   回收   ges   

人气教程排行