第10周 Oralce用戶管理_第1頁
第10周 Oralce用戶管理_第2頁
第10周 Oralce用戶管理_第3頁
第10周 Oralce用戶管理_第4頁
第10周 Oralce用戶管理_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第10周 用戶管理?xiàng)钸M(jìn)學(xué)習(xí)目標(biāo) Oracle 數(shù)據(jù)庫用戶是數(shù)據(jù)庫安全機(jī)制的一種,通過它可管理數(shù)據(jù)庫對象的所有權(quán)和訪問權(quán)限。本章主要內(nèi)容是介紹Oracle 數(shù)據(jù)庫用戶、模式(Schema)的概念,數(shù)據(jù)庫用戶的身份驗(yàn)證機(jī)制,以及如何創(chuàng)建和管理數(shù)據(jù)庫用戶。【本章要點(diǎn)】 了解ORACLE 驗(yàn)證方式 使用概要文件 創(chuàng)建、修改和刪除數(shù)據(jù)庫用戶 獲取數(shù)據(jù)庫用戶信息1.1 用戶與安全1.1.1 數(shù)據(jù)的安全訪問Oracle 數(shù)據(jù)庫的安全包括在對象級控制數(shù)據(jù)庫訪問和使用的機(jī)制,這是通過數(shù)據(jù)庫用戶來實(shí)現(xiàn)的,數(shù)據(jù)庫用戶是定義在數(shù)據(jù)庫中的一個名稱,它是存取數(shù)據(jù)庫中信息的通道,是Oracle 數(shù)據(jù)庫的基本訪問控制機(jī)制。要

2、訪問數(shù)據(jù)庫,用戶必須指定有效的數(shù)據(jù)庫用戶帳戶,而且還要根據(jù)該用戶帳戶的要求成功通過驗(yàn)證。每一個數(shù)據(jù)庫用戶都有自己的數(shù)據(jù)庫帳戶。這是Oracle 的最佳實(shí)踐建議,這樣可避免存在潛在的安全漏洞,為特定的審計活動提供有意義的數(shù)據(jù)。 但是,在極少數(shù)情況下,若干用戶會共享一個公用數(shù)據(jù)庫帳戶。此時,操作系統(tǒng)和應(yīng)用程序必須為數(shù)據(jù)庫提供足夠的安全性。數(shù)據(jù)安全策略決定哪個用戶訪問特定模式對象,在對象上允許每個用戶的特定類型操作。用戶在訪問Oracle 數(shù)據(jù)庫時必須提供一個數(shù)據(jù)庫帳戶,只有合法身份的用戶才能夠訪問數(shù)據(jù)庫。在Oracle 數(shù)據(jù)庫中,每個數(shù)據(jù)庫用戶有一系列安全屬性,見圖各個屬性的含義如下: 唯一的用戶

3、名:用戶名不能超過30個字節(jié),不能包含特殊字符,而且必須以字母開頭。 驗(yàn)證方法:最常見的驗(yàn)證方法是口令,但是Oracle Database 10g 支持其它多種驗(yàn)證方法,包括生物統(tǒng)計學(xué)驗(yàn)證、證書驗(yàn)證和標(biāo)記驗(yàn)證。 默認(rèn)表空間:如果用戶未指定其它表空間,則可在這個表空間中創(chuàng)建對象。請注意,具有默認(rèn)表空間并不意味著用戶具有在該表空間創(chuàng)建對象的權(quán)限,也不意味著用戶具有該表空間(用于創(chuàng)建對象)中的空間限額。這兩項(xiàng)需要另外單獨(dú)授權(quán)。 臨時表空間:用戶可在其中創(chuàng)建臨時對象(如排序和臨時表)的表空間。 用戶概要文件:分配給用戶的一組資源與口令的限制 使用者組:由資源管理器使用。 鎖定狀態(tài):用戶只可訪問“未鎖定

4、”帳戶。 表空間配額:指明用戶在某個表空間中所能使用的存儲空間大小。1.1.2 預(yù)定義賬戶SYS和SYSTEM SYS 帳戶: 授予了DBA 角色 具有ADMIN OPTION 的所有權(quán)限 執(zhí)行啟動、關(guān)閉和某些維護(hù)命令時需要使用的帳戶 擁有數(shù)據(jù)字典 擁有自動工作量資料檔案庫(AWR) 使用AS SYSDBA子句連接(任何授予了SYSDBA 權(quán)限的用戶均可通過使用AS SYSDBA 子句連接到SYS 帳戶) SYSTEM 帳戶授予了DBA 角色(非SYSDBA)。 這兩個帳戶不在例行程序操作中使用。 只有授予了SYSDBA 或SYSOPER權(quán)限的“授權(quán)”用戶才可以啟動或關(guān)閉數(shù)據(jù)庫實(shí)例。 SYS和

5、 SYSTEM 帳戶是數(shù)據(jù)庫中必需存在的帳戶,不能將其刪除。最佳實(shí)踐提示:如果應(yīng)用最少權(quán)限原則,則不在例行程序操作中使用這些帳戶。 需要DBA 權(quán)限的用戶另外擁有授予了所需權(quán)限的獨(dú)立帳戶。例如,Jim 有一個名為jim 的低權(quán)限帳戶及一個名為jim_dba 的授權(quán)帳戶。使用此方法可應(yīng)用最少權(quán)限原則,不需要共享帳戶,而且可審計各項(xiàng)操作。1.1.3 驗(yàn)證用戶 驗(yàn)證指的是對要使用數(shù)據(jù)、資源或應(yīng)用程序的用戶、設(shè)備或其它實(shí)體的身份進(jìn)行驗(yàn)證。 通過對該身份進(jìn)行驗(yàn)證可建立一種信任關(guān)系,從而可進(jìn)一步執(zhí)行交互。通過驗(yàn)證可將訪問和操作與特定的身份聯(lián)系起來,從而實(shí)現(xiàn)可靠性。完成驗(yàn)證后,驗(yàn)證流程可允許或限制該實(shí)體許可

6、的訪問和操作的級別。創(chuàng)建用戶時,必須確定要使用的驗(yàn)證方法,以后可修改此方法。外部驗(yàn)證又稱操作系統(tǒng)驗(yàn)證。用戶可以在不指定用戶名或口令的情況下連接到Oracle 數(shù)據(jù)庫。使用外部驗(yàn)證時,數(shù)據(jù)庫依賴于基礎(chǔ)操作系統(tǒng)或網(wǎng)絡(luò)驗(yàn)證服務(wù)來限制對數(shù)據(jù)庫帳戶的訪問。數(shù)據(jù)庫口令不會用于此類登錄。如果操作系統(tǒng)或網(wǎng)絡(luò)服務(wù)允許的話,可以使用外部驗(yàn)證來驗(yàn)證用戶。如果要執(zhí)行此操作,請設(shè)置 OS_AUTHENT_PREFIX 初始化參數(shù),并在 Oracle 用戶名中使用此前綴。OS_AUTHENT_PREFIX 參數(shù)定義了一個前綴,Oracle 數(shù)據(jù)庫會在每個用戶的操作系統(tǒng)帳戶名之前添加此前綴。為了實(shí)現(xiàn)與Oracle 軟件早期

