《Oracle大型數據庫基礎開發教程》(微課視頻版)課件 第7章 用戶與權限管理_第1頁
《Oracle大型數據庫基礎開發教程》(微課視頻版)課件 第7章 用戶與權限管理_第2頁
《Oracle大型數據庫基礎開發教程》(微課視頻版)課件 第7章 用戶與權限管理_第3頁
《Oracle大型數據庫基礎開發教程》(微課視頻版)課件 第7章 用戶與權限管理_第4頁
《Oracle大型數據庫基礎開發教程》(微課視頻版)課件 第7章 用戶與權限管理_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第7章用戶與權限管理7.1用戶與方案1.用戶的概念Oracle用戶,通俗地講就是訪問Oracle數據庫的“人”。用戶是數據庫的使用者和管理者。在Oracle系統中,用戶是允許訪問數據庫系統的有效帳戶,是可以對數據庫資源進行訪問的實體。Oracle數據庫通過創建用戶帳戶并為此帳戶授予相應的數據庫權限等安全參數,用戶才能夠訪問數據庫和進行相應的操作,每個用戶都有一個口令和相應的權限,使用正確的用戶名、口令才能登錄到數據庫中進行數據的存取操作,用戶管理是Oracle數據庫安全管理的核心和基礎。7.1用戶與方案1.用戶的概念Oracle用戶,通俗地講就是訪問Oracle數據庫的“人”。用戶是數據庫的使用者和管理者。在Oracle系統中,用戶是允許訪問數據庫系統的有效帳戶,是可以對數據庫資源進行訪問的實體。Oracle數據庫通過創建用戶帳戶并為此帳戶授予相應的數據庫權限等安全參數,用戶才能夠訪問數據庫和進行相應的操作,每個用戶都有一個口令和相應的權限,使用正確的用戶名、口令才能登錄到數據庫中進行數據的存取操作,用戶管理是Oracle數據庫安全管理的核心和基礎。7.1用戶與方案2.資源的基本概念資源可以有很多方面的理解,如為會話用戶分配的連接、提供的CPU使用率、分配的內存空間,以及數據庫中的模式對象都可以作為資源進行理解。但是這里講述的資源,主要是數據庫系統的實例為用戶分配或者消耗的一些系統資源,如CPU會話時間和分配的SGA空間大小等。Oracle使用概要文件對資源進行管理。概要文件(profile)是一個命名的資源限制的集合,又稱為資源配置文件。分配了概要文件的用戶在使用數據庫時,將受到概要文件中所規定參數的限制。在Oracle中,每個用戶都必須分配概要文件,或者使用系統分配的一個默認概要文件。實質上,概要文件是對資源進行限制的存儲在數據字典中的一些記錄的集合,并不是一個普通意義上的文件。

Oracle的概要文件還提供了口令管理的功能。7.1用戶與方案3.模式的概念模式是數據庫中某個用戶所擁有的所有對象的集合,這些對象包括表、索引、視圖、觸發器、序列和存儲過程等數據庫對象,而用戶是數據庫的使用者。從嚴格的意義上來說,用戶和模式具有不同的定義,但是,實際上在Oracle數據庫中,用戶和模式基本處于對等的地位,很多時候,讀者可以忽略它們的差異,不加區別地使用用戶和模式這兩個概念。在Oracle數據庫中,用戶基本上等同于模式基于下面的事實:(1)當用戶被創建時,同名的模式也同時被創建。(2)當用戶被刪除時,同名的模式也同時被刪除。(3)一個用戶只能關聯一個模式,并且,用戶和模式具有相同的名稱。在Oracle數據庫系統中,用戶和模式可以說是等同的。7.2用戶管理一、Oracle常用用戶1、SYS用戶超級管理員,擁有最高權限

