一、Profile目的: Oracle系統中的profile可以用來對用戶所能使用的資料庫資源進行限制,使用Create Profile命令創建一個Profile,用它來實現對資料庫資源的限制使用,如果把該profile分配給用戶,則該用戶所能使用的資料庫資源都在該profile的限制之內。具體管理 ...
一、Profile目的:
Oracle系統中的profile可以用來對用戶所能使用的資料庫資源進行限制,使用Create Profile命令創建一個Profile,用它來實現對資料庫資源的限制使用,如果把該profile分配給用戶,則該用戶所能使用的資料庫資源都在該profile的限制之內。具體管理內容有:CPU的時間、I/O的使用、IDLE TIME(空閑時間)、CONNECT TIME(連接時間)、併發會話數量、口令機制等。
二、條件:
創建profile必須要有CREATE PROFILE的系統許可權。為用戶指定資源限制,必須:
1.動態地使用alter system或使用初始化參數resource_limit使資源限制生效。該改變對密碼資源無效,密碼資源總是可用。
SQL> show parameter resource_limit
SQL> alter system set resource_limit=true;
2.使用create profile創建一個定義對資料庫資源進行限制的profile。
例: 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用戶)
三、查詢Profile
可通過dba_profiles視圖查看一下系統中預設都有哪些PROFILE
四、創建 profile 的語法如下:
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 }
}