1、Profile目的:數據庫
Oracle系統中的profile能夠用來對用戶所能使用的數據庫資源進行限制,使用Create Profile命令建立一個Profile,用它來實現對數據庫資源的限制使用,若是把該profile分配給用戶,則該用戶所能使用的數據庫資源都在該profile的限制以內。具體管理內容有:CPU的時間、I/O的使用、IDLE TIME(空閒時間)、CONNECT TIME(鏈接時間)、併發會話數量、口令機制等。session
2、條件:併發
建立profile必需要有CREATE PROFILE的系統權限。爲用戶指定資源限制,必須:資源
1.動態地使用alter system或使用初始化參數resource_limit使資源限制生效。該改變對密碼資源無效,密碼資源老是可用。
SQL> show parameter resource_limit
SQL> alter system set resource_limit=true;
2.使用create profile建立一個定義對數據庫資源進行限制的profile。it
例: create profile one_session limit sessions_per_user 1;(建立一個名爲one_session的Profile,設置限制數量爲1)
3.使用create user 或alter user命令把profile分配給用戶。
例: alter user test profile one_session;(分配給test用戶)io
3、查詢Profilefunction
可經過dba_profiles視圖查看一下系統中默認都有哪些PROFILEtest
4、建立 profile 的語法以下:file
CREATE PROFILE profile
LIMIT { resource_parameters 對資源的限制
| password_parameters 對密碼的限制
}... ;權限
<resource_parameters>
{{ SESSIONS_PER_USER 每一個用戶名並行會話數
| CPU_PER_SESSION 每會話可用的CPU時間,單位0.01秒
| CPU_PER_CALL 一次SQL調用(解析、執行和獲取)容許的CPU時間
| CONNECT_TIME 會話鏈接時間(分鐘)
| IDLE_TIME 會話空閒時間(分鐘),超出將斷開
| LOGICAL_READS_PER_SESSION
| LOGICAL_READS_PER_CALL
| COMPOSITE_LIMIT 「組合打法」
}
{ integer | UNLIMITED | DEFAULT }
| PRIVATE_SGA
{ integer [ K | M ] | UNLIMITED | DEFAULT }
}
< password_parameters > {{ FAILED_LOGIN_ATTEMPTS 被鎖定前的試錯次數 | PASSWORD_LIFE_TIME 密碼使用天數,默認180天 | PASSWORD_REUSE_TIME 密碼可重用的間隔時間(結合PASSWORD_REUSE_MAX) | PASSWORD_REUSE_MAX 密碼最大改變次數(結合PASSWORD_REUSE_TIME) | PASSWORD_LOCK_TIME 超過試錯次數後,被鎖定的天數,默認1天 | PASSWORD_GRACE_TIME 密碼過時後還可以使用原密碼的天數 } { expr | UNLIMITED | DEFAULT } | PASSWORD_VERIFY_FUNCTION { function | NULL | DEFAULT } }