Oracle限制单个用户的并发连接数

文章介绍了如何在Oracle数据库中开启RESOURCE_LIMIT参数来限制单个用户的并发连接数。首先,确认RESOURCE_LIMIT参数已开启,然后通过创建一个新的Profile,如CUR_SESS_PROFILE,并设定sessions_per_user为500,以此限制用户的最大并发连接数。最后,将这个Profile应用到特定用户,例如APPUSER,以实施新的连接限制策略。
摘要由CSDN通过智能技术生成

开启RESOURCE_LIMIT参数

检查资源限制是否开启:

SQL> show parameter resource_limit

NAME TYPE VALUE
---- ---- -----
resource_limit boolean TRUE

这个参数一般是默认开启的,如果没有开启就需要通过ALTER SYSTEM命令来开启。

查看对用户的资源限制

Oracle数据库通过指定用户的Profile来对用户资源进行限制。Profile是对数据库资源使用约束条件的一个集合。

一般用户默认的Profile为DEFAULT

SQL> select profile from dba_users where username='APPUSER';

PROFILE
-------
DEFAULT

Default Profile不会对用户使用数据库资源做任何限制:

SQL> select resource_name,resource_type,limit from dba_profiles 
where profile='DEFAULT';

RESOURCE_NAME RESOURCE LIMIT
------------- -------- -----
COMPOSITE_LIMIT KERNEL UNLIMITED 
SESSIONS_PER_USER KERNEL UNLIMITED 
CPU_PER_SESSION KERNEL UNLIMITED 
CPU_PER_CALL KERNEL UNLIMITED 
LOGICAL_READS_PER_SESSION KERNEL UNLIMITED 
LOGICAL_READS_PER_CALL KERNEL UNLIMITED 
IDLE_TIME KERNEL UNLIMITED 
CONNECT_TIME KERNEL UNLIMITED 
PRIVATE_SGA KERNEL UNLIMITED 
FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED 
PASSWORD_LIFE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_TIME PASSWORD UNLIMITED 
PASSWORD_REUSE_MAX PASSWORD UNLIMITED 
PASSWORD_VERIFY_FUNCTION PASSWORD NULL 
PASSWORD_LOCK_TIME PASSWORD 1 
PASSWORD_GRACE_TIME PASSWORD UNLIMITED 
INACTIVE_ACCOUNT_TIME PASSWORD UNLIMITED 
PASSWORD_ROLLOVER_TIME PASSWORD -1

18 rows selected.

限制用户的并发连接数

创建一个限制并发连接数上限为500的Profile:

SQL> create profile cur_sess_profile limit sessions_per_user 500;

未指定限制的其他资源会采用默认的DEFAULT Profile。

查看该Profile对应的资源限制条件:

SQL> select profile,resource_name,limit from dba_profiles 
where profile='CUR_SESS_PROFILE';

PROFILE RESOURCE_NAME LIMIT
------- ------------- -----
CUR_SESS_PROFILE COMPOSITE_LIMIT DEFAULT 
CUR_SESS_PROFILE SESSIONS_PER_USER 500 
CUR_SESS_PROFILE CPU_PER_SESSION DEFAULT 
CUR_SESS_PROFILE CPU_PER_CALL DEFAULT 
CUR_SESS_PROFILE LOGICAL_READS_PER_SESSION DEFAULT 
CUR_SESS_PROFILE LOGICAL_READS_PER_CALL DEFAULT 
CUR_SESS_PROFILE IDLE_TIME DEFAULT 
CUR_SESS_PROFILE CONNECT_TIME DEFAULT 
CUR_SESS_PROFILE PRIVATE_SGA DEFAULT 
CUR_SESS_PROFILE FAILED_LOGIN_ATTEMPTS DEFAULT 
CUR_SESS_PROFILE PASSWORD_LIFE_TIME DEFAULT
CUR_SESS_PROFILE PASSWORD_REUSE_TIME DEFAULT 
CUR_SESS_PROFILE PASSWORD_REUSE_MAX DEFAULT 
CUR_SESS_PROFILE PASSWORD_VERIFY_FUNCTION DEFAULT 
CUR_SESS_PROFILE PASSWORD_LOCK_TIME DEFAULT 
CUR_SESS_PROFILE PASSWORD_GRACE_TIME DEFAULT 
CUR_SESS_PROFILE INACTIVE_ACCOUNT_TIME DEFAULT 
CUR_SESS_PROFILE PASSWORD_ROLLOVER_TIME DEFAULT

18 rows selected.

将该Profile定义的资源限制应用到指定用户:

SQL> alter user APPUSER profile cur_sess_profile;
SQL> select profile from dba_users where username='APPUSER';
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GottdesKrieges

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值