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