`

Oracle使用Profile对用户Session会话进行资源限制

阅读更多

通过profile可以对用户会话进行一定的限制,比如IDLE时间。
将IDLE超过一定时间的会话断开,可以减少数据库端的会话数量,减少资源耗用。


使用这些资源限制特性,需要设置resource_limit为TRUE:

[oracle@test126 udump]$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 13 07:58:21 2006

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning and Data Mining options

SQL> show parameter resource

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
resource_limit                      boolean    TRUE
resource_manager_plan                string


该参数可以动态修改:

SQL> alter system set resource_limit=true;

System altered.


数据库缺省的PROFILE设置为:

SQL> SELECT * FROM DBA_PROFILES;

PROFILE              RESOURCE_NAME                    RESOURCE LIMIT
-------------------- -------------------------------- -------- ---------------
DEFAULT              COMPOSITE_LIMIT                  KERNEL  UNLIMITED
DEFAULT              SESSIONS_PER_USER                KERNEL  UNLIMITED
DEFAULT              CPU_PER_SESSION                  KERNEL  UNLIMITED
DEFAULT              CPU_PER_CALL                    KERNEL  UNLIMITED
DEFAULT              LOGICAL_READS_PER_SESSION        KERNEL  UNLIMITED
DEFAULT              LOGICAL_READS_PER_CALL          KERNEL  UNLIMITED
DEFAULT              IDLE_TIME                        KERNEL  UNLIMITED
DEFAULT              CONNECT_TIME                    KERNEL  UNLIMITED
DEFAULT              PRIVATE_SGA                      KERNEL  UNLIMITED
DEFAULT              FAILED_LOGIN_ATTEMPTS            PASSWORD 10
DEFAULT              PASSWORD_LIFE_TIME              PASSWORD UNLIMITED

PROFILE              RESOURCE_NAME                    RESOURCE LIMIT
-------------------- -------------------------------- -------- ---------------
DEFAULT              PASSWORD_REUSE_TIME              PASSWORD UNLIMITED
DEFAULT              PASSWORD_REUSE_MAX              PASSWORD UNLIMITED
DEFAULT              PASSWORD_VERIFY_FUNCTION        PASSWORD NULL
DEFAULT              PASSWORD_LOCK_TIME              PASSWORD UNLIMITED
DEFAULT              PASSWORD_GRACE_TIME              PASSWORD UNLIMITED

16 rows selected.


创建一个允许3分钟IDLE时间的PROFILE:

SQL> CREATE PROFILE KILLIDLE LIMIT IDLE_TIME 3;

Profile created.


新创建PROFILE的内容:

SQL> col limit for a10
SQL> select * from dba_profiles where profile='KILLIDLE';

PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------
KILLIDLE                      COMPOSITE_LIMIT                  KERNEL  DEFAULT
KILLIDLE                      SESSIONS_PER_USER                KERNEL  DEFAULT
KILLIDLE                      CPU_PER_SESSION                  KERNEL  DEFAULT
KILLIDLE                      CPU_PER_CALL                    KERNEL  DEFAULT
KILLIDLE                      LOGICAL_READS_PER_SESSION        KERNEL  DEFAULT
KILLIDLE                      LOGICAL_READS_PER_CALL          KERNEL  DEFAULT
KILLIDLE                      IDLE_TIME                        KERNEL  3
KILLIDLE                      CONNECT_TIME                    KERNEL  DEFAULT
KILLIDLE                      PRIVATE_SGA                      KERNEL  DEFAULT
KILLIDLE                      FAILED_LOGIN_ATTEMPTS            PASSWORD DEFAULT
KILLIDLE                      PASSWORD_LIFE_TIME              PASSWORD DEFAULT

PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------
KILLIDLE                      PASSWORD_REUSE_TIME              PASSWORD DEFAULT
KILLIDLE                      PASSWORD_REUSE_MAX              PASSWORD DEFAULT
KILLIDLE                      PASSWORD_VERIFY_FUNCTION        PASSWORD DEFAULT
KILLIDLE                      PASSWORD_LOCK_TIME              PASSWORD DEFAULT
KILLIDLE                      PASSWORD_GRACE_TIME              PASSWORD DEFAULT

16 rows selected.


测试用户:

SQL> select username,profile from dba_users where username='EYGLE';

USERNAME                      PROFILE
------------------------------ --------------------
EYGLE                          DEFAULT


修改eygle用户的PROFILE使用新建的PROFILE:

SQL> alter user eygle profile killidle;

User altered.

SQL> select username,profile from dba_users where username='EYGLE';

USERNAME                      PROFILE
------------------------------ --------------------
EYGLE                          KILLIDLE


进行连接测试:

[oracle@test126 admin]$ sqlplus eygle/eygle@eygle

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 13 08:07:13 2006
Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning and Data Mining options

SQL> select username,profile from dba_users where username='EYGLE';

USERNAME                      PROFILE
------------------------------ ------------------------------
EYGLE                          KILLIDLE



当IDLE超过限制时间时,连接会被断开:

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY
-------------------
2006-10-13 08:08:41

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
*
ERROR at line 1:
ORA-02396: exceeded maximum idle time, please connect again
分享到:
评论

相关推荐

    ORACLE_PROFILE的使用详解

    - **DEFAULT**:表示忽略`PROFILE`中的一些资源限制,默认情况下`PROFILE`不对资源进行限制,但可以通过`ALTER PROFILE`命令进行修改。 - **Resource Parameters** - **SESSIONS_PER_USER**:限制用户同时可建立的...

    Oracle用户授权

    PROFILE是用来控制用户资源使用的工具,包括CPU时间、I/O使用、空闲时间、连接时间、并发会话数量和口令策略等。例如,创建一个PROFILE并设置限制: ```sql CREATE PROFILE my_profile LIMIT CPU_PER_SESSION ...

    oracle用户管理.pptx

    本教程主要讲解Oracle数据库中的用户管理和角色管理机制,以及如何通过概要文件来限制用户资源,确保系统的稳定运行。 首先,Oracle数据库的用户管理涉及到用户创建、修改和授权。用户是访问数据库的基本实体,每个...

    oracle-用户管理.pptx

    Oracle 数据库用户管理是数据库系统中的关键组成部分,它涉及到如何创建、管理以及限制用户对数据库资源的访问。在Oracle环境中,用户和角色是权限管理的基础,而概要文件则是实现这些管理策略的重要工具。 首先,...

    top_session.zip_top session orac

    6. **资源限制和管理**:通过PGA(程序全局区)和SGA(系统全局区)的内存管理,以及SQL Profile和Plan Baseline,可以控制和优化会话的资源使用。 7. **事件(Events)和等待事件**:通过分析会话的等待事件,可以...

    Oracle概要文件、用户权限和角色

    - **资源限制**:可以限制用户的登录时间、连接数、会话数以及每个会话使用的资源量等。 - **密码策略**:可以定义密码的复杂度、有效期、历史记录等规则。 - **资源利用**:可以设置每个用户或用户组可以使用的CPU...

    linux系统安装oracle11G完整版

    编辑 /etc/profile 文件,添加 ulimit 命令,以限制 Oracle 用户的资源使用量。 知识点:/etc/profile 文件是 Linux 系统中用于设置 shell 环境变量的文件,通过修改该文件,可以调整 shell 的行为。 6. 创建...

    oracle学习笔记之_用户 口令 权限

    5. **概要文件设置**:通过设置不同的概要文件来控制用户的资源使用,如连接时间限制、CPU使用量等。 6. **权限分配**:根据用户需求合理分配权限,遵循最小权限原则。 通过以上总结,我们可以了解到Oracle数据库中...

    oracle基础命令总结.docx

    `赋予系统用户对这个目录的读写权限,以便进行数据的导入导出。 2. **创建表空间**:表空间是存储数据库对象(如表、索引等)的逻辑单位。例如: - `CREATE TABLESPACE 表空间 DATAFILE '表空间.dbf' SIZE 400M ...

    oracle权限角色

    - `ALTER PROFILE`: 修改用户资源限制,如会话数、CPU时间等,用于控制用户资源使用。 - `AUDIT`: 审计功能有助于确保数据安全性,追踪非法或异常操作。 - `CREATE/ALTER/DROP USER`: 用户账户的创建、修改和删除...

    oracle权限全集

    - `ALTER PROFILE`: 修改资源限制配置,如CPU使用、会话限制等。 - `ALTER ROLLBACK SEGMENT`: 修改回滚段的属性。 - `ALTER SEQUENCE`: 改变用户拥有的序列的参数。 - `ALTER SESSION`: 调整会话的参数,如NLS...

    Oracle系统权限说明

    - `ALTER PROFILE`: 修改资源限制配置,用于控制用户会话的资源使用。 - `ALTER RESOURCE COST`: 设置数据库的资源消耗策略。 - `ALTER ROLLBACK SEGMENT`: 修改回滚段以优化事务回滚。 - `ALTER SESSION`: 用户...

    Oracle创建用户,并授权DBA权限

    本文将详细解析如何在 Oracle 中创建用户、分级授权以及对 DBA 权限的具体操作方法,并介绍如何为用户授予导入导出权限。 #### 一、创建表空间 (Tablespace) 在创建用户之前,首先需要创建一个表空间供该用户使用...

    Oracle OCP 12c 1z0-062-学习练习题

    - 用户PROFILE可以用来管理登录尝试次数、会话资源限制(如数据读取量)以及并发会话数。在问题2中,要实现指定的安全策略,必须为用户分配一个PROFILE。 3. **数据库链接 (Database Links)** - 数据库链接允许在...

    解决ORALCE大小写限制及登录限制

    3. **资源限制**:使用`PROFILE`对象,可以限制用户登录次数、会话时间、CPU使用量等,防止资源滥用。 4. **角色权限**:通过分配不同的角色,控制用户对数据库的访问权限。例如,只允许特定角色的用户进行数据查询...

    Oracle数据库的安全与管理培训教材.pptx

    5. **资源限制**:Oracle提供资源限制功能,如通过环境文件限制用户的CPU时间、会话数量、连接时间和空闲时间。这有助于防止资源滥用和保证数据库性能。资源限制可以在会话层或调用层设置,如`ALTER SYSTEM SET ...

    oracle 学习笔记

    Profile用于控制用户资源限制和密码策略,以增强数据库安全性。 ##### 创建Profile ```sql CREATE PROFILE profile_name LIMIT password_life_time 时间 password_grace_time 宽限期; ``` 例如,`create profile ...

    Oracle_SQL学习笔记

    为了限制用户在数据库中的活动会话数量,可以通过创建一个profile并设置`sessions_per_user`参数来实现。例如,要限制某用户仅能同时打开一个会话: 1. 创建profile:`CREATE PROFILE one_session LIMIT SESSIONS_...

Global site tag (gtag.js) - Google Analytics