Oracle入门精读55-Oracle角色管理常用方法

本文详细介绍了Oracle数据库中角色与权限的管理操作,包括角色的创建、授权、分配、查看和删除,以及如何设置角色生效和修改用户默认角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

显示系统中的所有角色

sql>select * from dba_roles;

显示角色具有的系统权限

Sql> select role,privilege from role_sys_privs where role='CONNECT';

显示角色具有的对象权限

Sql> select role,privilege from role_tab_privs where role=upper('dba')

显示用户具有的角色及默认角色

当以用户的身份连接到数据库时,Oracle会自动激活默认角色。

查询数据字典视图dba_role_privs可以显示某个用户具有的所有角色及当前默认的角色。

SQL> select grantee,granted_role from dba_role_privs where grantee = 'SCOTT';

建一个角色

sql>create role role1;

给角色授权

sql>grant create any table,create procedure to role1;

分配角色给用户

sql>grant role1 to user1;

查看角色所包含的权限

sql>select * from role_sys_privs;

创建带有口令以角色

sql>create role role1 identified by password1;

修改角色:是否需要口令

sql>alter role role1 not identified;

sql>alter role role1 identified by password1;

设置角色生效

sql>set role role1;       //使role1生效

sql>set role role,role2;   //使role1,role2生效

sql>set role role1 identified by password1;  //使用带有口令的role1生效

sql>set role all;   //使用该用户的所有角色生效

sql>set role none;  //设置所有角色失效

sql>set role all except role1;//除role1外的该用户的所有其它角色生效。

sql>select * from SESSION_ROLES;//查看当前用户的生效的角色。

修改指定用户,设置其默认角色

sql>alter user user1 default role role1;

sql>alter user user1 default role all except role1;

删除角色

sql>drop role role1;

备注:角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值