共計 2289 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章給大家分享的是有關數據庫中如何實現 PROFILE 的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
一、創建
CREATE PROFILE profile_name LIMIT
FAILED_LOGIN_ATTEMPTS 6
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60
PASSWORD_REUSE_MAX 5
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_LOCK_TIME 1/24
PASSWORD_GRACE_TIME 90;
密碼資源的級別限制(默認:UNLIMITED)
1、FAILED_LOGIN_ATTEMPTS:一般設置 5~6 次
定在帳戶被鎖定之前所允許嘗試登陸的的最大次數。
2、PASSWORD_LIFE_TIME:
指定同一密碼所允許使用的天數。如果同時指定了 password_grace_time 參數,如果在 grace period 內沒有改變密碼,則密碼會失效,連接數據庫被拒絕。如果沒有設置 password_grace_time 參數,默認值 unlimited 將引發一個數據庫警告,但是允許用戶繼續連接。
3、PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX:
這兩個參數必須互相關聯設置,password_reuse_time 指定了密碼不能重用前的天數,而 password_reuse_max 則指定了當前密碼被重用之前密碼改變的次數。兩個參數都必須被設置為整數。
注:
i. 如果為這兩個參數指定了整數,則用戶不能重用密碼直到密碼被改變了 password_reuse_max 指定的次數以后在 password_reuse_time 指定的時間內。如:password_reuse_time=30,password_reuse_max=10,用戶可以在 30 天以后重用該密碼,要求密碼必須被改變超過 10 次。
ii. 如果指定了其中的一個為整數,而另一個為 unlimited,則用戶永遠不能重用一個密碼。
iii. 如果指定了其中的一個為 default,Oracle 數據庫使用定義在 profile 中的默認值,默認情況下,所有的參數在 profile 中都被設置為 unlimited,如果沒有改變 profile 默認值,數據庫對該值總是默認為 unlimited。
vi. 如果兩個參數都設置為 unlimited,則數據庫忽略他們。
4、PASSWORD_LOCK_TIME:
指定登陸嘗試失敗次數到達后,帳戶的鎖定時間(單位:天)。
5、PASSWORD_GRACE_TIME:
指定寬限天數,數據庫發出警告到登陸失效前的天數。如果數據庫密碼在這中間沒有被修改,則過期會失效。
6、PASSWORD_VERIFY_FUNCTION:
該字段允許將復雜的 PL/SQL 密碼驗證腳本做為參數傳遞到 create profile 語句。Oracle 數據庫提供了一個默認的腳本,但是自己可以創建自己的驗證規則或使用第三方軟件驗證。對 Function 名稱,指定的是密碼驗證規則的名稱,指定為 Null 則意味著不使用密碼驗證功能。如果為密碼參數指定表達式,則該表達式可以是任意格式,除了數據庫標量子查詢。
會話級別的資源限制(默認值:UNLIMITED)
1、SESSIONS_PER_USER:
指定限制用戶的并發會話的數目
2、CPU_PER_SESSION:定義了每個 SESSION 占用的 CPU 的時間。(單位:1/100 秒)
3、IDLE_TIME:
指定會話允許連續不活動的總的時間(單位:分鐘)。超過該時間,會話將斷開。但是長時間運行查詢和其他操作的不受此限制。
4、CONNECT_TIME:
指定會話的總的連接時間。(單位:分鐘)
5、LOGICAL_READS_PER_SESSION:
指定一個會話允許讀的數據塊的數目,包括從內存和磁盤讀的所有數據塊。
6、PRIVATE_SGA:
指定一個會話可以在共享池(SGA)中所允許分配的最大空間(單位:字節)。
注:該限制只在使用共享服務器結構時才有效,會話在 SGA 中的私有空間包括私有的 SQL 和 PL/SQL,但不包括共享的 SQL 和 PL/SQL
7、COMPOSITE_LIMIT:
指定一個會話的總的資源消耗,以 service units 單位表示。Oracle 數據庫以有利的方式計算 cpu_per_session,connect_time,logical_reads_per_session 和 private-sga 總的 service units
調用級別的資源限制(默認值:UNLIMITED)
1、CPU_PER_CALL:
指定一次調用(解析、執行和提取)的 CPU 時間限制。(單位:1/100 秒)
2、LOGICAL_READS_PER_CALL:
指定一次執行 SQL(解析、執行和提取)調用所允許讀的數據塊的最大數目。
二、修改 profile 屬性
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
三、啟用限制
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE SCOPE=BOTH;
四、修改用戶默認的 profile
ALTER USER user_name PROFILE profile_name;
感謝各位的閱讀!關于“數據庫中如何實現 PROFILE”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!