7、版本的向后兼容,此參數(shù)的默認(rèn)值為 OPS$。用戶嘗試建立連接時,Oracle 數(shù)據(jù)庫會將帶前綴的用戶名與數(shù)據(jù)庫中的Oracle 用戶名進(jìn)行比較。例如,假定OS_AUTHENT_PREFIX 設(shè)置如下:OS_AUTHENT_PREFIX=OPS$如果某個用戶的操作系統(tǒng)帳戶名為tsmith,它需要連接到Oracle 數(shù)據(jù)庫而且已由操作系統(tǒng)驗(yàn)證,那么Oracle 數(shù)據(jù)庫會檢查是否存在一個對應(yīng)的數(shù)據(jù)庫用戶OPS$tsmith,如果存在這樣的用戶,則允許該用戶建立連接。在用戶(已由操作系統(tǒng)驗(yàn)證)的所有引用中必須包含OPS$tsmith 中顯示的前綴。注:在某些操作系統(tǒng)中,OS_AUTHENT_PREFI

8、X 初始化參數(shù)的文本是區(qū)分大小寫的。 創(chuàng)建外部操作系統(tǒng)身份驗(yàn)證的用戶很簡單,假如有一個操作系統(tǒng)用戶名為dragon,則:對于LINUX 系統(tǒng):create user ops$dragon identified externally;對于WINDOWS 系統(tǒng),假如登陸ID 是Dragon,域名是MIS:create user OPS$MISDRAGON identified externally;創(chuàng)建好用戶后,以dragon 身份登錄到操作系統(tǒng),然后在直接輸入:sqlplus / 進(jìn)行登錄并連接到數(shù)據(jù)庫。外部驗(yàn)證的優(yōu)點(diǎn): 經(jīng)過操作系統(tǒng)的身份驗(yàn)證后,用戶可以更便捷地連接到Oracle,而無需提供用

9、戶名及密碼。例如,經(jīng)過操作系統(tǒng)驗(yàn)證的用戶,按以下方式調(diào)用SQL*Plus,即可跳過輸入用戶名及密碼的步驟:SQLPLUS / 在操作系統(tǒng)中集中地進(jìn)行用戶身份驗(yàn)證, Oracle 不必再存儲及管理用戶密碼,但Oracle 仍舊需要在數(shù)據(jù)庫中維護(hù)用戶名。 在數(shù)據(jù)庫及操作系統(tǒng)中記錄審計跟蹤數(shù)據(jù)(audit trail)時可以使用相同的用戶名。口令驗(yàn)證又稱為Oracle 數(shù)據(jù)庫驗(yàn)證。 創(chuàng)建的每一個用戶都有一個關(guān)聯(lián)口令,用戶嘗試建立連接時,必須提供這個口令。設(shè)置口令時,可以使該口令立即失效,這會強(qiáng)制用戶在首次登錄后更改口令。如果決定要使用戶口令失效,請確保用戶能夠更改口令。有些應(yīng)用程序不具備此功能。在(

10、客戶機(jī)/服務(wù)器之間和服務(wù)器/服務(wù)器之間)建立網(wǎng)絡(luò)連接期間,系統(tǒng)總是先通過使用修改過的數(shù)據(jù)加密標(biāo)準(zhǔn)(DES) 算法,以自動透明方式對口令加密,然后通過網(wǎng)絡(luò)發(fā)送口令。在使用SQL*Plus 時,通過口令身份驗(yàn)證進(jìn)行連接的語法如下:CONNECT username / password db_alias SQL connect scott/tiger; SQL conn scott/tiger; oracleoracle $ sqlplus scott/tiger; 這是Oracle 一般用戶使用得最多的一種身份驗(yàn)證方式。在使用口令身份驗(yàn)證進(jìn)行連接時,實(shí)例將針對在數(shù)據(jù)字典中的用戶賬戶存儲的口令,驗(yàn)證

11、給定的口令。為此,數(shù)據(jù)庫必須處于打開狀態(tài);從邏輯上講,在使用口令身份驗(yàn)證連接時,不可能發(fā)出STARTUP 命令或者SHUTDOWN 命令。 不允許SYS 用戶以口令身份驗(yàn)證的方式進(jìn)行連接,SYS 只能使用口令文件、操作系統(tǒng)或LDAP 身份驗(yàn)證。數(shù)據(jù)庫驗(yàn)證表示用戶名和口令的驗(yàn)證由Oracle 完成,用戶在連接數(shù)據(jù)庫時必須同時提供用戶名和口令。采用數(shù)據(jù)庫驗(yàn)證具有以下一些優(yōu)點(diǎn): 用戶帳戶及其身份驗(yàn)證信息全部存儲在數(shù)據(jù)庫中,驗(yàn)證由Oracle Server 完成,而不需要借助數(shù)據(jù)庫外的任何控制。 當(dāng)使用數(shù)據(jù)庫驗(yàn)證時,Oracle 提供了嚴(yán)格的口令管理特征以加強(qiáng)口令的安全性,例如帳戶鎖定、口令有效期以及

12、口令長度、復(fù)雜度等。 易于管理。全局驗(yàn)證使用Oracle Advanced Security 選項(xiàng)時,可通過全局驗(yàn)證(一種嚴(yán)格的驗(yàn)證方法)并使用生物統(tǒng)計學(xué)、x509 證書、標(biāo)記設(shè)備和Oracle Internet Directory 來識別用戶。網(wǎng)絡(luò)驗(yàn)證 基于第三方的身份驗(yàn)證技術(shù)如果系統(tǒng)中存在(DCE,Kerberos,或SESAME 等)的網(wǎng)絡(luò)身份驗(yàn)證服務(wù)(network authentication service),Oracle 可以使用這些網(wǎng)絡(luò)服務(wù)進(jìn)行身份驗(yàn)證。在使用網(wǎng)絡(luò)身份驗(yàn)證服務(wù)時,應(yīng)注意其對網(wǎng)絡(luò)角色(network role)及數(shù)據(jù)庫鏈接(database link)的影響。 基

