限制一个用户的链接数,可以通过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限制某个用户的连接数及PROFILE介绍的更多相关文章

  1. Oracle基础和用户管理

    1.数据库的使用: 项目的规模:负载量(用户)有多大? 成本: 安全性:   (小型数据库)access.forbase 负载小 :100人以内,比如留言板,信息管理系统. 成本:千元以内. 安全性要 ...

  2. Oracle笔记之用户管理

    1. 创建用户 创建用户使用create user语句,需要DBA权限: CREATE USER tom IDENTIFIED BY mot; 2. 更改用户密码 修改别人的密码需要DBA权限,或者a ...

  3. oracle系列(二)用户管理

    SQL> conn /as sysdbaConnected to Oracle Database 11g Express Edition Release 11.2.0.2.0 Connected ...

  4. (Oracle)数据库用户的密码过期时间如何修改为永不过期

    Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天.那么如何修改Oracle数据库用户的密码过期时间为永不 ...

  5. Oracle查看所有用户及其权限

    Oracle查看所有用户及其权限:Oracle数据字典视图的种类分别为:USER,ALL 和 DBA. USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息 ALL_*:有关用户可以访问的 ...

  6. sql 查看某用户的连接数 以及 如何删除该用户的会话

    --查看不同用户的连接数 select TERMINAL from v$session where username='username' and machine='machine' ---查询用户会 ...

  7. 如何查询Oracle中所有用户信息

    1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限( ...

  8. Oracle查看所有用户

    1.查看所有用户:select * from dba_users;   select * from all_users;   select * from user_users; 2.查看用户或角色系统 ...

  9. 查询oracle中所有用户信息

    1.查看所有用户:select * from dba_users;   select * from all_users;   select * from user_users; 2.查看用户或角色系统 ...

随机推荐

  1. JS实现隔行变色,鼠标移入高亮

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px ...

  2. Python批量修改文件名

    处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...

  3. Java EE 参考文档及sample

    http://docs.oracle.com/javaee/6/tutorial/doc/ https://svn.java.net/svn/javaeetutorial~svn/ 检索: site: ...

  4. MVVM了解

    了解WPF要有两年,零零碎碎也做了几个项目,之前面试的时候面试官必问对MVVM的了解. 其实不太了解,只是做项目的时候一直采用这种模式,Model-View-ViewModel.以下是我在了解过程中的 ...

  5. pgsql 常用的命令

    pgsql 常用的命令:1. 创建数据库create database name with owner username; 2. 创建用户create role with createdb ;crea ...

  6. iOS ViewController生命周期

    ViewController是view的controller,viewController的职责主要包括管理内部各个view的加载显示与卸载,同时负责与其他ViewController的通信和协调. ...

  7. 重装Eclipse、离线安装ADT、Android SDK

    由于最新的ADT.Android SDK需要最新版本的Eclipse才能使用,我无奈的只好升级Eclipse.看看自己的Eclipse已经两年没有升级了,也是时候升级了.升级前,有很多的顾虑.因为像这 ...

  8. [ACM_模拟] ZJUT OJ 1139 七龙珠 (追及类问题,s-t图像,模拟)

    Description   话说孙悟饭与小林正在与刚造访地球的赛亚人贝吉塔交战,因为连贝吉塔的手下纳巴的实力也远在他俩之上,由于差距悬殊,小林不得不设脱离战场,去寻找正在修炼中的悟空求救,而赛亚人一伙 ...

  9. JSON相关(一):JSON.parse()和JSON.stringify()

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...

  10. JS获取元素CSS值的各种方法分析

    先来看一个实例:如何获取一个没有设置大小的字体? <!DOCTYPE html> <html lang="en"> <head> <met ...