oracle-用戶管理.ppt_第1頁
oracle-用戶管理.ppt_第2頁
oracle-用戶管理.ppt_第3頁
oracle-用戶管理.ppt_第4頁
oracle-用戶管理.ppt_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、用戶管理,教學目標,理解Oracle數(shù)據(jù)庫的用戶和角色管理機制 理解Oracle數(shù)據(jù)庫用戶的兩種認證方式,工作任務,用戶和角色創(chuàng)建、修改和授權,概要文件,功能: 對數(shù)據(jù)庫用戶進行基本的資源限制,保證系統(tǒng)正常運行,防止用戶消耗大量資源造成的系統(tǒng)性能下降;對用戶口令進行管理。 方法:將數(shù)據(jù)庫用戶分為幾類,為每類用戶創(chuàng)建概要文件,并且一個數(shù)據(jù)庫用戶只能指定一個概要文件,但是一個概要文件可以為多個用戶所用。 設置預定義資源參數(shù)。 這些參數(shù)包含在概要文件中,如果沒有為用戶指定概要文件,則使用Default概要文件,概要文件(續(xù)),概要文件控制資源內容: 每個用戶當前的會話數(shù) CPU使用的時間 私有的SQ

2、L和PL/SQL區(qū)使用 邏輯讀取的實現(xiàn) 用戶連接到數(shù)據(jù)庫的空閑時間 注意:resource_limit = TRUE時,啟動資源限制。,概要文件(續(xù)),常用資源限制參數(shù): SESSIONS_PER_USER : 限制用戶最大并發(fā)會話數(shù)目 CPU_PER_SESSION: 限制每個會話占用的最大CPU時間 CPU_PER_CALL :限制一個SQL語句使用的CPU時間 LOGICAL_READS_PER_SESSION:限制每個會話讀取的數(shù)據(jù)庫數(shù)據(jù)塊數(shù),包括從內存和磁盤讀取的總和 LOGICAL_READS_PER_CALL:限制SQL語句讀取的數(shù)據(jù)庫數(shù)據(jù)塊數(shù),包括從內存和磁盤讀取的總和 PRI

3、VATE_SGA :SGA中私有區(qū)域的大小,概要文件(續(xù)),CONNECT_TIME :指定每個會話連接到數(shù)據(jù)庫的最大時間 IDLE_TIME DEFAULT:指定一個會話可以連續(xù)空閑的最長時間,單位:分鐘 COMPOSITE_LIMIT:設置用戶對系統(tǒng)資源的綜合消耗。由: CPU_PER_SESSION、 LOGICAL_READS_PER_SESSION、 PRIVATE_SGA、CONNECT_TIME綜合決定,概要文件(續(xù)),FAILED_LOGIN_ATTEMPTS:最大錯誤登錄次數(shù) PASSWORD_LOCK_TIME:登錄失敗后賬戶被鎖天數(shù) PASSWORD_LIFE_TIME:

4、密碼有效天數(shù) PASSWORD_GRACE_TIME:用戶密碼被中止前多少天提醒用戶修改密碼 PASSWORD_REUSE_TIME:用戶修改密碼后多少天,用戶才可以再次使用原來的密碼 PASSWORD_REUSE_MAX:密碼被重新使用后,可修改的次數(shù)PASSWORD_VERIFY_FUNCTION:密碼復雜度審計函數(shù),概要文件(續(xù)),創(chuàng)建概要文件 CREATE PROFILE TEMPPROFILELIMIT CPU_PER_SESSION 1000 CPU_PER_CALL 1000CONNECT_TIME 30IDLE_TIME DEFAULTSESSIONS_PER_USER 10L

5、OGICAL_READS_PER_SESSION 1000LOGICAL_READS_PER_CALL 1000PRIVATE_SGA 16KCOMPOSITE_LIMIT 1000000 FAILED_LOGIN_ATTEMPTS 3PASSWORD_LOCK_TIME 5PASSWORD_GRACE_TIME 60PASSWORD_LIFE_TIME 30PASSWORD_REUSE_MAXDEFAULT PASSWORD_REUSE_TIME 30PASSWORD_VERIFY_FUNCTION DEFAULT,用戶管理,在Oracle數(shù)據(jù)庫中,系統(tǒng)通過安全措施防止非法用戶對數(shù)據(jù)庫進行操

6、作。因此,要連接到Oracle,就需要一個用戶帳號 在安裝數(shù)據(jù)庫時,Oracle將創(chuàng)建一些默認的數(shù)據(jù)庫用戶模式,默認的數(shù)據(jù)庫用戶,SYS用戶是Oracle中的一個超級用戶。數(shù)據(jù)庫中所有的數(shù)據(jù)字典和視圖都存儲在SYS模式中 。SYS用戶主要用來維護系統(tǒng)信息和管理實例,SYS用戶只能以SYSOPER或SYSDBA角色登陸。 SYSTEM用戶是Oracle默認的系統(tǒng)管理員,它擁有DBA權限。該用戶擁有Oracle管理工具使用的內部表和視圖。通常通過SYSTEM用戶管理Oracle數(shù)據(jù)庫的用戶、權限和存儲等。不建議在SYSTEM用戶模式中創(chuàng)建用戶表。 SCOTT用戶是Oracle數(shù)據(jù)庫的一個示范用戶。

7、如果安裝時不更改其口令,其默認口令是TIGER。,創(chuàng)建新用戶,在Oracle中可以用CREATE USER命令用于創(chuàng)建新用戶。每個用戶都有一個默認表空間和一個臨時表空間,在創(chuàng)建時可以為它們指定,如果不指定,Oracle就把SYSTEM設為默認表空間,TEMP設為臨時表空間。 創(chuàng)建新用戶的語法如下: CREATE USER user_name IDENTIFIED BY password DEFAULT TABLESPACE tablespace_name1 TEMPORARY TABLESPACE tablespace_name2,Oracle中的用戶管理,Oracle中的用戶管理包括創(chuàng)建用戶

8、、為用戶授權、修改用戶口令、刪除用戶等。 1. 以DBA身份登錄到SQL*Plus的SQL提示符狀態(tài),輸入以下的命令創(chuàng)建新用戶: CREATE USER user1 IDENTIFIED BY pwd1 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;,Oracle中的用戶管理,2. 按回車后系統(tǒng)提示“用戶已創(chuàng)建”,表明創(chuàng)建用戶成功。該用戶的用戶名是“user1”,口令是“pwd1”,默認表空間是“USERS”,臨時表空間是“TEMP”。 3. 下面為用戶授權:在SQL提示符下,輸入以下命令,為用戶user1授予CONNECT權限: GRA

9、NT CONNECT TO user1;,Oracle中的用戶管理,4. 在SQL提示符下輸入“CONN SCOTT/TIGER”,以SCOTT用戶身份登錄后,繼續(xù)輸入下面的授權命令,為用戶user1授予查看表dept的權限,user1同時還擁有了把此查看權限授予其他用戶的權限: GRANT SELECT ON emp TO user1 WITH GRANT OPTION;,Oracle中的用戶管理,5. 再輸入“CONN / AS SYSDBA”命令以DBA身份登錄后,在SQL提示符下輸入以下命令,修改用戶口令: ALTER USER user1 IDENTIFIED BY pwd2; 6.

10、 系統(tǒng)提示“用戶已更改”,表明口令修改成功。在SQL提示符下輸入下面的命令來刪除用戶user1。 DROP USER user1 CASCADE; 7. 系統(tǒng)提示“用戶已刪除”,表明刪除成功。,修改用戶口令,Oracle中用ALTER USER命令修改用戶口令,語法如下: ALTER USER user_name IDENTIFIED BY new_password;,實踐-創(chuàng)建并使用用戶,1. 創(chuàng)建一個20M大小的表空間,以后用戶創(chuàng)建的數(shù)據(jù)庫對象保存在這個表空間中,在SQL提示符下,輸入如下代碼: CREATE TABLESPACE student_data DATAFILE F:oracl

11、eoradataorclstudent_dataSIZE 20M AUTOEXTEND OFF; 說明:路徑可以隨意設置,建議AUTOEXTENTD屬性為OFF。,創(chuàng)建用戶,語法: (簡單方式) create user mary -用戶名 identified by abc ;-密碼 說明:以上為創(chuàng)建用戶的必須語句 默認和臨時表空間均為system,實踐-創(chuàng)建并使用用戶,2. 創(chuàng)建用戶,在SQL提示符下輸入如下代碼: CREATE USER studentI DENTIFIED BY abcdef DEFAULT TABLESPACE student_data TEMPORARY TABLES