13、于PKI 的身份驗(yàn)證基于公共密鑰加密(public key cryptography)的身份驗(yàn)證系統(tǒng)能夠?yàn)橛脩艨蛻舳松蓴?shù)字證書(digital certificate),客戶端使用此證書在業(yè)務(wù)服務(wù)器上進(jìn)行身份驗(yàn)證,而不是直接和身份驗(yàn)證服務(wù)器交互(authentication server)。Oracle 提供了支持公共密鑰(public key)及數(shù)字證書的公共密鑰基礎(chǔ)結(jié)構(gòu)(public key infrastructure,PKI),其中包含以下組件: 基于SSL(Secure Sockets Layer(安全套接字層)的身份驗(yàn)證及安全會話密鑰(secure session key)管理。

14、 Oracle Call Interface 函數(shù)及PL/SQL 函數(shù),用于使用私有密鑰(private key)及證書來保護(hù)用戶指定的數(shù)據(jù),或用可信證書(trusted certificate)驗(yàn)證數(shù)據(jù)上的簽名(signature)。 可信證書,用于驗(yàn)證第三方實(shí)體的身份,確認(rèn)其是否為可信的用戶證書簽署者。 Oracle wallet,用于儲存用戶私有密鑰,用戶證書,及用戶信任點(diǎn)(trust point)(即可信的認(rèn)證機(jī)構(gòu))集的數(shù)據(jù)結(jié)構(gòu)。 Oracle Wallet Manager,用于管理及編輯Oracle wallet 安全身份證明(security credentials)的單機(jī)Java

15、 應(yīng)用程序。 由Oracle 之外的認(rèn)證機(jī)構(gòu)簽署并發(fā)布的X.509v3 證書。 Oracle Internet Directory,用于管理用戶的權(quán)限及安全屬性,包括通過X.509 證書進(jìn)行用戶身份驗(yàn)證。OID 能夠確保屬性級(attribute-level)的訪問控制,并使讀,寫,及更新等權(quán)限可以控制到具體的用戶,例如管理員。 Oracle Enterprise Security Manager,實(shí)現(xiàn)集中化的權(quán)限管理,從而簡化管理員的工作,并提升系統(tǒng)的安全級別。用戶可以通過此組件在Oracle Internet Directory 中存儲或提取角色信息。 Oracle Enterprise

16、Login Assistant 是一個基于Java 的工具,用于打開或關(guān)閉用戶的wallet,從而控制應(yīng)用程序是否采用基于SSL 的安全通訊。 遠(yuǎn)程身份驗(yàn)證Oracle 能夠利用遠(yuǎn)程撥號用戶服務(wù)(Remote Dial-In User Service,RADIUS)支持遠(yuǎn)程用戶身份驗(yàn)證。RADIUS 是一個標(biāo)準(zhǔn)的輕量級協(xié)議,主要用于用戶身份驗(yàn)證,授權(quán),及審計(accounting)。1.1.4 管理員驗(yàn)證數(shù)據(jù)庫管理員能夠執(zhí)行普通數(shù)據(jù)庫用戶不該執(zhí)行的特殊操作(例如啟動或關(guān)閉數(shù)據(jù)庫)。Oracle 為數(shù)據(jù)庫管理員用戶提供更為安全的身份驗(yàn)證方式。操作系統(tǒng)安全性在UNIX 和Linux 中,默認(rèn)情況下

17、,DBA 屬于install 操作系統(tǒng)組。該組具有創(chuàng)建和刪除數(shù)據(jù)庫文件所需的權(quán)限。 DBA 必須具有創(chuàng)建或刪除文件的操作系統(tǒng)權(quán)限。 普通數(shù)據(jù)庫用戶不應(yīng)具有創(chuàng)建或刪除數(shù)據(jù)庫文件的操作系統(tǒng)權(quán)限。管理員安全性只在使用口令文件或操作系統(tǒng)特權(quán)與權(quán)限完成驗(yàn)證后,才授權(quán)建立SYSDBA 和SYSOPER 連接。如果使用操作系統(tǒng)驗(yàn)證,那么數(shù)據(jù)庫就不使用提供的用戶名和口令。當(dāng)口令文件不存在,或者該文件中不存在提供的用戶名和口令,或者未提供用戶名和口令時,就使用操作系統(tǒng)驗(yàn)證。 但是,如果使用口令文件成功完成了驗(yàn)證,則使用用戶名記錄連接。如果使用操作系統(tǒng)成功完成了驗(yàn)證,則表示這是一個CONNECT/連接,這種連接不

18、記錄具體用戶。 注:操作系統(tǒng)驗(yàn)證優(yōu)先于口令文件驗(yàn)證。特別是,如果您是操作系統(tǒng)中OSDBA 或OSOPER 組的成員,而且以SYSDBA 或SYSOPER 身份進(jìn)行連接,則會使用關(guān)聯(lián)的管理權(quán)限為您建立連接,不管您指定的用戶名和口令是什么。 通過口令文件或操作系統(tǒng)驗(yàn)證SYSDBA 和SYSOPER 連接 口令文件驗(yàn)證會按名稱記錄DBA 用戶。 操作系統(tǒng)驗(yàn)證并不記錄具體用戶。 對于SYSDBA 和SYSOPER,操作系統(tǒng)驗(yàn)證優(yōu)先于口令文件驗(yàn)證。要為賬戶啟用操作系統(tǒng)和口令身份驗(yàn)證(二者是相配的),必須為用戶授予SYSDBA 或者SYSOPER 權(quán)限:GRANT sysdba | sysoper TO

19、username ; 如果向用戶授予這些權(quán)限之一或者所有權(quán)限,則會將用戶口令從數(shù)據(jù)字典復(fù)制到外部口令文件中,此時,即使數(shù)據(jù)庫未處于打開狀態(tài),實(shí)例也可以讀取口令。 要使用口令文件身份驗(yàn)證,用戶可以在使用SQL*Plus 時通過以下語法連接:CONNECT username / password db_alias AS SYSOPER | SYSDBA ;注意,可使用口令文件身份驗(yàn)證,通過Oracle Net 連接到遠(yuǎn)程數(shù)據(jù)庫。 要使用操作系統(tǒng)身份驗(yàn)證,用戶必須被確認(rèn)為有權(quán)限訪問Oracle 二進(jìn)制文件的操作系統(tǒng)用戶之后,且在使用SQL*Plus 時通過以下語法連接之前首先登陸到數(shù)據(jù)庫服務(wù)器:CO

20、NNECT / AS SYSOPER | SYSDBA ;與SYSDBA 和SYSOPER 以同一種方式運(yùn)行的第三種權(quán)限是SYSASM,此權(quán)限僅適用于ASM 實(shí)例。Oracle 數(shù)據(jù)庫在密碼文件(password file)中記錄被授予了SYSDBA 及SYSOPER 權(quán)限的數(shù)據(jù)庫用戶,這些權(quán)限能夠執(zhí)行以下操作: 具備SYSOPER 權(quán)限的數(shù)據(jù)庫管理員能夠執(zhí)行STARTUP,SHUTDOWN,ALTER DATABASE OPEN/MOUNT,ALTER DATABASE BACKUP,ARCHIVE LOG,及RECOVER 命令,并具備RESTRICTED SESSION 權(quán)限。具備SYS

21、DBA 權(quán)限的數(shù)據(jù)庫管理員擁有所有系統(tǒng)權(quán)限(system privilege)及權(quán)限的ADMIN OPTION 選項(xiàng),還擁有SYSOPER 所擁有的全部系統(tǒng)權(quán)限。 此外,能夠執(zhí)行 CREATE DATABASE 命令,并能夠執(zhí)行基于時間的恢復(fù)操作(time-based recovery)1.1.5 身份驗(yàn)證的幾個相關(guān)參數(shù)和配置 remote_login_passwordfile查看是否允許遠(yuǎn)程登錄使用口令文件進(jìn)行身份驗(yàn)證 -SHARED 一個或多個數(shù)據(jù)庫可以使用口令文件??梢园琒YS 或者非SYS 的口令文件。 -EXCLUSIVE 新版本和SHARED 功能一致。 -NONE 不允許遠(yuǎn)程使

22、用口令文件驗(yàn)證,如遠(yuǎn)程用SYS 賬號連接Oracle 將會報錯。SQL alter system set remote_login_passwordfile=NONE scope=spfileSQL startup force進(jìn)行遠(yuǎn)程連接,報錯,實(shí)際是參數(shù)值被更改:SQL conn sys / oracleorcl as sysdbaERROR:ORA-01017: invalid username/password; logon denied 查看使用口令文件進(jìn)行身份驗(yàn)證的用戶列表: SQLNET.AUTHENTICATION_SERVICES$ORACLE_HOME/network/adm

23、in/sqlnet.ora 配置文件中SQLNET.AUTHENTICATION_SERVICES 參數(shù),有三個取值: -NONE:作用是不允許通過OS 系統(tǒng)用戶登錄數(shù)據(jù)庫,需要提供用戶名及密碼; -ALL:作用是允許所有的登錄方式; -NTS:作用是允許本地操作系統(tǒng)用戶認(rèn)證1.1.6 數(shù)據(jù)庫模式對象Schema 模式是一系列對象的集合。一個模式只能夠被一個數(shù)據(jù)庫用戶所擁有,并且模式的名稱與這個用戶的名稱相同。ORACLE 數(shù)據(jù)庫中的每個用戶都擁有一個唯一的模式,他所創(chuàng)建的所有模式對象都保存在自己的模式中。模式對象的類型有表、索引、簇、觸發(fā)器、PL/SQL、序列、同義詞、視圖、存儲過程和存儲函

24、數(shù)等,當(dāng)然,Oracle 中并不是所有的對象都是模式對象,非模式對象有: 表空間 用戶 角色 回滾段 概要文件當(dāng)用戶在數(shù)據(jù)庫中創(chuàng)建一個模式對象后,這個模式對象默認(rèn)地屬于這個用戶的模式。一個用戶可以訪問其模式的所有對象,但其它用戶要訪問另一個模式的對象時,必須在對象名前加上它所屬的模式名。例如用戶SCOTT 檢索其模式的表EMP 時,可以直接執(zhí)行語句:SELECT * FROM EMP;但是,如果要訪問SMITH 模式的CLASS 表時,則必須執(zhí)行語句:SELECT * FROM SMITH.CLASS。初學(xué)者在剛剛接觸模式概念時,常常不清楚數(shù)據(jù)庫用戶與模式之間的區(qū)別。造成這種情況的原因是因?yàn)樵?/p>

