溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle如何限制某個用戶的連接數(shù)

發(fā)布時間:2021-11-11 11:18:58 來源:億速云 閱讀:763 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

小編給大家分享一下Oracle如何限制某個用戶的連接數(shù),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

要限制一個用戶的鏈接數(shù),可以通過ORACLE的PROFILE文件來實現(xiàn)

1.     查看resource_limit參數(shù):

SQL> show parameter resource_limit

如果為FALSE,設(shè)置 RESOURCE_LIMIT參數(shù)為TRUE,即開啟資源限制:

alter system set resource_limit =TRUE; 

該改變對密碼資源無效,密碼資源總是可用的

2.     創(chuàng)建PROFILE :

SQL>create  profile sess limit sessions_per_user 20; --最大連接數(shù)限制為20

3.     將PROFILE指定給用戶:

SQL>alter user ydgwb profile sess;

附:PROFILE介紹

ORACLE的PROFILE文件是限制數(shù)據(jù)庫用戶使用資源的一種手段。

如:控制session或sql能使用的CPU、控制用戶的密碼管理策略等。數(shù)據(jù)庫創(chuàng)建后,系統(tǒng)則存在名為DEFAULT的默認PROFILE,若不做特殊指定,創(chuàng)建用戶時用戶默認使用的PROFILE就是DEFAULT。

1.     查看視圖dba_profiles可找出數(shù)據(jù)庫中有哪些PROFILE。

SQL> select distinct profile from dba_profiles;

2.     查看所有的PROFILE
SQL> select * from dba_profiles order by PROFILE;

PROFILE RESOURCE_NAME RESOURCE LIMIT

-------------------- ------------------------------ -------- ----------

DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED

DEFAULT PASSWORD_LOCK_TIME PASSWORD 1

DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL

DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED

DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_LIFE_TIME PASSWORD 180

DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED

DEFAULT PRIVATE_SGA KERNEL UNLIMITED

DEFAULT CONNECT_TIME KERNEL UNLIMITED

DEFAULT IDLE_TIME KERNEL UNLIMITED

DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED

DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED

DEFAULT CPU_PER_CALL KERNEL UNLIMITED

DEFAULT CPU_PER_SESSION KERNEL UNLIMITED

DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED

DEFAULT PASSWORD_GRACE_TIME PASSWORD 7

參數(shù)解釋

1、對數(shù)據(jù)庫資源做限制

{ { SESSIONS_PER_USER 每個用戶名所允許的并行會話數(shù)

| CPU_PER_SESSION 一個會話一共可以使用的CPU時間,單位是百分之一秒

| CPU_PER_CALL 一次SQL調(diào)用(解析、執(zhí)行和獲取)允許使用的CPU時間

| CONNECT_TIME 限制會話連接時間,單位是分鐘

| IDLE_TIME 允許空閑會話的時間,單位是分鐘

| LOGICAL_READS_PER_SESSION 限制會話對數(shù)據(jù)塊的讀取,單位是塊

| LOGICAL_READS_PER_CALL 限制SQL調(diào)用對數(shù)據(jù)塊的讀取,單位是塊

| COMPOSITE_LIMIT “組合打法”

} { integer | UNLIMITED | DEFAULT }

| PRIVATE_SGA 限制會話在SGA中Shared Pool中私有空間的分配 { size_clause | UNLIMITED | DEFAULT}

}

2、對密碼做限制

{ { FAILED_LOGIN_ATTEMPTS 帳戶被鎖定之前可以錯誤嘗試的次數(shù)

| PASSWORD_LIFE_TIME 密碼可以被使用的天數(shù),單位是天,默認值180天

| PASSWORD_REUSE_TIME 密碼可重用的間隔時間(結(jié)合PASSWORD_REUSE_MAX)

| PASSWORD_REUSE_MAX 密碼的最大改變次數(shù)(結(jié)合PASSWORD_REUSE_TIME)

| PASSWORD_LOCK_TIME 超過錯誤嘗試次數(shù)后,用戶被鎖定的天數(shù),默認1天

| PASSWORD_GRACE_TIME 當密碼過期之后還有多少天可以使用原密碼

} { expr | UNLIMITED | DEFAULT }

| PASSWORD_VERIFY_FUNCTION { function | NULL | DEFAULT }

}

修改profile:alter profile [資源文件名] limit [資源名] unlimited;

如:alter profile default limit failed_login_attempts 100;

刪除PROFILE:drop profile [資源文件名] [CASCADE] ;

若創(chuàng)建的PROFILE已經(jīng)授權(quán)給了某個用戶,使用CASCADE級聯(lián)收回相應(yīng)的限制,收回限制信息后將以系統(tǒng)默認的PROFILE對該用戶進行限制。

設(shè)置PROFILE參數(shù)的生效時間

1、用戶所有擁有的PROFILE中有關(guān)密碼的限制立即生效,不受限制。從這個可看出Oracle對用戶密碼的重視程度。

2、用戶所有擁有的PROFILE中有關(guān)資源的限制與resource_limit參數(shù)的設(shè)置有關(guān),當為TRUE時生效,當為FALSE時(默認值)設(shè)置任何值都無效。

SQL> show parameter resource_limit

NAME TYPE VALUE

-------------------- ----------- -------

resource_limit boolean FALSE

以上是“Oracle如何限制某個用戶的連接數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI