資源描述:
《oracle創(chuàng)建用戶》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、o角色概述角色是Oracle引入的權(quán)限的集合,通過將各種權(quán)限賦予角色,使得權(quán)限的賦予和回收非常方便,尤其是對于一個大的數(shù)據(jù)庫系統(tǒng)中有很多不同的數(shù)據(jù)庫用戶,使用角色可以很好的減少DBA的用戶權(quán)限的管理o角色是數(shù)據(jù)庫各種權(quán)限的集合,使用角色可以方便的管理數(shù)據(jù)庫特權(quán),角色可以賦予其他用戶也可以賦予其他角色,下圖形象的說明了角色的作用。o創(chuàng)建角色ü創(chuàng)建角色的語法格式,如下所示。CREATEROLErole_name[NOTIDENTIFIED
2、IDENTIFIED{BYpassword
3、EXTERNALLY
4、
5、GLOBALLY
6、USINGpackage}]o下面詳細介紹各個參數(shù)的含義:ürole_name:角色名字üNOTIDENTIFIED::在激活角色時不需要密碼驗證。üIDENTIFIED:在激活角色時需要密碼驗證。üBYPASSWORD:設(shè)置激活角色的驗證密碼。üUSINGpackage:創(chuàng)建應(yīng)用角色,該角色只能由應(yīng)用通過授權(quán)的package激活。üEXTERNALLY:說明角色在激活前,必須通過外部服務(wù)如操作系統(tǒng)或第三方服務(wù)授權(quán)。üGLOBALLY:當使用SETROLE激活角色時,用戶必須通過企業(yè)
7、路徑服務(wù)授權(quán)來使用角色。o創(chuàng)建角色ü示例:創(chuàng)建角色mk_clerk,該角色不需要任何口令標識。SQL>connectsystem/oracle@orcl已連接。SQL>createrolemk_clerk;ü創(chuàng)建角色at_clerk,該角色在激活時需要口令標識。SQL>createroleat_clerk2identifiedbyrmb;創(chuàng)建角色manager,該角色使用外部服務(wù)來標識。o修改角色ü示例:將角色AT_CLERK的驗證方法改為不需要任何標識。SQL>alterroleat_clerk2n
8、otidentified;ü將角色MANAGER的驗證方法改為需要密碼標識。SQL>alterrolemanager2identifiedbyrmb;o賦予角色權(quán)限我們知道角色是權(quán)限的集合,所以在創(chuàng)建了角色后,就需要將各種權(quán)限賦予該角色,賦予角色權(quán)限的語法格式如下所示。GRANT權(quán)限
9、角色TO角色名ü為角色CLERK賦予權(quán)限SQL>grantcreatesession,selectanytable,createviewtoat_clerk;ü將權(quán)限和角色AT_CLERK授予角色MANAGERSQL>g
10、rantcreateanytable,at_clerktomanager;o賦予用戶角色我們知道角色是權(quán)限的集合,所以在創(chuàng)建了角色后,就需要將各種角色賦予用戶,或賦予所有用戶(PUBLIC),將角色賦予用戶的語法格式如下所示。GRANTrole[,role]……TO{user
11、role
12、public}
13、[,{user
14、role
15、public}]……[WITHADMINOPTION]參數(shù)含義如下所示。參數(shù)解釋orole:賦予用戶的角色名(如多個角色,則用逗號隔開)。ouser:被賦予角色的用戶(如多個用
16、戶用逗號隔開)oPUBLIC:將角色賦予所有用戶oWITHADMINOPTION:被賦予該角色的用戶或角色可以繼續(xù)將該角色賦予其他用戶或角色。示例:創(chuàng)建一個新用戶,然后將角色賦予該用戶üSQL>createusermymanageridentifiedbymy12#;üSQL>grantat_clerktomymanagerwithadminoptiono回收和刪除角色回收用戶CLERK的AT_CLERK角色SQL>revokeat_clerkfrommymanager;o刪除角色AT_CLERKSQ
17、L>droproleat_clerk;o將角色授予所有用戶。SQL>grantmanagertopublic;o回收授予PUBLIC的MANAGER角色SQL>revokemanagerfrompublic;o權(quán)限的概念和分類權(quán)限是執(zhí)行特殊SQL語句或訪問其他用戶擁有的對象的權(quán)利,這些權(quán)利包括:連接數(shù)據(jù)庫、維護表空間、改變系統(tǒng)狀態(tài)、創(chuàng)建表、從用戶表中選擇數(shù)據(jù)行、執(zhí)行存儲過程等。oOracle將權(quán)限分為系統(tǒng)權(quán)限和用戶權(quán)限。ü系統(tǒng)權(quán)限:系統(tǒng)權(quán)限允許用戶執(zhí)行一個或一類特殊的數(shù)據(jù)庫操作,如創(chuàng)建數(shù)據(jù)庫、創(chuàng)建用戶
18、、創(chuàng)建與維護表空間以及管理會話等。對象權(quán)限:對象權(quán)限是用戶維護數(shù)據(jù)庫對象的權(quán)利,如維護表、視圖、序列號、存儲過程、函數(shù)等。o幾種系統(tǒng)權(quán)限下面我們介紹常用的幾類系統(tǒng)權(quán)限。o1.與索引相關(guān)。CREATEANYINDEX:創(chuàng)建任何模式中對象的索引。ALTERANYINDEX:修改任何模式的索引。DROPANYINDEX:刪除任何模式的索引。說明:沒有CREATEINDEX的權(quán)限。在CREATETABLE權(quán)限中包含了CREATEINDEX的權(quán)利。o2.與表相關(guān)。