25、Oracle 數(shù)據(jù)庫中,模式與數(shù)據(jù)庫用戶是一一對應(yīng),每個數(shù)據(jù)庫用戶都擁有一個與他的用戶名相同的模式。因此,在Oracle 數(shù)據(jù)庫中,模式與用戶兩個概念的差別很小,經(jīng)??梢蕴鎿Q。例如“用戶A 擁有TEMP 表”和“模式A 擁有TEMP 表”兩句話的意義是相同的。因此不必在語言上完全區(qū)分模式與用戶,但是,一定要清楚模式與用戶是兩個完全不同的概念。1.1.7 概要文件概要文件管理.1 概要文件的作用概要文件是口令限制和資源限制的命名集合,是Oracle 安全策略的重要組成部分,利用概要文件可以對數(shù)據(jù)庫用戶進(jìn)行口令管理和資源限制。例如使用概要文可以指定口令有效期、口令校驗(yàn)函數(shù)、用戶連接時間以及最大空閑

26、時間等。概要文件具有以下一些作用: 限制用戶執(zhí)行消耗資源過度的SQL 操作。 自動斷開空閑會話。 在大而復(fù)雜的多用戶數(shù)據(jù)庫系統(tǒng)中合理分配資源。 控制用戶口令的使用。在建立數(shù)據(jù)庫時,Oracle 會自動建立名稱為DEFAULT 的默認(rèn)概要文件,初始的DEFAULT 概要文件的所有口令及資源限制選項(xiàng)值均為UNLIMITED,即未進(jìn)行任何口令及資源限制。當(dāng)建立用戶時,如果不指定概要文件,則Oracle 會將DEFAULT 概要文件分配給該用戶。根據(jù)用戶所承擔(dān)任務(wù)的不同,DBA 應(yīng)該建立不同的概要文件,并將概要文件分配給相應(yīng)用戶。一個用戶只能分配一個概要文件,一個概要文件可以同時包含口令限制和資源限制

27、。.2 概要文件內(nèi)容概要文件內(nèi)容包括口令和資源的限制,下面分別介紹這兩部分的有關(guān)參數(shù)。1) 口令策略參數(shù)口令策略參數(shù)可以實(shí)現(xiàn)帳戶鎖定、口令的過期以及口令的復(fù)雜度等策略,在概要文件中的口令參數(shù)可以有以下幾個: FAILED_LOGIN_ATTEMPTS:該參數(shù)指定允許的輸入錯誤口令的次數(shù),超過該次數(shù)后用戶帳戶被自動鎖定。 PASSWORD_LOCK_TIME:用于指定指定賬戶被鎖定的天數(shù)(單位:天)。 PASSWORD_LIFE_TIME:指定口令的有效期(單位:天)。如果在達(dá)到有效期前用戶還沒有更換口令,它的口令將失效,這時必須由DBA 為它重新設(shè)置新的口令。 PASSWORD_GRACE_T