具有sysdba角色,有createdatabase的權限該用戶默認的密碼是sys。2、SYSTEM用戶普通管理員,擁有次高權限具有sysoper角色,沒有createdatabase的權限默認的密碼是manager。3、SCOTT普通用戶密碼默認為tiger,默認未解鎖二、Oracle用戶創建1、使用SQL命令創建(1)命令:命令格式:CREATEUSER用戶名INDENTIFIEDBY口令[DEFAULTTABLESPACE表空間名][TEMPORARYTABLESPACE表空間名][QUOTA{正整數[K|M]|UNLIMITED}ON表空間名...][PASSWORDEXPIRE][ACC0UNT{LOCKL|UNLOCK}][PR0FILE環境文件名|DEFAULT];7.2用戶管理各子句含義:IDENTIFIEDBY子句可為用戶設置口令DEFAULTTABLESPACE子句可為用戶指定默認表空間,如沒有指定則為SYSTEM作為默認表空間。TMPORARYTABLESPACE子句:為用戶指定臨時表空間,如沒有指定則TEMP為臨時表空間QUOTAn:如果指定了默認表空間之后,一般需使用QUOTA子句來為用戶在默認表空間中分配空間配額。PASSWORDEXPIRE子句:設置用戶口令的初始狀態為過期。用戶下次登錄后,口令立即失效,必須為其設置新口令。ACCOUNTLOCK子句:設置用戶賬戶的初始狀態為鎖定,默認為ACCOUNTUNLOCK。7.2用戶管理PROFILE子句:為用戶指定一個概要文件。如果沒有為用戶顯式地指定概要文件,則Oracle將自動為其指定DEFAULT概要文件。7.2用戶管理(2)舉例只有管理員(或具有創建用戶權限的用戶)才能創建新用戶,要先以管理員用戶連接到數據庫,才能創建用戶例1:CONNECTSYS/Oracle11assysdbaCREATEUSERUSER1IDENTIFIEDbya1234;執行:CONNECTUSER1/a1234?7.2用戶管理例2:密碼失效CREATEUSERUSER2IDENTIFIEDbya1234PASSWORDEXPIRE執行:CONNECTUSER2/a12347.2用戶管理例3:用戶鎖定CREATEUSERUSER3IDENTIFIEDbya1234ACCOUNTLOCK執行:CONNECTUSER2/a12347.2用戶管理四、修改用戶1、使用命令修改命令:ALTERUSER用戶名……例1:修改用戶USER1的密碼ALTERUSERUSER1IDENTIFIEDBYoracle執行:CONNECTUSER1/a12347.2用戶管理例2:修改用戶USER1的密碼過期ALTERUSERUSER1PASSWORDEXPIRE;執行:CONNECTUSER1/oracle例3:解除USER3的賬戶鎖定ALTERUSERUSER3accountUNLOCK執行:CONNECTUSER3/a12347.2用戶管理7.2用戶管理五、刪除用戶1、命令DROPUSER用戶名[CASCADE]執行該語句的用戶必須具有DROPUSER系統權限如果要刪除的用戶模式中包含模式對象,則必須在DROPUSER子句中指定CASCADE關鍵字,否則Oracle將返回錯誤信息。如果用戶當前正連接到數據庫,則不能刪除這個用戶例:查看有哪些用戶:SELECTUSERNAMEFROMDBA_USERSdropUSERUSER3一、用戶權限1、權限的含義權限是用戶對數據庫所能執行的行為如果沒有對新戶授予一定的權限,則用戶不能執行任何操作因此首先需要給用戶授予基本的權限,這樣用戶才能夠登錄數據庫,進而在所屬方案中進行創建、刪除、修改數據庫對象等操作如果不允許進行相應操作,可以通過回收其權限來達到對數據庫相應的安全控制。7.3權限管理2、權限分類:系統權限:系統規定用戶使用數據庫的權限。(系統權限是對用戶而言)實體權限(或對象權限):某種用戶對其它用戶的表或視圖的存取權限。(是針對表或視圖而言的)7.3權限管理3、常用的系統權限DBA:擁有全部特權,是系統最高權限,只有DBA才可以創建數據庫結構。RESOURCE:擁有Resource權限的用戶只可以創建實體,不可以創建數據庫結構。CONNECT:擁有Connect權限的用戶只可以登錄Oracle,不可以創建實體,不可以創建數據庫結構。7.3權限管理其他的權限CREATESESSION:允許用戶登錄CREATEUSER:創建用戶權限說明對于普通用戶:授予connect,resource權限。對于DBA管理用戶:授予connect,resource,dba權限。7.3權限管理4、系統權限授權命令:GRANTSYSTEM_PRIV[,SYSTEM_PRIV,...]TO{PUBLIC|ROLE|USER}[,PUBLIC|ROLE|USER}]...[WITHADMINOPTION]7.3權限管理各字句的含義:SYSTEM_PRIV:表示要授予的系統權限的名稱,該選項允許為用戶同時授予多個系統權限,之間用逗號隔開。USER:表示獲得該系統權限的用戶名稱,該選項允許同時為多個用戶授予相同的權限,之間用逗號隔開。ROLE:表示被授予的角色。PUBLIC:表示對系統中所用用戶授權,可以使用它為系統中的每個用戶快速設定權限。WITHADMINOPTION:它是可選項,表示將系統權限授予某個用戶后,該用戶不僅獲得該權限的使用權,還獲得該權限的管理權,包括可以將該權限繼續授予其它用戶,或從其它用戶處回收該權限。該選項的影響力較大,要慎重使用。7.3權限管理例1:授予用戶USER1的connect權限CONNECTUSER1/1234;CONNECTSYS/Oracle11ASSYSDBA;GRANTCONNECTTOUSER1再執行:CONNECTUSER1/1234;7.3權限管理例2:授予用戶USER2登錄的權限,USER2并能把該權限授予其他人CONNECTUSER2/1234;CONNECTSYS/Oracle11ASSYSDBA;Createuseruser4IDENTIFIEDBY1234;GRANTCREATESESSIONTOUSER2WITHADMINOPTION再執行:CONNECTUSER4/1234;再執行:CONNECTUSER2/1234;GRANTCREATESESSIONTOUSER4再執行:CONNECTUSER4/1234;7.3權限管理例3:授予用戶USER4具有DBA的權限CONNECTSYS/Oracle11ASSYSDBA;GRANTconnect,resource,createuserTOUSER4CONNECTUSER4/1234;createUSERUSER5IDENTIFIEDBY12347.3權限管理用戶權限的查詢select*fromdba_sys_privswheregrantee=‘用戶名’;7.3權限管理7.3權限管理5、系統權限回收命令:REVOKESYSTEM_PRIV[,SYSTEM_PRIV,...]FROM{PUBLIC|ROLE|USER}[,USER|ROLE|PUBLIC]]...具有回收權限的用戶才能回收權限例:把USER4的resource權限收回CONNECTSYS/Oracle11ASSYSDBA;REVOKEcreateuserFROMUSER4;CONNECTUSER4/1234;執行:createUSERUSER6IDENTIFIEDBY1234二、對象權限1、對象權限的含義對象權限是指訪問其他用戶模式對象的權力。Oracle數據庫中總共有9種不同的對象權限。常用的對象權限包括對某個數據庫對象中數據的查詢、插入、修改、刪除等權限。

