數(shù)據(jù)庫(kù)系統(tǒng)課件03-第3章 表空間用戶權(quán)限和角色_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)課件03-第3章 表空間用戶權(quán)限和角色_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)課件03-第3章 表空間用戶權(quán)限和角色_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)課件03-第3章 表空間用戶權(quán)限和角色_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)課件03-第3章 表空間用戶權(quán)限和角色_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄01表空間的創(chuàng)建與管理02用戶的創(chuàng)建與管理03系統(tǒng)權(quán)限和對(duì)象權(quán)限04角色管理本章重點(diǎn)了解Oracle表空間及用戶的概念和作用掌握對(duì)表空間的創(chuàng)建及管理掌握對(duì)用戶的創(chuàng)建及管理掌握對(duì)系統(tǒng)權(quán)限的作用與使用掌握對(duì)對(duì)象權(quán)限的作用與使用掌握對(duì)角色的作用與使用本章任務(wù)完成“Q_MicroChat”微聊項(xiàng)目表空間創(chuàng)建、用戶管理和權(quán)限設(shè)置及角色管理。具體任務(wù)分解如下:【任務(wù)3-1】項(xiàng)目表空間創(chuàng)建【任務(wù)3-2】項(xiàng)目用戶管理【任務(wù)3-3】項(xiàng)目權(quán)限設(shè)置及角色管理任務(wù)驅(qū)動(dòng)本章目標(biāo)知識(shí)點(diǎn)聽(tīng)懂做復(fù)習(xí)精通表空間的作用★★表空間的創(chuàng)建及管理★★★★★用戶的作用★★用戶的創(chuàng)建及管理★★★★★系統(tǒng)權(quán)限的作用與使用★★★★★對(duì)象權(quán)限的作用與使用★★★★★角色的作用與使用★★★★★JavaJSP表空間的創(chuàng)建與管理1表空間是Oracle邏輯存儲(chǔ)結(jié)構(gòu)中數(shù)據(jù)的邏輯組織形式,Oracle使用表空間將各種數(shù)據(jù)庫(kù)對(duì)象組合在一起;當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)對(duì)象進(jìn)行操作時(shí),面向的是邏輯對(duì)象,而非直接操作物理文件,極大的方便了數(shù)據(jù)庫(kù)操作。3.1表空間【示例】查詢系統(tǒng)中所有表空間的信息3.1表空間SQL>SELECTtablespace_name,status,extent_management,2allocation_type,segment_space_management,contents3FROMdba_tablespaces;TABLESPACE_NAMESTATUSEXTENT_MANAGEMENTALLOCATION_TYPESEGMENT_SPACCONTENTS---------------------------------------------------------------------------------------------------------------------------------SYSTEMONLINELOCALSYSTEMMANUALPERMANENTSYSAUXONLINELOCALSYSTEMAUTOPERMANENTUNDOTBS1 ONLINELOCALSYSTEMMANUALUNDOTEMP ONLINELOCALUNIFORMMANUALTEMPORARYUSERS ONLINELOCALSYSTEMAUTOPERMANENT在數(shù)據(jù)庫(kù)應(yīng)用中對(duì)于表空間的使用,Oracle數(shù)據(jù)庫(kù)建議每個(gè)應(yīng)用分別對(duì)應(yīng)一個(gè)獨(dú)立的表空間,所有用戶對(duì)象和數(shù)據(jù)保存在非系統(tǒng)表空間中,這樣不僅能夠分離不同應(yīng)用的數(shù)據(jù),而且能夠減少讀取數(shù)據(jù)文件時(shí)產(chǎn)生的I/O沖突。根據(jù)表空間的功能特性,一個(gè)表空間的創(chuàng)建,應(yīng)該需要確定表空間的名稱、表空間的管理方式、表空間的類型、表空間的數(shù)據(jù)文件、區(qū)的分配方式、段的管理方式、表空間數(shù)據(jù)塊大小等參數(shù)。3.1.1創(chuàng)建表空間【語(yǔ)法】創(chuàng)建表空間3.1.1創(chuàng)建表空間CREATE[TEMPORARY|UNDO]TABLESPACEtablespace_nameDATAFILEdatafile_spacification[BLOCKSIZEnumberK][ONLINE|OFFLINE][LOGGIN|NOLOGGING][FORCELOGGING][COMPRESS|NOCOMPRESS][EXTENTMANAGEMENTDICTIONARY|LOCAL[AUTOALLOCATE|UNIFORMSIZEnumberK|M]][SEGMENTSPACEMANAGEMENTAUTO|MANUAL];其中:TEMPORARY|UNDO表示創(chuàng)建的表空間類型,分為永久表空間(PERMANENT)、臨時(shí)表空間(TEMPORARY)和撤銷表空間(UNDO),默認(rèn)為永久表空間;DATAFILE用于指定表空間所對(duì)應(yīng)的數(shù)據(jù)文件的信息;BLOCKSIZE表示表空間所基于的數(shù)據(jù)塊大小,默認(rèn)為標(biāo)準(zhǔn)塊表空間;ONLINE|OFFLINE表示新建表空間處于脫機(jī)狀態(tài)還是聯(lián)機(jī)狀態(tài);LOGGING|NOLOGGING表示指定所有保存在該表空間中的默認(rèn)日志選項(xiàng),其中LOGGING表示數(shù)據(jù)庫(kù)對(duì)象的創(chuàng)建以及數(shù)據(jù)的DML操作信息都寫(xiě)入重做日志文件,NOLOGGING表示數(shù)據(jù)的加載操作不寫(xiě)入重做日志文件;3.1.1創(chuàng)建表空間FORCELOGGING表示表空間中所有對(duì)象發(fā)生的變化信息都將被寫(xiě)入重做日志文件,忽略NOLOGGING子句的作用TEMPORARY|UNDO表示創(chuàng)建的表空間類型,分為永久表空間(PERMANENT)、臨時(shí)表空間(TEMPORARY)和撤銷表空間(UNDO),默認(rèn)為永久表空間;COMPRESS|NOCOMPRESS表示是否將數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行壓縮,COMPRESS表示壓縮,壓縮的結(jié)果是消去列中的重復(fù)值,當(dāng)檢索數(shù)據(jù)時(shí),Oracle會(huì)自動(dòng)對(duì)數(shù)據(jù)解壓縮;NOCOMPRESS表示不執(zhí)行壓縮;EXTENTMANAGEMENT用于指定表空間的管理方式,包括字典管理方式(DICTIONARY)和本地管理方式(LOCAL),默認(rèn)為L(zhǎng)OCAL;本地管理表空間中區(qū)的分配方式默認(rèn)為自動(dòng)分配,用參數(shù)AUTOALLOCATE表示;參數(shù)UNIFORM表示定制分配;SEGMENTSPACEMANAGEMENT表示本地管理表空間中段的管理方式,默認(rèn)為自動(dòng)管理方式AUTO。3.1.1創(chuàng)建表空間【語(yǔ)法】數(shù)據(jù)文件的詳細(xì)配置3.1.1創(chuàng)建表空間CREATETABLESPACEtablespace_nameDATAFILEpath/file_nameSIZEnumberK|M[REUSE][AUTOEXTENDOFF|ON [NEXTnumberK|MMAXSIZEUNLIMITED|numberK|M]];其中:tablespace_name為創(chuàng)建的表空間名稱;path/file_name為所創(chuàng)建的表空間實(shí)際存儲(chǔ)在磁盤(pán)中的數(shù)據(jù)文件地址;SIZE指定數(shù)據(jù)文件初始大小;REUSE表示如果該數(shù)據(jù)文件已經(jīng)存在,則清除該文件并重新創(chuàng)建;如果未使用該關(guān)鍵字,則當(dāng)數(shù)據(jù)文件已經(jīng)存在時(shí)將出錯(cuò);AUTOEXTEND指定數(shù)據(jù)文件是否可以自動(dòng)擴(kuò)展。如果可以自動(dòng)擴(kuò)展,需要設(shè)置NEXT值指明每次擴(kuò)展的大小,設(shè)置MAXSIZE值指明文件的最終大小。默認(rèn)值為OFF,不可擴(kuò)展。3.1.1創(chuàng)建表空間【示例】創(chuàng)建名為“qstspace”的本地管理的永久表空間【示例】創(chuàng)建名為“qstspace2”的本地管理的永久表空間3.1.1創(chuàng)建表空間SQL>CREATETABLESPACEqstspace2DATAFILE'e:\oracle12c\userspace\tbs.dbf'SIZE30M;表空間已創(chuàng)建。SQL>CREATETABLESPACEqstspace22DATAFILE'e:\oracle12c\userspace\tbs2.dbf'SIZE30M3EXTENTMANAGEMENTLOCALUNIFORMSIZE512K;表空間已創(chuàng)建。【示例】指定數(shù)據(jù)文件的可擴(kuò)展性【示例】為一個(gè)表空間創(chuàng)建多個(gè)數(shù)據(jù)文件3.1.1創(chuàng)建表空間SQL>CREATETABLESPACEqstspace32DATAFILE'e:\oracle12c\userspace\tbs3.dbf'SIZE30M3AUTOEXTENDONNEXT5MMAXSIZE500M;表空間已創(chuàng)建。SQL>CREATETABLESPACEqstspace42DATAFILE'e:\oracle12c\userspace\data_1.dbf'size20M,3'e:\oracle12c\userspace\data_2.dbf'size5M;表空間已創(chuàng)建。改變表空間大小ALTERTABLESPACE...ADDDATAFILE命令可以為永久表空間添加數(shù)據(jù)文件【示例】為“qstspace”表空間添加一個(gè)大小為10M的新的數(shù)據(jù)文件3.1.2表空間管理SQL>ALTERTABLESPACEqstspace2ADDDATAFILE'e:\oracle12c\userspace\tbs_1.dbf'SIZE10M;表空間已更改。【示例】將“qstspace”表空間的數(shù)據(jù)文件“tbs_1.dbf”的大小增加到20M?!臼纠繉ⅰ皅stspace”表空間的數(shù)據(jù)文件“tbs_1.dbf”設(shè)置為自動(dòng)擴(kuò)展。3.1.2表空間管理SQL>ALTERDATABASEDATAFILE'e:\oracle12c\userspace\tbs_1.dbf'RESIZE20M;數(shù)據(jù)庫(kù)已更改。SQL>ALTERDATABASEDATAFILE'e:\oracle12c\userspace\tbs_1.dbf'2AUTOEXTENDONNEXT5MMAXSIZE100M;數(shù)據(jù)庫(kù)已更改。設(shè)置默認(rèn)表空間通過(guò)查詢數(shù)據(jù)字典DATABASE_PROPERTIES可以獲取當(dāng)前數(shù)據(jù)庫(kù)的默認(rèn)永久表空間【示例】查詢數(shù)據(jù)庫(kù)默認(rèn)表空間3.1.2表空間管理SQL>SELECTproperty_name,property_valueFROMdatabase_properties2WHEREproperty_name='DEFAULT_PERMANENT_TABLESPACE';PROPERTY_NAME PROPERTY_VALUE-------------------------------------------------------------DEFAULT_PERMANENT_TABLESPACEUSERS重命名表空間使用ALTERTABLESPACE...RENAMETO命令對(duì)表空間的名稱進(jìn)行修改【示例】修改數(shù)據(jù)庫(kù)表空間“qstspace”的名稱為“new_qstspace”3.1.2表空間管理SQL>ALTERTABLESPACEqstspaceRENAMETOnew_qstspace;表空間已更改。刪除表空間僅刪除其在數(shù)據(jù)庫(kù)中的記錄將記錄和數(shù)據(jù)文件一起刪除【示例】?jī)H刪除表空間在數(shù)據(jù)庫(kù)中的記錄【示例】刪除表空間及其數(shù)據(jù)文件3.1.2表空間管理SQL>DROPTABLESPACEqstspace4;表空間已刪除。SQL>DROPTABLESPACEqstspace3INCLUDINGCONTENTSANDDATAFILES;表空間已刪除。JavaJSP用戶的創(chuàng)建與管理2系統(tǒng)用戶管理員用戶示例方案用戶內(nèi)置用戶普通用戶(由系統(tǒng)用戶創(chuàng)建)3.2用戶【示例】查看當(dāng)前數(shù)據(jù)庫(kù)所有用戶信息3.2用戶SQL>SELECTusername,account_status,default_tablespaceFROMdba_users;USERNAME ACCOUNT_STATUSDEFAULT_TABLESPACE--------------------------------------------------------------------------------------SYSTEM OPEN SYSTEMSYS OPEN SYSTEMDBSNMP EXPIRED&LOCKED SYSAUXSCOTT EXPIRED&LOCKED USERSORACLE_OCM EXPIRED&LOCKED USERSOJVMSYS EXPIRED&LOCKED USERSSYSKM EXPIRED&LOCKED USERS...USERNAME列標(biāo)識(shí)用戶的登錄名ACCOUNT_STATUS列標(biāo)識(shí)賬號(hào)的當(dāng)前狀態(tài)DEFAULT_TABLESPACE列標(biāo)識(shí)用戶的默認(rèn)表空間3.2用戶使用CREATEUSER命令創(chuàng)建新用戶,執(zhí)行該語(yǔ)句的用戶必須具有CREATEUSER權(quán)限?!菊Z(yǔ)法】3.2.1創(chuàng)建用戶CREATEUSERuser_nameIDENTIFIEDBYpassword[DEFAULTTABLESPACEdefault_tablespace][TEMPORARYTABLESPACEtemp_tablespace][PASSWORDEXPIRE][ACCOUNTLOCK|UNLOCK];其中:user_name指定要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)用戶名IDENTIFIEDBYpassword指定用戶采用數(shù)據(jù)庫(kù)身份認(rèn)證DEFAULTTABLESPACE指定用戶的默認(rèn)表空間TEMPORARYTABLESPACE指定用戶的臨時(shí)表空間PASSWORDEXPIRE指定用戶口令的初始狀態(tài)為過(guò)期,用戶在首次登錄數(shù)據(jù)庫(kù)時(shí)必須修改口令A(yù)CCOUNTLOCK|UNLOCK設(shè)置用戶的初始狀態(tài)為鎖定或不鎖定3.2.1創(chuàng)建用戶【示例】創(chuàng)建一個(gè)名為“test”的普通用戶3.2.1創(chuàng)建用戶SQL>CREATEUSERtestIDENTIFIEDBYTESTtest123;用戶已創(chuàng)建。SQL>--查詢用戶的屬性信息SQL>SELECTusername,account_status,default_tablespace,temporary_tablespace2FROMdba_usersWHERElower(username)='test';USERNAMEACCOUNT_STATUSDEFAULT_TABLESPACETEMPORARY_TABLESPACE-------------------------------------------------------------------TEST OPEN USERS TEMP【示例】創(chuàng)建用戶的同時(shí)為其指定默認(rèn)表空間3.2.1創(chuàng)建用戶SQL>CREATEUSERtest02IDENTIFIEDBYTESTtest02123DEFAULTTABLESPACEqstspace;用戶已創(chuàng)建。SQL>--查詢用戶的屬性信息SQL>SELECTusername,account_status,default_tablespace,temporary_tablespaceFROMdba_usersWHERElower(username)='test02';USERNAMEACCOUNT_STATUSDEFAULT_TABLESPACETEMPORARY_TABLESPACE---------------------------------------------------------------TEST02 OPEN QSTSPACE TEMP【語(yǔ)法】修改用戶密碼【示例】修改用戶口令3.2.2用戶管理ALTERUSER...IDENTIFIEDBYSQL>ALTERUSERtest02IDENTIFIEDBYTESTtest2015;用戶已更改?!菊Z(yǔ)法】修改用戶默認(rèn)表空間【示例】修改用戶默認(rèn)表空間3.2.2用戶管理ALTERUSER...DEFAULTTABLESPACESQL>ALTERUSERtest02DEFAULTTABLESPACEusers;用戶已更改?!菊Z(yǔ)法】用戶的鎖定與解鎖【示例】用戶賬戶的鎖定與解鎖3.2.2用戶管理SQL>ALTERUSERtestACCOUNTLOCK;用戶已更改。SQL>ALTERUSERtestACCOUNTUNLOCK;用戶已更改。ALTERUSER...ACCOUNTLOCK|UNLOCK【語(yǔ)法】刪除用戶【示例】刪除用戶3.2.2用戶管理SQL>DROPUSERtest02CASCADE;用戶已刪除。DROPUSERusername[CASCADE];模式(Schema)是指用戶所擁有的所有對(duì)象的集合。模式與用戶相對(duì)應(yīng),當(dāng)在Oracle數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)用戶時(shí),系統(tǒng)會(huì)自動(dòng)在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)與用戶同名的模式。模式作為數(shù)據(jù)庫(kù)對(duì)象的容器而存在,用于數(shù)據(jù)庫(kù)對(duì)象的管理,這些數(shù)據(jù)庫(kù)對(duì)象包括:表、索引、視圖、序列、同義詞、PL/SQL包、存儲(chǔ)函數(shù)、存儲(chǔ)過(guò)程等;表空間、用戶、角色等數(shù)據(jù)庫(kù)對(duì)象不屬于任何模式,稱為非模式對(duì)象。3.2.3用戶與模式JavaJSP系統(tǒng)權(quán)限和對(duì)象權(quán)限3Oracle數(shù)據(jù)庫(kù)使用權(quán)限來(lái)控制用戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和用戶在數(shù)據(jù)庫(kù)中所能執(zhí)行的操作。所謂權(quán)限就是執(zhí)行特定類型SQL命令或訪問(wèn)其他數(shù)據(jù)對(duì)象的權(quán)利。用戶在數(shù)據(jù)庫(kù)中可以執(zhí)行什么樣的操作,以及可以對(duì)哪些對(duì)象進(jìn)行操作,完全取決于該用戶所擁有的權(quán)限。Oracle權(quán)限分為兩大類系統(tǒng)權(quán)限對(duì)象權(quán)限3.3權(quán)限系統(tǒng)權(quán)限:是指在數(shù)據(jù)庫(kù)級(jí)別執(zhí)行某種操作的權(quán)限,或針對(duì)某一類對(duì)象執(zhí)行某種操作的權(quán)限,如CREATESESSION權(quán)限、CREATETABLE權(quán)限?!臼纠揩@取所有系統(tǒng)權(quán)限名稱3.3.1系統(tǒng)權(quán)限3.3.1系統(tǒng)權(quán)限SQL>SELECTDISTINCTprivilegeFROMdba_sys_privs;PRIVILEGE-------------------------------CREATEJOBINHERITANYPRIVILEGESDROPANYPROCEDUREDROPANYPROCEDUREDROPANYMATERIALIZEDVIEWALTERANYRULESETALTERANYTABLECREATEANYCUBEDIMENSIONDROPANYDIRECTORYALTERANYOPERATORDROPANYDIMENSIONEMEXPRESSCONNECT系統(tǒng)權(quán)限通常分為兩大類一類是對(duì)數(shù)據(jù)庫(kù)某一類對(duì)象的操作能力,與具體的數(shù)據(jù)庫(kù)對(duì)象無(wú)關(guān),通常帶有ANY關(guān)鍵字另一類系統(tǒng)權(quán)限是數(shù)據(jù)庫(kù)級(jí)別的某種操作能力3.3.1系統(tǒng)權(quán)限常用系統(tǒng)權(quán)限及其功能3.3.1系統(tǒng)權(quán)限系統(tǒng)權(quán)限功能系統(tǒng)權(quán)限功能CREATETABLE在當(dāng)前用戶模式中創(chuàng)建、修改、刪除表CREATEUSER創(chuàng)建用戶CREATEANYTABLE在任何模式中創(chuàng)建表ALTERUSER修改用戶ALTERANYTABLE修改任何模式中的表或視圖DROPUSER刪除用戶DROPANYTABLE刪除任何模式中的表CREATESESSION連接登錄數(shù)據(jù)庫(kù)CREATEROLE創(chuàng)建角色CREATEANYINDEX在任何模式中創(chuàng)建索引ALTERANYROLE修改任何角色ALTERANYINDEX修改任何模式中的索引DROPANYROLE刪除任何角色DROPANYINDEX刪除任何模式中的索引【語(yǔ)法】系統(tǒng)權(quán)限的授予其中:system_privilege_list表示系統(tǒng)權(quán)限列表,多個(gè)系統(tǒng)權(quán)限以逗號(hào)分隔ALLPRIVILEGES表示所有系統(tǒng)權(quán)限user_list表示用戶列表,多個(gè)用戶以逗號(hào)分隔WITHADMINOPTION表示允許系統(tǒng)權(quán)限接收者再把此權(quán)限授予其他用戶3.3.1系統(tǒng)權(quán)限GRANTsystem_privilege_list|[ALLPRIVILEGES]TOuser_list[WITHADMINOPTION];【示例】為用戶授予連接登錄數(shù)據(jù)庫(kù)的系統(tǒng)權(quán)限【示例】為用戶授予創(chuàng)建表、創(chuàng)建序列的系統(tǒng)權(quán)限3.3.1系統(tǒng)權(quán)限SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>GRANTCREATESESSIONTOtest;授權(quán)成功。SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>GRANTCREATETABLE,CREATESEQUENCETOtest;授權(quán)成功?!臼纠繛橛脩羰谟枰欢ǖ南到y(tǒng)權(quán)限,且具有傳遞性3.3.1系統(tǒng)權(quán)限SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>GRANTCREATETABLE,CREATESEQUENCETOtestWITHADMINOPTION;授權(quán)成功。SQL>CONNtest/QSTqst2015;已連接。SQL>GRANTCREATETABLETOtest02;授權(quán)成功。【語(yǔ)法】系統(tǒng)權(quán)限的回收【示例】3.3.1系統(tǒng)權(quán)限REVOKEsys_privilege_list|[ALLPRIVILEGES]FROMuser_list;SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>REVOKECREATETABLE,CREATESEQUENCEFROMtest;撤銷成功。對(duì)象權(quán)限是指對(duì)某個(gè)特定模式對(duì)象的操作權(quán)限在Oracle數(shù)據(jù)庫(kù)中,不同類型的模式對(duì)象具有不同的對(duì)象權(quán)限,還有一些對(duì)象沒(méi)有對(duì)象權(quán)限,只能通過(guò)系統(tǒng)權(quán)限進(jìn)行控制,如索引、觸發(fā)器、數(shù)據(jù)庫(kù)鏈接等對(duì)象3.3.2對(duì)象權(quán)限常用對(duì)象權(quán)限及其功能3.3.2對(duì)象權(quán)限對(duì)象權(quán)限功能SELECT用于查詢表、視圖和序列UPDATE更新表、視圖中的數(shù)據(jù)INSERT向表、視圖中插入新的記錄DELETE刪除表、視圖中的數(shù)據(jù)ALTER修改表、序列的屬性INDEX在表上創(chuàng)建索引REFERENCE為表創(chuàng)建外鍵EXECUTE函數(shù)、存儲(chǔ)過(guò)程、程序包等的調(diào)用或執(zhí)行【語(yǔ)法】對(duì)象權(quán)限的授予其中:object_privilege_list表示對(duì)象權(quán)限列表,多個(gè)對(duì)象權(quán)限以逗號(hào)分隔ALL[PRIVILEGES]表示某對(duì)象上的所有對(duì)象權(quán)限[schema.]object表示模式對(duì)象,默認(rèn)為當(dāng)前模式中的對(duì)象user_list表示用戶列表,多個(gè)用戶以逗號(hào)分隔WITHGRANTOPTION表示允許對(duì)象權(quán)限接收者把此對(duì)象權(quán)限授予其他用戶3.3.2對(duì)象權(quán)限GRANTobject_privilege_list|ALL[PRIVILEGES]ON[schema.]objectTOuser_list[WITHGRANTOPTION];【示例】將SCOTT模式的emp表的部分對(duì)象權(quán)限授予用戶test3.3.2對(duì)象權(quán)限SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>GRANTSELECT,INSERT,UPDATEONscott.empTOtest;授權(quán)成功。SQL>CONNtest/QSTqst2015;已連接。SQL>SELECT*FROMscott.empWHEREempno=7782;EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO-------------------------------------------------------------------------------------7782 CLARKMANAGER783909-6月-81245010【示例】對(duì)象權(quán)限的傳遞3.3.2對(duì)象權(quán)限SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>GRANTSELECT,INSERT,UPDATEONscott.empTOtestWITHGRANTOPTION;授權(quán)成功。SQL>CONNtest/QSTqst2015;已連接。SQL>GRANTSELECT,INSERTONscott.empTOtest02;授權(quán)成功。SQL>CONNtest02/QSTqst2015;已連接。SQL>SELECT*FROMscott.empWHEREempno=7782;EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO-------------------------------------------------------------7782CLARKMANAGER783909-6月-81245010【示例】為用戶賦予scott.emp表的所有對(duì)象權(quán)限3.3.2對(duì)象權(quán)限SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>GRANTALLONscott.empTOtest;授權(quán)成功?!菊Z(yǔ)法】對(duì)象權(quán)限的回收其中:CASCADECONSTRAINTS表示當(dāng)回收REFERENCE對(duì)象權(quán)限或回收ALLPRIVILEGES對(duì)象權(quán)限時(shí),刪除利用REFERENCE對(duì)象權(quán)限創(chuàng)建的外鍵約束3.3.2對(duì)象權(quán)限REVOKEobject_privilege_list|ALL[PRIVILEGE]ON[schema.]objectFROMuser_list[CASCADECONSTRAINTS];【示例】回收用戶“test02”在scott.emp表上的某些權(quán)限【示例】回收用戶“test”在scott.emp表上的所有權(quán)限3.3.2對(duì)象權(quán)限SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>REVOKESELECT,INSERTONscott.empFROMtest02撤銷成功。SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>REVOKEALLONscott.empFROMtest撤銷成功。【示例】所有權(quán)限3.3.2對(duì)象權(quán)限SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>GRANTALLONscott.empTOtestWITHGRANTOPTION;授權(quán)成功。SQL>CONNtest/QSTqst2015;已連接。SQL>GRANTSELECTONscott.empTOtest02;授權(quán)成功。SQL>CONNSYSTEM/QSTqst2015;已連接。SQL>REVOKESELECTONscott.empFROMtest;撤銷成功。SQL>CONNtest02/QSTqst2015;已連接。SQL>SELECT*FROMscott.emp;SELECT*FROMscott.emp*第1行出現(xiàn)錯(cuò)誤:ORA-00942:表或視圖不存在JavaJSP角色管理4角色是指系統(tǒng)權(quán)限或者對(duì)象權(quán)限的集合。Oracle允許首先創(chuàng)建一個(gè)角色,然后將角色信息賦予用戶,從而間接地將權(quán)限分配給用戶。因?yàn)榻巧目蓮?fù)用性,因此可以將角色再次分配給其他用戶,從而減少了重復(fù)工作。3.4角色常用系統(tǒng)預(yù)定義角色3.4角色角色名稱包括的權(quán)限D(zhuǎn)BA包含所有系統(tǒng)權(quán)限,且?guī)в蠾ITHADMINOPTION選項(xiàng),即可以將系統(tǒng)權(quán)限授予其他用戶CONNECTCREATESESSION、ALTERSESSION、CREATESEQUENCE、CREATESYNONYM、CREATEVIEW、CREATECLUSTER、CREATEDATABASELINKRESOURCECREATESEQUENCE、CREATETABLE、CREATETRIGGER、CREATETYPE、CREATECLUSTER、CREATEPROCEDURE【語(yǔ)法】用戶自定義角色其中:role_name表示自定義角色的名稱,該名稱不能與任何用戶名或其他角色名相同NOTIDENTIFIED表示角色采用數(shù)據(jù)庫(kù)認(rèn)證,激活角色時(shí)不需要口令I(lǐng)DENTIFIEDBYpassword表示角色采用數(shù)據(jù)庫(kù)認(rèn)證,激活角色時(shí)需要輸入口令3.4.1角色的創(chuàng)建與授權(quán)CREATEROLErole_name[NOTIDENTIFIED]|[IDENTIFIEDBYpassword];【示例】創(chuàng)建一個(gè)不需要口令的數(shù)據(jù)庫(kù)認(rèn)證的角色【示例】創(chuàng)建一個(gè)需要口令的數(shù)據(jù)庫(kù)認(rèn)證的角色3.4.1角色的創(chuàng)建與授權(quán)SQL>CONNsystem/QSTqst2015;已連接。SQL>CREATEROLErole_emp;角色已創(chuàng)建。SQL>CONNsystem/QSTqst2015;已連接。SQL>CREATEROLErole_managerIDENTIFIEDBYrolemanager;角色已創(chuàng)建?!臼纠拷巧氖跈?quán)和回收3.4.1角色的創(chuàng)建與授權(quán)SQL>CONNsystem/QSTqst2015;已連接。SQL>GRANTALLONscott.empTOrole_emp;授權(quán)成功。SQL>GRANTCREATESESSION,CREATETABLE,CREATEVIEWTOrole_manager;授權(quán)成功。SQL>REVOKEUPDATE,DELETEONscott.empFROMrole_emp;撤銷成功。SQL>REVOKECREATETABLE,CREATEVIEWFROMrole_manager;撤銷成功。【語(yǔ)法】角色授予其中:WITHADMINOPTION表示被授予用戶可以將此角色再授予其他用戶,或從任何具有該角色的用戶那里回收該角色3.4.2角色的授予與回收GRANTrole_listTOuser_list|role_list[WITHADMINOPTION];【示例】將系統(tǒng)預(yù)定義角色授予一個(gè)角色【示例】將用戶自定義角色授予一個(gè)用戶3.4.2角色的授予與回收SQL>CONNsystem/QSTqst2015;已連接。SQL>GRANTCONNECT,RESOURCETOrole_emp;授權(quán)成功。SQL>CONNsystem/QSTqst2015;已連接。SQL>GRANTrole_empTOtestWITHADMINOPTION;授權(quán)成功?!臼纠肯到y(tǒng)權(quán)限、對(duì)象權(quán)限和角色的組合授予3.4.2角色的授予與回收SQL>CONNsystem/QSTqst2015;已連接。SQL>GRANTCONNECT,role_empTOtest;授權(quán)成功。SQL>GRANTrole_emp,SELECTONscott.empTOtest;GRANTrole_emp,SELECTONscott.empTOtest*第1行出現(xiàn)錯(cuò)誤:ORA-00990:權(quán)限缺失或無(wú)效【示例】從其他角色或用戶回收角色3.4.2角色的授予與回收SQL>CONNsystem/QSTqst2015;已連接。SQL>REVOKERESOURCEFROMrole_emp;撤銷成功。SQL>REVOKErole_empFROMtest;撤銷成功?!菊Z(yǔ)法】修改角色【示例】為角色role_emp添加認(rèn)證口令,取消role_manager的認(rèn)證口令3.4.3角色管理ALTERROLErole[NOTIDENTIFIED]|[IDENTIFIEDBYpassword];SQL>CONNsystem/QSTqst2015;已連接。SQL>ALTERROLErole_empIDENTIFIEDBYroleemp;角色已丟棄。SQL>ALTERROLErole_managerNOTIDENTIFIED;角色已丟棄?!菊Z(yǔ)法】禁用與激活角色其中:user表示設(shè)置默認(rèn)角色的用戶名稱role_list表示指定的默認(rèn)角色,多個(gè)角色名稱以逗號(hào)分隔ALL表示將用戶的所有角色都設(shè)置為默認(rèn)角色,處于激活狀態(tài)EXCEPTrole_list表示除了指定的角色被禁用外,其余所有角色都為默認(rèn)角色NONE表示禁用用戶的所有角色,即用戶登錄時(shí)所有角色都處于禁用狀態(tài)3.4.3角色管理ALTERUSERuserDEFAULTROLErole_list|[ALL[EXCEPTrole_list]]|NONE;【示例】禁用用戶“test”的所有角色【示例】將用戶“test”的所有角色設(shè)置為默認(rèn)角色3.4.3角色管理SQL>CONNsystem/QSTqst2015;已連接。SQL>ALTERUSERtestDEFAULTROLENONE;用戶已更改。SQL>ALTERUSERtestDEFAULTROLEALL;用戶已更改?!臼纠繉⒂脩簟皌est”的部分角色設(shè)置為默認(rèn)角色【示例】將用戶“test”除某個(gè)角色外其他所有角色設(shè)置為默認(rèn)角色3.4.3角色管理SQL>ALTERUSERtestDEFAULTROLEALLEXCEPTrole_emp;用戶已更改。SQL>ALTERUSERtestDEFAULTROLECONNECT,role_emp;用戶已更改。刪除角色【示例】刪除用戶自定義角色3.4.3角色管理SQ

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論