28、IME:用于指定口令失效的寬限期(單位:天)。 PASSWORD_REUSE_TIME:指定能夠重復(fù)使用一個口令前必須經(jīng)過的時間(單位:天)。 PASSWORD_REUSE_MAX:用于指定在重復(fù)使用口令之前必須對口令進(jìn)行修改的次數(shù)。PASSWORD_REUSE_TIME 和PASSWORD_REUSE_MAX 兩個參數(shù)只能設(shè)置一個,另一個必須為UNLIMITED。 PASSWORD_VERIFY_FUNCTION:指定驗(yàn)證口令復(fù)雜度的函數(shù)。Oracle 提供了一個默認(rèn)的口令校驗(yàn)函數(shù),這可以通過運(yùn)行腳本utlpwdmg.sql 來建立該函數(shù),腳本保存在ORACLE_HOMErdbmsadmin

29、 目錄中。DBA 也可以通過修改腳本來實(shí)現(xiàn)自己的口令校驗(yàn)函數(shù)。2) 資源限制參數(shù)利用概要文件,可以對以下系統(tǒng)資源進(jìn)行限制。 CPU 時間 邏輯讀 用戶的并發(fā)會話數(shù) 空閑時間 連接時間 私有SGA 區(qū)對這些資源的限制是通過在概要文件中設(shè)置參數(shù)來實(shí)現(xiàn)的,參數(shù)的值可以是一個整數(shù),也可以是UNLIMITED(即不受限制),還可以是DEFAULT(使用DEFAULT 概要文件中的參數(shù)設(shè)置)。下面分別介紹有關(guān)參數(shù): CPU_PER_SESSION:限制每個會話所能使用的CPU 時間。參數(shù)值是一個整數(shù),單位是百分之一秒。下面分別介紹有關(guān)參數(shù): SESSIONS_PER_USER:限制每個用戶所允許建立的最大

30、并發(fā)會話數(shù)。 CONNECT_TIME:限制每個會話能連接到數(shù)據(jù)庫的最長時間,超過這個時間會話將自動斷開。參數(shù)值是一個整數(shù),單位是分鐘。 IDLE_TIME:限制每個會話所允許的最長連續(xù)空閑時間,超過這個時間會話將自動斷開。參數(shù)值是一個整數(shù),單位是分鐘。 LOGICAL_READS_PER _SESSION:限制每個會話所能讀取的數(shù)據(jù)塊數(shù)目。 PRIVATE_SGA:每個會話分配的私有SGA 區(qū)大?。ㄒ宰止?jié)為單位)。該參數(shù)只對共享服務(wù)器模式有效。 CPU_PER_CALL:用于指定每條SQL 語句可占用的最大CPU 時間,單位是百分之一秒。 LOGICAL_READS_PER_CALL:用于指

31、定每條SQL 語句最多所能讀取的數(shù)據(jù)塊數(shù)目。使用概要文件管理口令Oracle 數(shù)據(jù)庫中不同用戶賬戶具有不同的口令,如何防止其他人竊取賬戶密碼是DBA要重點(diǎn)關(guān)切的問題。為了加強(qiáng)用戶賬戶的安全性,Oracle 提供了概要文件來管理口令,概要文件管理口令有鎖定賬戶、終止口令、口令歷史以及口令校驗(yàn)等四種安全保護(hù)方式。大家需要注意,前面介紹的概要文件中共包含了7 個口令管理選項(xiàng),如果僅指定某個或某幾個選項(xiàng),那么其他選項(xiàng)將自動使用DEFAULT 概要文件的相應(yīng)選項(xiàng)值。 使用概要文件管理口令主要步驟是先創(chuàng)建概要文件,然后設(shè)置相關(guān)口令參數(shù),最后把概要文件分配給用戶。建立概要文件是使用CREATE PROFIL

32、E 命令來完成的,一般情況下建立概要文件是由DBA 來完成的,如果要以其他用戶身份建立概要文件,則要求該用戶必須具有CREATE PROFILE 系統(tǒng)權(quán)限。.1 鎖定帳戶如果用戶在指定的次數(shù)內(nèi)嘗試登錄系統(tǒng)失敗,系統(tǒng)會在設(shè)置的 持續(xù)時間內(nèi)鎖定帳戶。 FAILED_LOGIN_ATTEMPTS 參數(shù)指定在鎖定帳戶前嘗試登錄失敗的次數(shù)。 PASSWORD_LOCK_TIME 參數(shù)指定在經(jīng)歷指定的嘗試登錄失敗次數(shù)后鎖定帳戶的天數(shù)。 如果建立PROFILE 時沒有提供PASSWORD_LOCK_TIME 選項(xiàng),將自動使用默認(rèn)值(UNLIMITED),在這種情況下,需要DBA 手工解鎖通過使用概要文件,可

33、以限制登錄失敗次數(shù),如果連續(xù)登錄的失敗次數(shù)超出一定范圍,那么Oracle 會自動鎖定賬戶?!緦?shí)例10-1】為了加強(qiáng)devp 用戶的口令安全,要限制其登錄失敗次數(shù)為3。1)以管理員身份登錄SQLCONNECT / AS SYSDBA已連接。2)創(chuàng)建概要文件,設(shè)定相關(guān)參數(shù)SQLCREATE PROFILE devp_lock LIMITFAILED_LOGIN_ATTEMPTS 3;配置文件已創(chuàng)建3) 分配概要文件給用戶devp,這既可以在建立用戶時使用PROFILE 子句,也可以在建立用戶之后使用ALTER USER 語句修改。SQLALTER USER devp PROFILE devp_lo

34、ck;用戶已更改。當(dāng)將概要文件分配給devp 用戶之后,如果以devp 連接到數(shù)據(jù)庫時,連續(xù)登錄失敗次數(shù)達(dá)到三次,那么系統(tǒng)會自動鎖定該用戶賬戶。此時,即使為用戶devp 提供了正確的口令,也將無法連接到數(shù)據(jù)庫,并顯示錯誤信息。例如:SQLconnect devp請輸入口令:ERROR:ORA-28000: the account is locked.2 終止口令使用戶口令具有生存期,口令在此生存期之后會失效,而且可能已更改。 PASSWORD_LIFE_TIME 參數(shù)指定口令的生存期(以天為單位),此時間之后,口令會失效。 PASSWORD_GRACE_TIME 參數(shù)指定口令失效后首次成功登錄

35、時用于更改口令的寬限期(以天為單位)。注:通過使口令失效和鎖定SYS、SYSMAN 和DBSNMP 帳戶,可避免出現(xiàn)Enterprise Manager 不正常運(yùn)行的情況。應(yīng)用程序必須捕獲“口令到期”警告消息并處理口令更改;否則,寬限期一到期,會在原因不明的情況下鎖定用戶?!緦?shí)例16-2】強(qiáng)制用戶devp 每隔10 天修改其自身口令,并設(shè)置兩天寬限期。1)以管理員身份登錄SQLCONNECT / AS SYSDBA已連接。2)創(chuàng)建概要文件,設(shè)定相關(guān)參數(shù)SQLCREATE PROFILE devp_life LIMITPASSWORD_LIFE_TIME 10PASSWORD_GRACE_TIM