對于表TABLE對象而言,ALL表示ALTER、DELETE、INDEX、SELECT、INSERT、UPDATE、REFERENCES權限對于PROCEDURE存儲過程,ALL表示EXECUTE權限7.3權限管理權限名稱適應的對象類型表視圖序列進程快照SELECT

****INSERT

**UPDATE

**DELETE

***EXECUTE

*ALTER

**INDEX

*REFERENCES*2、常用的權限7.3權限管理3、授權命令GRANT

object_privilege[,object_privilege]ONobject_nameTOuser_name[,user_name][WITH

GRANT

OPTIONJ例:SCOTT用戶授予用戶USER1對表EMP的

查詢權限CONNECTUSER1/1234;SELECT*FROMSCOTT.EMP;CONNECTSCOTT/tiger;GRANTSELECTONEMPTOUSER1;CONNECTUSER1/1234;SELECT*FROMSCOTT.EMP;7.3權限管理4、回收權限命令:

REVOKEobject_privilege[,object_privilege]ONobject_nameFROMuser_name[,user_name];例:SCOTT把user1用戶對EMP的查詢權限收回CONNECTSCOTT/tiger;REVOKESELECTONempFROMUSER1;CONNECTUSER1/1234;SELECT*FROMSCOTT.EMP;7.3權限管理7.4角色管理一、角色1、含義是一組系統權限和對象權限的集合。Oracle數據庫中引入角色的概念是為了簡化數據庫權限的管理。7.4角色管理2、引入角色優點:減少權限管理的工作量。實現動態權限管理。權限的選擇具有可用性和靈活性。應用安全性。

7.4角色管理3、角色的分類系統預定義角色CONNECT:連接到數據庫,最終用戶角色.RESOURCE:申請資源創建對象,開發人員角色.DBA:具有全部系統權限,可以創建數據庫.例1:查詢當前數據庫的所有預定義角色。select*fromdba_roles;例2:grantresourcetohr_user1;7.4角色管理自定義角色以SYS用戶登錄命令:CREATEROLErole_name[IDENTIFIEDBYPASSWORD][NOTIDENTIFIED]例:CREATEROLEtestrole;7.4角色管理4、角色授權和回收權限(1)為角色授予系統權限GRANT

system_privilege[,system_privilege]

TO

role_name

(2)為角色授予對象權限GRANT

object_privilege

[,object_privilege]

ON

object_name

TO

role_name

(3)回收角色的系統權限REVOKE

system_privilege[,system_privilege]

FROM

role_name

(4)回收角色的對象權限REVOKE

object_privilege[,object_privilege]

ON

object_name

FROM

role_name

7.4角色管理例:GRANT

CREATE

SESSION

TO

testrole

;GRANT

SELECT

ON

scott.emp

TO

testrole;

7.4角色管理4、

將角色授予用戶將角色授予用戶的命令與授予權限的命令基本相同,格式如下:GRANT

role_name

TO

user_name

例:GRANT

RESOURCE,testrole

TO

user1;

7.4角色管理5、刪除角色DROP

ROLE

role_name例:DROPROLEtestrole

7.5概要文件管理1、概要文件的概念概要文件(PROFILE)是數據庫和系統資源限制的集合。當數據庫系統運行時,實例可為用戶分配一些系統資源。如CPU的使用、分配SGA的空間大小、連接數據庫的會話數、用戶口令期限等,這些都可以看成數據庫系統的資源。Oracle系統對用戶使用的系統資源可以通過概要文件來管理,如限制用戶使用的系統和數據庫資源,并管理口令。Oracle中有一個默認的概要文件DEFAULT,該概要文件對資源的使用進行一定的限制,但限制比較少。如果創建新用戶時沒有分配概要文件,那么Oracle將自動把默認的概要文件分配給它。多數情況下,管理員需要建立一些專門的概要文件,以限制用戶所使用的資源,使Oracle數據庫更安全。7.5概要文件管理2、概要文件參數資源限制的參數CPU_PER_SESSION表明了每次會話期間所允許的總的CPU執行時間。如果超過這值,那么用戶將不能執行任何語句,而只能通過斷開,重新連接數據庫。CPU_PER_CALL表明了每次語句執行期間所允許的總的CPU執行時間。如果超過這值用戶只需要重新提交語句。CONNECT_TIME限制了用戶每次會話所允許的與數據庫的連接時間,超過這個時間限制,數據庫將斷開與用戶的連接。IDLE_TIME限制了用戶在會話期間所允許的空閑時間(即用戶不執行任何操作的時間),超過這個時間限制,數據庫將斷開與用戶的連接。SESSIONS_PER_USER限制了每個用戶允許并發的會話數量,當使用同一個用戶名的會話數量達到此參數的值時,將不允許此用戶再與數據庫建立新的連接。LOGICAl_READS_PER_SESSION限制用戶在一個會話中所能執行的最大的邏輯讀操作的數量。這里的邏輯讀是指以讀出數據庫的一個塊大小的數據的操作。用戶進行邏輯讀操作的數量達到此參數的值時,將不能執行邏輯讀操作,如查詢。LOGICAL_READS_PER_CALL限制了用戶在每次語句執行期間所允許的最大的邏輯讀操作的數量。當此次語句執行時的邏輯讀超過了此參數的值,則此語句執行被終止。PRIVATE_SGA限制了用戶在會話期間所能分配的SGA內存空間的大小。這個參數對用戶的執行效率影響很大。COMPOSITE_LIMIT是Oracle提供的一個綜合的限制參數,也稱為組合限制,它的值表明了前面的所有參數的加權值的總和不能超過此參數所設置的值。7.5概要文件管理2、概要文件參數

啟用和停用資源限制每個用戶都必須分配概要文件或者使用默認的概要文件,但是這些概要文件的設置是否生效,與初始化參數文件中的參數RESOURCE_IMIT的設置有關。當RESOURCE_IMIT為TRUE時,系統啟用概要文件,實施資源限制。當RESOURCE_LIMIT為FALSE時,系統停用概要文件,不實施資源限制。修改初始化參數文件中的RESOURCE_IMIT參數設置,可以影響下一次數據庫啟動時是否實施資源限制。如果用戶想在數據庫打開時更改啟用或者停用資源限制,執行以下語句將停用資源限制:

ALTERSYSTEMSETRESOURCE_LIMIT=TRUE;7.5概要文件管理3、

管理概要文件創建概要文件創建概要文件,必須具有CREATEPROFILE系統權限。例:

CREATEPROFILEPROFILE_HRLIMITSESSIONS_PER_USER4CPU_PER_SESSIONunlimitedCPU_PER_CALL600IDLE_TIME30CONNECT_TIME300

對于CREATEPROFILE語句中沒有指定的參數,將使用DEFAULT概要文件中的對應參

溫馨提示

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

評論

0/150

提交評論