12、PACE TEMP;,實踐-創(chuàng)建并使用用戶,給student用戶賦予相應的權限,一般是將兩個角色(CONNECT,RESOURCE)賦給此用戶即可。作為一般的開發(fā)用戶,權限已經(jīng)足夠。在SQL提示符下輸入如下代碼: GRANT CONNECT,RESOURCE TO student; 按回車鍵,系統(tǒng)提示“授權成功”。,用戶相關理論知識,用戶基本屬性: (1)認證方式:每個用戶連接數(shù)據(jù)庫都要進行身份驗證,可通過操作系統(tǒng)或數(shù)據(jù)庫進行驗證。 (2)默認表空間和臨時表空間: (3)空間配額:用戶能夠在表空間中使用的存儲空間稱之。用戶必須在默認表空間和臨時表空間中有足夠的空間配額。 (4)概要文件:用戶必

13、須擁有一個概要文件,如果沒有指定,默認為default文件。,用戶相關理論知識,創(chuàng)建用戶時必須指定用戶的認證方式(數(shù)據(jù)庫驗證or操作系統(tǒng)驗證)。一般采用數(shù)據(jù)庫認證方式,數(shù)據(jù)庫驗證更安全,必須通過identitied by字句為用戶指定一個口令,口令以加密方式保存在數(shù)據(jù)庫中;如果使用操作系統(tǒng)驗證,則通過identitied externally字句。,相關理論知識,口令命名規(guī)則: 不能以數(shù)字開頭 Oracle11g之前口令不區(qū)分大小寫,之后區(qū)分,實踐兩種用戶認證方式,忘記SYS的用戶名,也可以登錄數(shù)據(jù)庫。在DOS命令下輸入如下代碼,進入到SQL提示符下,輸入代碼: Sqlplus /nolog

14、回車后系統(tǒng)進入SQL提示符下。 然后接著輸入如下命令使用SYS用戶連接到數(shù)據(jù)庫: CONN SYS/AS SYSDBA; 系統(tǒng)提示輸入“請輸入口令:”,直接回車,系統(tǒng)提示“已連接”。,實踐兩種用戶認證方式,沒有輸入密碼也可以登錄系統(tǒng),這對系統(tǒng)的安全性帶來了問題。能不能通過修改設置要求必須輸入密碼才能登錄呢? 修改%oracle_home%/network/admin/sqlnet.ora文件中的設置。 將數(shù)據(jù)的登錄模式從OS認證修改為了密碼文件認證。,實踐管理用戶,修改用戶 管理員可以修改用戶口令、改變用戶默認表空間或限制用戶使用權限、對用戶進行解鎖、鎖定等操作。 語法: Alter user

15、 username identifyed by newpassword; 使用sql*plus命令修改:password,實踐管理用戶,修改用戶默認表空間 oracle自動默認表空間為system。 語法: Alter user username default tablespace 新表空間; 修改用戶在表空間上的配額 Alter user username quota 80m on 表空間名;(將表空間配額調整為80MB),管理用戶,解除用戶鎖: 在概要文件中設置了用戶密碼輸入多次后將被鎖定,當錯誤密碼連續(xù)輸入次數(shù)達到指定最大次數(shù)后將鎖定用戶,即使之后輸入正確口令也不能連接,此時只能登錄管

16、理員賬戶進行解鎖。 語法: Alter user username account unlock; 鎖定用戶: Alter user username account lock;,刪除用戶,刪除用戶: Drop user usernamecascade; cascade:將數(shù)據(jù)庫對象一起刪除。 刪除擁有對象的用戶: Drop user annie cascade; 注意:如果要刪除用戶正在連接數(shù)據(jù)庫,不能將其刪除,查詢用戶,視圖ALL_Users 查看所有用戶名、用戶ID、用戶創(chuàng)建日期 視圖User_Users 查看當前用戶信息,角 色,定義:角色是一個或多個權限的集合 功能:簡化權限管理 復