36、E 2;配置文件已創(chuàng)建3) 分配概要文件給用戶devpSQLALTER USER devp PROFILE devp_life;用戶已更改。當(dāng)將概要文件分配給用戶devp 之后,第10 天登錄會顯示警告信息:SQLconnect devp/developmentERROR:ORA_28002:the password will expire within 2 days已連接。如果第10 天未改變口令,那么第11 天登錄時仍然會顯示類似警告信息。但用戶如果第11 天仍然未改變口令,那么第12 天登錄時系統(tǒng)會強(qiáng)制你改變口令,并顯示如下信息:SQLconnect devp/developmentER

37、ROR:ORA-28001: the password has expired更改devp 的口令新口令:重新鍵入新口令:口令已更改已連接。.3 口令歷史通過核對新口令可確保在指定的時間內(nèi)或者在指定的口令更改次數(shù)內(nèi)不重復(fù)使用口令。通過使用下列其中一項(xiàng)來進(jìn)行核對: PASSWORD_REUSE_TIME:用于指定口令可重用時間 PASSWORD_REUSE_MAX:用于指定在重用口令之前口令需要改變的次數(shù)注意: 這兩個參數(shù)是互相排斥的, 因此, 如果其中一個參數(shù)的設(shè)置值不是UNLIMITED(如果DEFAULT 概要文件的設(shè)置值為UNLIMITED,則為DEFAULT),則另一個參數(shù)必須設(shè)置為U

38、NLIMITED。假定devp 原有口令為development,終止口令時新口令仍然可以設(shè)置為development,這種做法顯然失去了終止口令的含義。為了強(qiáng)制用戶使用不同口令,可以使用口令歷史選項(xiàng)?!緦?shí)例10-3】為了防止用戶devp 重用舊口令,強(qiáng)制該用戶在口令終止10 天之內(nèi)不能重用以前口令。1)以管理員身份登錄SQLCONNECT / AS SYSDBA2)創(chuàng)建概要文件,設(shè)定相關(guān)參數(shù)SQLCREATE PROFILE devp_his LIMITPASSWORD_LIFE_TIME 10PASSWORD_GRACE_TIME 2PASSWORD_REUSE_TIME 10PASSWO

39、RD_REUSE_MAX UNLIMITED;配置文件已創(chuàng)建3) 分配概要文件給用戶devpSQLALTER USER devp PROFILE devp_his;用戶已更改。注意,前面已經(jīng)提到過,當(dāng)使用口令歷史選項(xiàng)時, PASSWORD_REUSE_TIME 和PASSWORD_REUSE_MAX 兩個參數(shù)只能設(shè)置一個,另一個必須為UNLIMITED。當(dāng)將概要文件分配給用戶devp 之后,如果前11 天沒有修改用戶口令,那么在第12 天登錄時,Oracle 會強(qiáng)制終止口令,并要求用戶改變口令。但如果仍然使用過去的口令,則口令修改不能成功,如下所示:SQLCONNECT devp/develo

40、pmentERROR:ORA-28001: the password has expired更改devp 的口令新口令:重新鍵入新口令:ERROR:ORA-28007: the password cannot be reused口令未更改.4 口令校驗(yàn)口令校驗(yàn)是指使用PLSQL 函數(shù)檢查口令的有效性。在設(shè)置口令時,多數(shù)人都習(xí)慣于按照自己易記的方式(如用戶名、生日等)來指定口令。但如果其他人很了解用戶的各種習(xí)慣,那么口令將不再安全。通過使用口令校驗(yàn)函數(shù),可以強(qiáng)制用戶使用復(fù)雜的口令。盡管這種做法會給用戶帶來一些小麻煩,但卻可以大大加強(qiáng)口令的安全性。大家需要注意,如果要使用口令校驗(yàn)函數(shù),那么必須要以

41、SYS 用戶建立口令校驗(yàn)函數(shù),并且口令校驗(yàn)函數(shù)必須滿足如下規(guī)范:function_name(userid_parameter IN VARCHAR2(30),password_parameter IN VARCHAR2(30),old_password_parameter IN VARCHAR2(30)RETURN BOOLEAN其中,userid_parameter 對應(yīng)于用戶名, password_parameter 對應(yīng)于用戶的新口令,old_password_parameter 對應(yīng)于用戶的舊口令。如果函數(shù)返回值為TRUE,則表示新口令可以使用;但如果返回值為FALSE,則表示新口令不

42、滿足函數(shù)規(guī)則。另外, Oracle 也提供了默認(rèn)的口令校驗(yàn)函數(shù)VERIFY_FUNCTION,該口令校驗(yàn)函數(shù)具有以下一些功能: 口令最少為4 個字符。 口令不能與用戶名相同。 新口令與舊口令至少有三個字符不同。 口令至少包含一個阿拉伯字母、一個數(shù)字和一個特殊字符??梢酝ㄟ^以SYS 用戶身份登錄后運(yùn)行腳本utlpwdmg.sql 來建立默認(rèn)的口令校驗(yàn)函數(shù),腳本保存在RACLE_HOMErdbmsadmin 目錄中。DBA 也可以通過修改腳本來實(shí)現(xiàn)自己的口令校驗(yàn)函數(shù)。D:appAdministratorproduct11.2.0dbhome_1RDBMSADMIN【實(shí)例16-4】為用戶devp 指

43、定口令校驗(yàn)函數(shù)以強(qiáng)制它使用復(fù)雜口令1)以管理員身份登錄SQLCONNECT / AS SYSDBA已連接。2)運(yùn)行腳本utlpwdmg.sql 建立默認(rèn)口令校驗(yàn)函數(shù)VERIFY_FUNCTION。(當(dāng)然也可自己創(chuàng)建口令校驗(yàn)函數(shù))SQL%ORACLE_HOME%/rdbms/admin/utlpwdmg.sql函數(shù)已創(chuàng)建。3)創(chuàng)建概要文件,設(shè)定參數(shù)SQLCREATE PROFILE devp_verify LIMITPASSWORD_LIFE_TIME 10PASSWORD_GRACE_TIME 2PASSWORD_VERIFY_FUNCTION verify_function;配置文件已創(chuàng)建4

44、) 分配概要文件給用戶devpSQLALTER USER devp PROFILE devp_verify;用戶已更改。這樣,當(dāng)修改devp 用戶口令時,如果不滿足函數(shù)規(guī)則,會出錯。如把devp 的口令改成與用戶名一樣,則會顯示如下錯誤信息:SQLalter user devp identified by devp;alter user devp identified by devp*ERROR 位于第1 行:ORA-28003: 指定口令的口令驗(yàn)證失敗ORA-20001: Password same as or similar to user另另外,如果你不想使用口令校驗(yàn)函數(shù),則可以將PAS

