Oracle角色配置文件Word文件下载.docx
- 文档编号:18622432
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:22
- 大小:23.61KB
Oracle角色配置文件Word文件下载.docx
《Oracle角色配置文件Word文件下载.docx》由会员分享,可在线阅读,更多相关《Oracle角色配置文件Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
_<
ROLE>
[_[d][a]]
d:
指示<
部分指定的角色为用于用户的默认角色
a:
指示可以使用withadminoption为用户授予<
部分所指定的角色
关于外部身份验证,请参考:
Oracle密码文件
常用的角色
角色被授予的权限
DBA几乎所有系统权限
SELECT_CATALOG_ROLE数据字典上的对象权限,未被授予任何系统权限
EXECUTE_CATALOG_ROLE数据字典上的程序包、过程、函数的对象权限
DELETE_CATALOG_ROLEDELETEONSYS.AUD$
DELETEONSYS.FGA_LOG$
EXP_FULL_DATABASE从数据库中导出数据时查询任何表或序列、执行任何过程或类型以及修改
数据字典对象的权限
IMP_FULL_DATABASE执行导入时,在数据库内除了sys模式之外的任何模式中创建对象的权限
CONNECTALTERSESSION
CREATECLUSTER
CREATEDATABASELINK
CREATESEQUENCE
CREATESESSION
CREATESYNONYM
CREATETABLE
CREATEVIEW
RESOURCECREATECLUSTER
CREATEINDEXTYPE
CREATEOPERATOR
CREATEPROCEDURE
CREATETRIGGER
CREATETYPE
UNLIMITEDTABLESPACE(whengranted)
AQ_ADMINISTRATOR_ROLEAdvancedQueuing对象上的对象权限
CREATEEVALUATIONCONTEXT
CREATERULE
CREATERULESET
DEQUEUEANYQUEUE
ENQUEUEANYQUEUE
MANAGEANYQUEUE
AQ_USER_ROLEEXECUTEONSYS.DBMS_AQ
EXECUTEONSYS.DBMS_AQIN
EXECUTEONSYS.DBMS_AQJMS_INTERNAL
EXECUTEONSYS.DBMS_TRANSFORM
SCHEDULER_ADMINCREATEANYJOB
CREATEJOB
EXECUTEANYCLASS
EXECUTEANYPROGRAM
MANAGESCHEDULE
(使用WITHADMINOPTION授予上述所有权限)
PUBLIC不具有特殊的权限,不过为public角色授予权限时,所有用户都会继承该权限
--创建不要口令的角色clerk
SQL>
CREATEROLEclerk;
--创建要口令的角色sales
CREATEROLEsalesIDENTIFIEDBYmoney;
--创建一个需要使用外部标识(如操作系统)的角色manager
CREATEROLEmanagerIDENTIFIEDEXTERNALLY;
--创建后查看角色:
SELECTrole,password_requiredFROMdba_roles;
ROLEPASSWORD
--------------------------------------
CLERKNO
SALESYES
MANAGEREXTERNAL
角色修改:
ALTERROLErolename
[NOTIDENTIFIED|IDENTIFIED
BYpassword|EXTERNALLY|GLOBALLY];
一个角色在创建后可以修改,但只能修改它的验证方法。
但只有角色是使用带有withADMINoption选项的GRANT语句授予的或者具
有ALTERANYROLE系统权限的用户时,才可以修改这个角色
--将角色clerk的验证方法改为使用外部(如操作系统)标识
ALTERROLEclerkIDENTIFIEDEXTERNALLY;
--将角色sales的验证方法改为不使用任何标识方法
ALTERROLEsalesNOTIDENTIFIED;
--将角色manager的验证方法改为使用口令标识,口令为vampire
ALTERROLEmanagerIDENTIFIEDBYvampires;
--再查询后即可看到变化
SELECTrole,password_requiredFROMdba_roles
3.为角色授予和取消权限
a.角色授权
为角色授予系统权限语法
GRANTsystem_priv[,system_priv,...]
TOrole|PUBLIC[,role|PUBLIC,...]
[WITHADMINOPTION];
为角色授予对象权限语法
GRANTALL[PRIVILEGES]|object_priv[(column,column,...)]
[,object_priv[(column,column,...(],...]
ON[schema_name.]object_name
TOrole|PUBLIC[,role|PUBLIC,...];
--为角色赋予权限(GRANT):
showuser;
USERis"
SYSTEM"
CREATEROLEmanager;
Rolecreated.
--赋予系统权限
GRANTCREATETABLE,CREATEVIEW,CREATESESSIONTOmanagerWITHADMINOPTION;
Grantsucceeded.
--赋予对象权限
GRANTSELECT,INSERT,UPDATEONscott.empTOmanager;
--查看角色的系统权限(role_sys_privs)
SELECT*FROMrole_sys_privsWHERErole='
MANAGER'
;
ROLEPRIVILEGEADM
-----------------------------------------------------
MANAGERCREATESESSIONYES
MANAGERCREATETABLEYES
MANAGERCREATEVIEWYES
--查看角色的对象权限(role_tab_privs)
SELECT*FROMrole_tab_privsWHERErole='
ROLEOWNERTABLE_NAMECOLUMN_NAMEPRIVILEGEGRA
---------------------------------------------------------------------------------------------------
MANAGERSCOTTEMPUPDATENO
MANAGERSCOTTEMPINSERTNO
MANAGERSCOTTEMP
b.取消角色所拥有的权限
取消角色拥有的系统权限语法
REVOKEsystem_priv|role_name[,system_priv|role_name,...]
FROMrole|PUBLIC[,role|PUBLIC,...];
取消角色用户的对象权限语法
REVOKEALL[PRIVILEGES]|object_priv[,object_priv,...]
FROMrole|PUBLIC[,role|PUBLIC,...]
[CASCADECONSTRAINTS]
--取消角色的系统权限
REVOKECREATEVIEWFROMmanager;
Revokedsucceeded.
--取消角色的对象权限
REVOKEINSERT,UPDATEONscott.empFROMmanager;
--查看被取消权限后所剩余的权限的集合
SELECTrole,'
System_privs'
owner,privilege
2FROMrole_sys_privs
3WHERErole='
4UNION
5SELECTrole,owner,privilege
6FROMrole_tab_privs
7WHERErole='
ROLEOWNERPRIVILEGE
----------------------------------------------------------------------
MANAGERSCOTTSELECT
MANAGERSystem_privsCREATESESSION
MANAGERSystem_privsCREATETABLE
4.角色赋予与角色取消
a.将角色赋予用户(grant):
语法:
GRANTrole_name[,role_name,...]
TOuser_name|role|PUBLIC[,user_name|role|PUBLIC,...]
--将角色赋予robinson且使用了WITHADMINOPTION
GRANTmanagerTOrobinsonWITHADMINOPTION;
--robinson有权将角色授予john,如下
CONNrobinson/lion;
Connected.
GRANTmanagerTOjohn;
--查看角色授予了哪些用户(dba_role_privs)
SELECT*FROMdba_role_privsWHEREgranted_role='
GRANTEEGRANTED_ROLEADMDEF
--------------------------------------------------------
SYSTEMMANAGERYESYES
JOHNMANAGERNOYES
ROBINSONMANAGERYESYES
--查看用户拥有哪些角色
CONNscott/tiger;
SELECT*FROMuser_role_privs;
USERNAMEGRANTED_ROLEADMDEFOS_
---------------------------------------------------------------------
SCOTTCONNECTNOYESNO
SCOTTRESOURCENOYESNO
--查看用户拥有哪些角色(使用session_roles)
SELECT*FROMsession_roles;
ROLE
------------------------------
CONNECT
RESOURCE
b.取消用户拥有的角色
REVOKErole_name[,role_name,...]
FROMuser_name|role|PUBLIC[,user_name|role|PUBLIC,...];
--取消用户角色
REVOKEresourceFROMscott;
Revokesucceeded.
--查看resource角色已被取消
--对于使用WITHADMINOPTION参数,收回robinson角色,并不影响john的级联角色,如下:
select*fromdba_role_privswheregrantee='
JOHN'
revokemanagerfromrobinson;
ROBINSON'
norowsselected
5.设置默认角色
可以将多个角色授予一个用户。
默认角色是这些角色的一个子集,默认角色在用户登录系统时
自动激活(开启)。
在默认情况下,所有赋予用户的角色在用户登录时不需要口令就被激活。
可以使用ALTERUSER语句来限制用户有的默认角色。
语法:
ALTERUSERusernameDEFAULTROLE
role[,role,...]|ALL[EXCEPTrole[,role,...]]|NONE;
ALTERUSER语句中的DEFAULTROLE子句只适用于那些使用GRANT语句直接授予用户的角色。
DEFAULTROLE子句在下列情况下是不能使用的:
通过其它角色授予的角色
没有直接授予该用户的角色
通过外部服务(如操作系统)管理的角色
--创建用户martin并授予resource,connect角色
SQL>
CREATEUSERmartinIDENTIFIEDBYabc;
Usercreated.
GRANTRESOURCE,CONNECTTOmartin;
Grantsucceeded.
CONNmartin/abc;
Connected.
CONNsystem/redhat
--设置缺省的角色为NONE后,无法登陆
ALTERUSERmartinDEFAULTROLENONE;
Useraltered.
ERROR:
ORA-01045:
userMARTINlacksCREATESESSIONprivilege;
logondenied
Warning:
YouarenolongerconnectedtoORACLE.
CONNsystem/redhat;
--重置角色后可以正常登陆
ALTERUSERmartinDEFAULTROLEALL;
--默认角色为除resource之外的所有角色
ALTERUSERmartinDEFAULTROLEALLEXCEPTRESOURCE;
6.激活和禁止角色(SETROLE)
SETROLEALL[EXCEPTrole_name[,role_name]]|NONE|
role_name[IDENTIFIEDBYpassword][,role_name[IDENTIFIEDBYpassword,...];
SQL>
CONNrobinson/lion
Connected.
--查看用户拥有的所有角色
USERNAMEGRANTED_ROLEADMDEFOS_
---------------------------------------------------------------------
ROBINSONMANAGERNOYESNO
ROBINSONRESOURCENOYESNO
--查看用户拥有的所有权限
SELECT*FROMsession_privs;
PRIVILEGE
----------------------------------------
CREATESESSION
CREATETABLE
CREATECLUSTER
CREATESEQUENCE
CREATEPROCEDURE
CRE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 角色 配置文件