千家信息网

Oracle如何限制某个用户的连接数

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,小编给大家分享一下Oracle如何限制某个用户的连接数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!要限制一个用户的链接数
千家信息网最后更新 2026年11月04日Oracle如何限制某个用户的连接数

小编给大家分享一下Oracle如何限制某个用户的连接数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

要限制一个用户的链接数,可以通过ORACLE的PROFILE文件来实现

1. 查看resource_limit参数:

SQL> show parameter resource_limit

如果为FALSE,设置 RESOURCE_LIMIT参数为TRUE,即开启资源限制:

alter system set resource_limit =TRUE;

该改变对密码资源无效,密码资源总是可用的

2. 创建PROFILE :

SQL>create profile sess limit sessions_per_user 20; --最大连接数限制为20

3. 将PROFILE指定给用户:

SQL>alter user ydgwb profile sess;

附:PROFILE介绍

ORACLE的PROFILE文件是限制数据库用户使用资源的一种手段。

如:控制session或sql能使用的CPU、控制用户的密码管理策略等。数据库创建后,系统则存在名为DEFAULT的默认PROFILE,若不做特殊指定,创建用户时用户默认使用的PROFILE就是DEFAULT。

1. 查看视图dba_profiles可找出数据库中有哪些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

参数解释

1、对数据库资源做限制

{ { SESSIONS_PER_USER 每个用户名所允许的并行会话数

| CPU_PER_SESSION 一个会话一共可以使用的CPU时间,单位是百分之一秒

| CPU_PER_CALL 一次SQL调用(解析、执行和获取)允许使用的CPU时间

| CONNECT_TIME 限制会话连接时间,单位是分钟

| IDLE_TIME 允许空闲会话的时间,单位是分钟

| LOGICAL_READS_PER_SESSION 限制会话对数据块的读取,单位是块

| LOGICAL_READS_PER_CALL 限制SQL调用对数据块的读取,单位是块

| COMPOSITE_LIMIT "组合打法"

} { integer | UNLIMITED | DEFAULT }

| PRIVATE_SGA 限制会话在SGA中Shared Pool中私有空间的分配 { size_clause | UNLIMITED | DEFAULT}

}

2、对密码做限制

{ { 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 }

}

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

如:alter profile default limit failed_login_attempts 100;

删除PROFILE:drop profile [资源文件名] [CASCADE] ;

若创建的PROFILE已经授权给了某个用户,使用CASCADE级联收回相应的限制,收回限制信息后将以系统默认的PROFILE对该用户进行限制。

设置PROFILE参数的生效时间

1、用户所有拥有的PROFILE中有关密码的限制立即生效,不受限制。从这个可看出Oracle对用户密码的重视程度。

2、用户所有拥有的PROFILE中有关资源的限制与resource_limit参数的设置有关,当为TRUE时生效,当为FALSE时(默认值)设置任何值都无效。

SQL> show parameter resource_limit

NAME TYPE VALUE

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

resource_limit boolean FALSE

以上是"Oracle如何限制某个用户的连接数"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

限制 用户 密码 资源 单位 数据 时间 参数 数据库 文件 次数 篇文章 有关 最大 内容 天数 文件名 系统 错误 尝试 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 科技互联网龙头 互联网最新的科技 互联网品科技 工业互联网科技新基建 互联网金融与金融科技 互联网未来科技 甘肃拓世互联网科技有限公司 深圳卡尔迅互联网科技有限公司怎么样 荆州市昕露互联网络科技有限公司 互联网科技研发水平 亳州好赞互联网科技有限公司 美国互联网科技实力 2021互联网科技公司排名 江苏互联网智能科技软件 互联网科技包装股份有限公司上市 求路客互联网科技电话 深圳互联网科技园地址 河南商务圈互联网科技有限公司 互联网科技创新方面的资料 百单网互联网科技有限公司 中国互联网科技股 丰台科技园 互联网 互联网女皇 腾讯科技 深圳国际航运科技和互联网 宁夏科技产业互联网案例 苏州铭阳互联网科技有限公司 米聚互联网科技南京有限公司排面 陕西九四连强互联网科技有限公司 杭州科技互联网公司有哪些
0