45、SWORD_VERIFY_FUNCTION 選項(xiàng)設(shè)置為NULL。使用概要文件管理資源概要文件不僅可用于管理用戶口令,也可用于限制用戶的資源占用。概要文件既可以限制整個會話的資源占用,也可以限制調(diào)用級(SQL 語句)的資源占用。但大家需要注意,如果要使用概要文件管理資源,則必須要激活資源限制功能,這可以通過設(shè)置初始化參數(shù)RESOURCE_LIMIT 為TRUE 做到:ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;使用概要文件管理資源的步驟同管理口令的步驟一樣,也是先創(chuàng)建概要文件,然后設(shè)置相關(guān)資源參數(shù),最后把概要文件分配給用戶。.1 限制會話資源當(dāng)用戶連接到數(shù)據(jù)庫時,O

46、racle 將創(chuàng)建一個會話(session)。每個會話都將消耗Oracle所在計算機(jī)的CPU 時間及內(nèi)存。用戶可以在會話級( session level)設(shè)置多種資源限制(resource limit)。 如果用戶超過了某一會話級資源限制,Oracle 將終止(回滾)當(dāng)前執(zhí)行的語句,并通知用戶此會話超出資源限制。此時,當(dāng)前會話內(nèi)已經(jīng)執(zhí)行的語句不受資源限制的影響,而用戶則只能執(zhí)行COMMIT,ROLLBACK,或斷開連接(disconnect)(如斷開連接,當(dāng)前事務(wù)將被提交)。用戶的其他所有操作都將導(dǎo)致報錯。在事務(wù)被提交或回滾后,用戶在當(dāng)前會話內(nèi)也不能執(zhí)行其他任何操作?!緦?shí)例10-5】數(shù)據(jù)庫最多

47、允許兩個開發(fā)人員以devp 用戶登錄進(jìn)行應(yīng)用開發(fā),每個會話連接時間不能超過30min,會話空閑時間不能超過10min。1)以管理員身份登錄SQLCONNECT / AS SYSDBA已連接。2)創(chuàng)建概要文件,設(shè)定參數(shù)SQLCREATE PROFILE devp_session LIMITCPU_PER_SESSION 5000SESSIONS_PER_USER 2CONNECT_TIME 30IDLE_TIME 10;配置文件已創(chuàng)建3) 分配概要文件給用戶devpSQLALTER USER devp PROFILE devp_session;用戶已更改。 因?yàn)樵诮⒏乓募r指定SESSION

48、_PER_USER 選項(xiàng)為2,即允許用戶最多可以同時建立兩個會話,所以如果用戶devp 的并發(fā)會話個數(shù)達(dá)到兩個,那么當(dāng)建立第三個會話時則會顯示如下錯誤信息:SQLCONNECT devp/developmentERROR:ORA-02391:exceeded simultaneous SESSIONS_PER_USER limit 因?yàn)镮DLE_TIME 選項(xiàng)被設(shè)置為10,所以如果會話空閑時間超過10min,那么Oracle會自動斷開會話。管理員可以限制用戶并發(fā)會話數(shù)(concurrent sessions for each user)。每個用戶的并發(fā)會話數(shù)不能超過預(yù)設(shè)值。管理員可以限制一個會

49、話的空閑時間(idle time)。如果會話內(nèi)兩次Oracle 調(diào)用間的間隔時間達(dá)到了限制值,當(dāng)前事務(wù)將被回滾,會話將被終止(aborted),會話所占用的資源將被系統(tǒng)回收。下次會話將得到報錯信息,提示用戶已經(jīng)終止了與實(shí)例的連接。此限制的設(shè)置單位為分鐘。當(dāng)會話由于超出空閑時間限制而被終止之后,進(jìn)程監(jiān)視器(process monitor,PMON)后臺進(jìn)程將對被終止的會話進(jìn)行清理。在PMON 完成此過程前,統(tǒng)計用戶及會話資源使用時仍將包含被終止的會話。 管理員可以限制每個會話的連接持續(xù)時間。如果會話持續(xù)連接時間超出限制值,當(dāng)前事務(wù)將被回滾,會話將被移除(dropped),會話所占用的資源將被系統(tǒng)

50、回收。此限制的設(shè)置單位為分鐘。Oracle 不會持續(xù)不斷地監(jiān)控會話的空閑時間及連接時間,因?yàn)檫@樣做將降低系統(tǒng)性能。Oracle 的做法是每隔數(shù)分鐘檢查一次。因此,在Oracle 依據(jù)資源限制終止會話前,會話有可能已經(jīng)略微超出了限制時間(例如,超出5 分鐘)。.2 限制調(diào)用資源SQL 語句每次運(yùn)行時,Oracle 都將執(zhí)行一系列操作來處理此語句。在處理過程中,不同的執(zhí)行階段需要向數(shù)據(jù)庫發(fā)起不同的調(diào)用。為了防止某個調(diào)用過度地使用系統(tǒng)資源,Oracle 允許管理員在調(diào)用級(call level)設(shè)定多種資源限制(resource limit)。 如果用戶超過了調(diào)用級資源限制,Oracle 將停止執(zhí)行

51、語句,并進(jìn)行回滾,之后向用戶報錯。此時,當(dāng)前會話內(nèi)已經(jīng)執(zhí)行的語句不受資源限制的影響,用戶會話也將保持連接狀態(tài)。當(dāng)Oracle 執(zhí)行SQL 語句或用戶的其他各類調(diào)用(call)時,系統(tǒng)需要一定的CPU 時間來處理此調(diào)用。普通的調(diào)用所需的CPU 時間較少。但是需要處理大量數(shù)據(jù)的語句,或失控的查詢(runaway query)可能占用大量的CPU 時間,這減少了其他處理任務(wù)可用的CPU時間。 為了防止CPU 時間被不受控地占用,管理員可以限制會話內(nèi)每個調(diào)用使用的CPU 時間,以及會話中所有Oracle 調(diào)用的CPU 時間之和。設(shè)置及衡量調(diào)用或會話可使用的CPU時間的單位為百分之一秒。【實(shí)例10-6】

52、限制用戶devp 的調(diào)用級資源。1)以管理員身份登錄SQLCONNECT / AS SYSDBA已連接。2)創(chuàng)建概要文件,設(shè)定參數(shù)SQLCREATE PROFILE devp_call LIMITCPU_PER_CALL 200LOGICAL_READS_PER_CALL 3;配置文件已創(chuàng)建3) 分配概要文件給用戶devpSQLALTER USER devp PROFILE devp_call;用戶已更改。因?yàn)樵诮⒏乓募evp_call 時指定了LOGICAL_READS_PER_CALL 選項(xiàng)為3,所以如果執(zhí)行單條SQL 語句訪問的數(shù)據(jù)塊總數(shù)超過3,則會顯示如下錯誤信息:SQL CON