17、雜大型應用系統(tǒng)要根據(jù)功能進行分類。如網(wǎng)上購物系統(tǒng)分為:系統(tǒng)管理、基礎數(shù)據(jù)管理、采購管理、銷售管理及終端用戶??蓜?chuàng)建5個角色。根據(jù)崗位將相應的角色授予用戶,用戶便具有相應角色具有的權限。如果系統(tǒng)規(guī)模不大,用戶數(shù)不多,可直接將權限授予用戶。,角色,創(chuàng)建角色: Create role rolename; 為角色授權: grant create session to rolename;授予連接DB權限 grant select on class to rolename;授予表查詢權限 回收角色權限 revoke select on class from r_ teach; 將角色授予用戶 Grant

18、角色名 to 用戶名;,角色(續(xù)),從用戶回收角色 Revoke annie from r_teach 將角色授予角色 Grant r_teach to r_stu with admin option 從角色回收角色 Revoke r_teach from r_stu 刪除角色 drop role 角色名;,角色(續(xù)),授予系統(tǒng)權限時的with admin option選項與授予對象權限時的with grant option選項區(qū)別: 都可將權限授予其他用戶,但經(jīng)with admin option授權的不能級聯(lián)收回,第二個能級聯(lián)收回。,角色(續(xù)),數(shù)據(jù)庫預定義角色: Connect (登錄執(zhí)行

19、基本函數(shù))、 Resource(建立用戶自己的數(shù)據(jù)對象)、 DBA(所有系統(tǒng)權限,包括無限的空間限額、給其他用戶授予全部權限的能力) Select_CATALOG_ROLE、Execute_CATALOG_ROLE、 Delete_CATALOG_ROLE、Exp_Full_Database、 IMP_FULL_DataBase SYSDBA、SYSOPER,角色(續(xù)),激活/屏蔽角色: 設置默認角色的4種方式: 1) Alter User Annie Default Role r_Teach 2) Alter User Annie Default Role All 3) Alter User

20、 Annie Default Role All Except Role r_Stu 4) Alter User Annie Default Role None,角色(續(xù)),查詢角色信息 視圖DBA_Roles: 角色信息 視圖Role_role_privs:角色與傳遞權限信息 視圖Role_SYS_privs:角色系統(tǒng)權限 視圖Role_tab_privs:角色對象權限,角色(續(xù)),刪除角色 Drop Role r_teach,實踐創(chuàng)建并使用角色,1.使用具有DBA權限的用戶登錄數(shù)據(jù)庫,使用如下語句創(chuàng)建一個角色: create role developer_role; 2. 將權限授權給角色

21、GRANT CREATE SYNONYM, CREATE VIEW to developer_role; 將創(chuàng)建同義詞和視圖的角色授權給developer_role角色。,實踐創(chuàng)建并使用角色,3. 也可以將角色授權給某個角色 GRANT RESOURCE,CONNECT TO developer_role; 按回車鍵,系統(tǒng)提示“授權成功”。 這樣就將RESOURCE,CONNECT兩個角色具有的權限授權給了developer_role角色。 4. 將角色授權給用戶: GRANT developer_role TO SCOTT; 按回車鍵,系統(tǒng)提示“授權成功”。 這樣SCOTT用戶就擁有了dev

22、eloper_role角色。,權限,定義:控制用戶在數(shù)據(jù)庫中所能進行的操作 權限分類:系統(tǒng)權限和對象權限 對象權限(objects Privilege) : 賦予在某一具體數(shù)據(jù)對象的操作能力 1) 9種對象權限: Select 、Update、Delete、Insert、Execute、Index、reference、Alter、Read 2) 對象權限傳遞權限: With Grant Option 被授予With Grant Option對象權限的用戶,可將該對象權限授予其他用戶,權限(續(xù)),3) 誰有權授予對象權限給其他人? 對象的所有者 DBA 被授予With grant option的

23、用戶 4) 權限可以授予給誰? 其它用戶 角色 Public,系統(tǒng)權限,系統(tǒng)權限(system Privilege):在數(shù)據(jù)庫級別執(zhí)行某種操作或者針對某一類模式或非模式對象執(zhí)行某種操作的權利。 幾點補充: 連接到數(shù)據(jù)庫需要create session權限 刪除其他用戶的Table需要drop any table權限 Select、insert、update、delete是對象權限,而Select any、insert any、update any、delete any是系統(tǒng)權限 使用 With admin option 進行系統(tǒng)權限傳遞,權限,授予權限的方法: 1)直接授予用戶: grant

