1.查询 oracle 所有的角色
2.介绍常用的 预定角色 connect ,resource,dba
3.举例:授予 connect resource dba 系统角色
4.收回角色
5.自定义 角色--一般是dba来建立,别的用户需要 create role 的系统权限(创建角色时候可以指定验证方式(不验证,数据库验证等)
6.给 自定义角色 授予 系统权限
7.给自定 角色 授予 对象权限
8.将自定义角色 授予 用户
9.删除某个用户的角色
10.删除 自定义 角色
11.查看当前用户拥有的 角色
- select*fromdba_roles;
2.介绍常用的 预定角色 connect ,resource,dba
- 1.connect具有一般开发人员的大部分权限,建立一个用户多半情况下,赋予connect和resource角色就够了。
- connect角色所拥有的权限有:
- altersession修改会话
- createcluster创建簇
- createdatabaselink
- createsession
- createtable
- createview
- createsequence
- 2.resources角色用开发人员选用的其他权限,比如建立存储过程,触发器,resource角色隐含了unlimitedtablespace系统权限无限表空间权限。
- createcluster
- createindextype
- createtable
- createtype
- createproecdure
- createtrigger
- 3.dba角色具有所有的系统权限以及withadminoption选项,默认的dba用户为sys和system他们可以将任何系统权限授予其他用户,但是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)
3.举例:授予 connect resource dba 系统角色
- grantconnecttoluob【withadminoption】//授予连接权限是否遗传下去
- grantresource,dbatoluob//授予资源和dba角色
4.收回角色
- revokeconnect,resource,dbafromluob//回收连接资源dba角色
5.自定义 角色--一般是dba来建立,别的用户需要 create role 的系统权限(创建角色时候可以指定验证方式(不验证,数据库验证等)
- createrole角色名notidentified;//不需要验证的
- alterrolemyroleidentifiedbym123;//将上面定义的角色修改成需要数据库验证的角色
- createrole角色名identifiedbyr111;//定义需要验证的角色myrole
6.给 自定义角色 授予 系统权限
- grantcreatesessionto角色名【withadminoption】//给连接权限给角色
7.给自定 角色 授予 对象权限
- grantselectonscott.empfrom角色名--都是system用户登录
- grantupdateonscott.empfrom角色名--如果用scott就没有方案名
- grantdeleteonscott.empfrom角色名
- grantallonempfrom角色
8.将自定义角色 授予 用户
- grant角色名to用户名【withadminoption】
9.删除某个用户的角色
- revoke角色名from用户名
10.删除 自定义 角色
- droprole角色名//如果角色被删除了,拥有这个角色的人都没有角色对应的权限了
11.查看当前用户拥有的 角色
- select*fromuser_role_privs