53、NECT devp/development已連接。SQLselect * from scott.emp;select * from scott.emp*ERROR 位于第1 行:ORA-02395: 超出IO 使用的調(diào)用限制.3 其他資源1) 邏輯讀取輸入/輸出(Input/output,I/O)是數(shù)據(jù)庫系統(tǒng)中開銷最大的操作。I/O 操作密集的SQL 語句可能會占用大量內(nèi)存及硬盤,并與其他需要同樣資源的數(shù)據(jù)庫操作產(chǎn)生競爭。 為了防止I/O 被獨(dú)占,Oracle 可以限制調(diào)用及會話的邏輯數(shù)據(jù)塊讀?。╨ogical data block read)。邏輯數(shù)據(jù)塊讀取包含從內(nèi)存及磁盤讀取數(shù)據(jù)。設(shè)置及衡

54、量調(diào)用或會話可使用的邏輯讀取的單位為數(shù)據(jù)塊數(shù)量。LOGICAL_READS_PER_SESSON:用于指定會話的最大邏輯讀取次數(shù).LOGICAL_READS_PER_CALL:用于限制每次調(diào)用的最大邏輯I/O 次數(shù).2) CPU可以每個會話或每個調(diào)用為基礎(chǔ)限制CPU 資源?!癈PU/會話”限制為1,000 表示:當(dāng)使用此概要文件的任一會話占用10 秒以上的CPU 時間(CPU 時間限制以百分之一秒為單位)時,該會話就會收到錯誤并被注銷:ORA-02392: exceeded session limit on CPU usage, you arebeing logged off每個調(diào)用限制的作用

55、是相同的,但是它不是限制用戶的整個會話,而是防止任一命令占用過多的CPU。如果“CPU/調(diào)用”受到限制,而且用戶超出了限制,命令就會中止,用戶還會收到錯誤消息,例如:ORA-02393: exceeded call limit on CPU usageCPU_PER_SESSION:用于指定每個會話可以占用的最大CPU 時間.CPU_PER_CALL:限制每次調(diào)用(解析,執(zhí)行或提取數(shù)據(jù))可占用的最大CPU 時間(單位:百分之一秒)3) 網(wǎng)絡(luò)/內(nèi)存:每個數(shù)據(jù)庫會話都會占用系統(tǒng)內(nèi)存資源和網(wǎng)絡(luò)資源(如會話來自服務(wù)器的非本地用戶)??梢灾付ㄒ韵聟?shù):- 連接時間:指示用戶在自動注銷前可以保持連接的分鐘

56、數(shù)- 閑置時間:指示用戶會話在自動注銷前可以保持閑置的分鐘數(shù)。只會計算服務(wù)器進(jìn)程的閑置時間。閑置時間中不考慮應(yīng)用程序活動。IDLE_TIME 限制不受長時間運(yùn)行查詢和其它操作的影響。- 并行會話:指示使用數(shù)據(jù)庫用戶帳戶可以創(chuàng)建多少并行會話- 專用SGA:限制系統(tǒng)全局區(qū)域(SGA) 中執(zhí)行排序、合并位圖等操作占用的空間。此限制僅在會話使用共享服務(wù)器時才有效。PRIVATE_SGA:用于指定會話在共享池中可以分配的最大總計私有空間.需要注意,該選項(xiàng)只使用與共享服務(wù)器模式.COMPOSITE_LIMIT:用于指定會話的總計資源消耗(單位:服務(wù)單元).oracle 會根據(jù)CPU_PER_SESSION

57、,CONNECT_TIME,LOGICAL_READS_PER_SESSION 以及PRIVATE_SGA 的求權(quán)結(jié)果取得總計服務(wù)單元.SESSIONS_PER_USER:用于指定每個用戶的最大并發(fā)會話個數(shù).CONNECT_TIME:用于指定會話的最大連接時間.IDLE_TIME:用于指定會話的最大空閑時間.通過概要文件還可提供組合限制。組合限制以“CPU/會話”、“讀取/會話”、“連接時間”和“專用SGA”的加權(quán)組合為基礎(chǔ)。下面以限制帳戶DEVEP 會話占用CPU 時間不超過50 秒,邏輯讀取次數(shù)不超過100 次為例,說明使用PROFILE 限制會話資源的方法.為了控制會話資源,首先應(yīng)執(zhí)行C

58、REATEPROFILE 命令建立PROFILE,然后使用ALTER USER 命令將PROFILE 分配給用戶DEVEP.CREATE PROFILE session_limit LIMITCPU_PER_SESSION 5000 LOGICAL_READS_PER_SESSION 100;ALTER USER devep PROFILE session_limit;其它操作.1 修改概要文件當(dāng)口令和資源限制無法滿足用戶的實(shí)際需求時,你就需要修改概要文件中的口令及資源限制參數(shù)。修改概要文件是使用ALTER PROFILE 命令由DBA 來完成的;如果要以其它用戶身份修改概要文件,則要求該用戶

59、必須具有ALTER PROFILE 系統(tǒng)權(quán)限。需要注意,修改概要文件對已存在會話沒有影響,而只對新會話起作用?!緦?shí)例10-7】修改用戶devp 的口令和資源限制。1)以管理員身份登錄SQLCONNECT / AS SYSDBA已連接。2)修改概要文件SQLALTER PROFILE devp_call LIMITSESSIONS_PER_USER 2FAILED_LOGIN_ATTEMPTS 2CPU_PER_CALL 200;配置文件已更改修改用戶devp 當(dāng)前的概要文件后,當(dāng)devp 重新登錄后,其口令和資源限制就發(fā)生變化了,如該用戶的口令失敗次數(shù)只能兩次。.2 刪除概要文件當(dāng)某個概要文件

60、不需要時,可以刪除它。刪除概要文件是使用DROP PROFILE 命令由DBA 來完成的,如果要以其他用戶身份刪除概要文件,則要求該用戶必須具有DROPPROFILE 系統(tǒng)權(quán)限?!緦?shí)例16-8】刪除概要文件devp_call1)以管理員身份登錄SQLCONNECT / AS SYSDBA已連接。2)刪除概要文件SQLDROP PROFILE devp_call CASCADE;配置文件已丟棄需要注意,如果概要文件已經(jīng)被分配給某個用戶,那么當(dāng)刪除概要文件時必須帶有CASCADE 選項(xiàng)。如果用戶的概要文件已經(jīng)被刪除,Oracle 將自動為用戶重新指定DEFAULT 概要文件。.3 顯示概要文件信息

溫馨提示

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

最新文檔

評論

0/150

提交評論