24、create session to annie; 2)先將權限授予角色,再將角色授予用戶: Create role teach; grant select on class to teach; grant teach to annie;,系統(tǒng)權限(續(xù)),系統(tǒng)權限授權語法: Grant 系統(tǒng)權限 to 用戶/角色 with admin option; 例子: grant select any to annie; grant select any to annie with admin option;,權限回收,授予的對象權限和系統(tǒng)權限可以通過Revoke語句收回 例子: revoke selec

25、t any from annie;-回收系統(tǒng)權限 revoke select on class from annie; -回收對象權限,權限回收(續(xù)),注意: 一個用戶被多用戶授予權限后,其中一個用戶收回權限,不影響其他用戶授予的權限 收回With grant option 或 With admin option,要首先回收相應的權限,再重新授予該權限而不再授予With grant option 或 With admin option 傳遞權限With admin option給其他用后,如果此系統(tǒng)權限被回收,其他用戶仍然擁有該系統(tǒng)權限 傳遞權限With grant option給其他用后,如

26、果此對象權限被回收,其他用戶該對象權限也被收回,技能拓展權限查詢,視圖dba_SYS_Privs:系統(tǒng)權限 視圖dba_TAB_Privs:對象權限 視圖dba_col_Privs:列權限 視圖dba_users:數(shù)據(jù)庫用戶信息 視圖dba_roles:數(shù)據(jù)庫角色信息 視圖dba_roles_Privs:用戶所具有角色,查看一個角色的系統(tǒng)權限: Select * from dba_SYS_Privs where grantee=角色名; 或 Select * from dba_SYS_Privs where role=角色名; 查看預定義角色: select * from dba_roles;

27、 查看用戶角色: Select * from dba_role_Privs where grantee=用戶名; 注意:所用用戶名和角色名都大寫。,技能拓展權限查詢,總結,Oracle數(shù)據(jù)庫系統(tǒng)的用戶和角色管理 Oracle對SYSDBA的認證方式有兩種:操作系統(tǒng)認證和密碼文件認證。,用戶管理,Oracle是多用戶系統(tǒng),它允許多用戶共享系統(tǒng)資源。為了保證數(shù)據(jù)庫系統(tǒng)的安全,數(shù)據(jù)庫管理系統(tǒng)配置了良好的安全機制。 其中很關鍵的一種機制就是:建立用戶級的安全保證。,用戶管理,Oracle的用戶根據(jù)所被授予的權限分為系統(tǒng)權限和對象權限,系統(tǒng)權限經(jīng)常被包含在角色中授予,新建一個用戶時,首先要賦予CONNE

28、CT角色,CONNECT角色中包含了CREATE SESSION等8個系統(tǒng)權限,擁有CREATE SESSION權限是連接數(shù)據(jù)庫的必要條件,如果想用Enterprise Manager console連接的話,還必須擁有SELECT ANY DICTIONARY權限。 如果是開發(fā)人員,一般還要授予RESOURCE角色,此角色包含了開發(fā)人員所需要的基本權限。比如CREATE PROCEDURE、CREATE SEQUENCE、CREATE TABLE、CREATE TRIGGER等。,用戶管理,在所有權限中,最高的權限是SYSDBA。SYSDBA具有控制Oracle一切行為的特權,諸如創(chuàng)建、啟動

29、、關閉、恢復數(shù)據(jù)庫,使數(shù)據(jù)庫歸檔/非歸檔,備份表空間等關鍵性的動作只能通過具有SYSDBA權限的用戶來執(zhí)行。這些任務即使是普通DBA角色也不行。 SYSOPER比SYSDBA少了SYSOPER PRIVILEGES WITH ADMIN OPTION,CREATE DATABASE,RECOVERDATABASE UNTIL這幾個權限而已。這兩者的認證方式是相同的辦法,所以下面只介紹SYSDBA的認證管理。,安全認證,對于用戶的身份驗證有三種方式:密碼驗證、外部驗證(操作系統(tǒng)驗證)、全局驗證。 密碼驗證是最常見的一種方式,即將用戶信息碼存儲在數(shù)據(jù)目錄里。 對SYSDBA的認證方式有兩種:操作系統(tǒng)認證和密碼文件認證。

溫馨提示

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

評論

0/150

提交評論