假如我们直接给每一个用户赋予权限,这将是一个巨大又麻烦的工作,同时也不方便DBA进行管理。通过采用角色,使得:
- 权限管理更方便。将角色赋予多个用户,实现不同用户相同的授权。如果要修改这些用户的权限,只需修改角色即可;
- 角色的权限可以激活和关闭。使得DBA可以方便的选择是否赋予用户某个角色;
- 提高性能,使用角色减少了数据字典中授权记录的数量,通过关闭角色使得在语句执行过程中减少了权限的确认。
(1)角色的信息存在dba-roles数据字典中,如下所示:
(2)创建角色:
CREATE ROLE role_name [NOT IDENTIFIED | IDENTIFIED { BY password | EXTERNALLY | GLOABAL | USING package} ]
意思如下:
- role_name:角色名字;
- NOT IDENTIFIED | IDENTIFIED:激活角色前不需要/需要密码认证;
- BY password:认证密码;
- USING package:创建应用角色,该角色只能通过授权的package激活;
- EXTERNALLY:角色在激活前,必须通过外部服务授权;
- GLOBALLY:使用STE ROLE激活角色时,用户必须通过企业路径服务授权使用角色
【未完待续。。。】