千家信息网

ORACLE 配置文件

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,配置文件的功能:管理密码、限制会话可占用的资源。Oracle建议使用资源管理器来限制资源管理。1.语法:创建配置文件:CREATE PROFILE profile LIMIT { resource_p
千家信息网最后更新 2024年11月20日ORACLE 配置文件

配置文件的功能:管理密码、限制会话可占用的资源。Oracle建议使用资源管理器来限制资源管理。

1.语法:

创建配置文件:

CREATE PROFILE profile LIMIT { resource_parameters | password_parameters }...;

修改配置文件:

ALTER PROFILE profile LIMIT { resource_parameters | password_parameters }...;

删除配置文件:

drop profile profile_name [cascade];


应用配置文件:

alter user user_name profile profile_name;



2.相关参数

1)管理口令:

failed_login_attempts:锁定用户前,口令可以连续输入错误数。

password_lock_time:密码输错错误导致账户锁定的天数;

password_life_time:口令过期前的天数;

password_grace_time:口令过期后仍然可以登陆的天数;

password_reuse_time:相同口令可以再次使用的时间间隔,以天为单位;

password_reuse_max:在达到PASSWORD_REUSE_TIME指定时间后,要再次使用同一口令前必须改变的次数。

password_verify_function:密码复杂性。

2)资源限制:

SESSIONS_PER_USER:每个用户可以登陆的会话数;

CPU_PER_SESSION:指定会话的CPU时间限制,以百分之一秒为单位。

CPU_PER_CALL CPU时间限制,以百分之一秒为单位。

CONNECT_TIME 连接时间,以分钟为单位

IDLE_TIME 指定会话期间持续不活动时间的允许期间,以分钟表示。 长时间运行的查询和其他操作不受此限制。

LOGICAL_READS_PER_SESSION 指定在会话中读取的数据块的允许数量,包括从内存和磁盘读取的数据块。

LOGICAL_READS_PER_CALL 指定为调用处理SQL语句(解析,执行或提取)而读取的数据块的允许数量。

PRIVATE_SGA 指定会话可以在系统全局区域(SGA)的共享池中分配的私有空间量。

只有设置了实例参数,才会应用资源限制:

alter system set resource_limit=true;


3.例子

3.1 创建新的配置文件

创建新的配置文件,供测试使用。

CREATE PROFILE app_user LIMIT

SESSIONS_PER_USER 3

CONNECT_TIME 2

PASSWORD_REUSE_MAX 2;

3.2 查看配置文件的类型

SQL> select distinct profile from dba_profiles;


PROFILE

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

MONITORING_PROFILE

APP_USER

DEFAULT


3.3 查看配置文件的内容

SQL> select * from dba_profiles where profile='APP_USER';#未分配的值,LIMIT字段为DEFAULT。

PROFILE                        RESOURCE_NAME                    RESOURCE_TYPE LIMIT------------------------------ -------------------------------- ------------- ----------------------------------------APP_USER                       COMPOSITE_LIMIT                  KERNEL        DEFAULTAPP_USER                       SESSIONS_PER_USER                KERNEL        3APP_USER                       CPU_PER_SESSION                  KERNEL        DEFAULTAPP_USER                       CPU_PER_CALL                     KERNEL        DEFAULTAPP_USER                       LOGICAL_READS_PER_SESSION        KERNEL        DEFAULTAPP_USER                       LOGICAL_READS_PER_CALL           KERNEL        DEFAULTAPP_USER                       IDLE_TIME                        KERNEL        DEFAULTAPP_USER                       CONNECT_TIME                     KERNEL        2APP_USER                       PRIVATE_SGA                      KERNEL        DEFAULTAPP_USER                       FAILED_LOGIN_ATTEMPTS            PASSWORD      DEFAULTAPP_USER                       PASSWORD_LIFE_TIME               PASSWORD      DEFAULTAPP_USER                       PASSWORD_REUSE_TIME              PASSWORD      DEFAULTAPP_USER                       PASSWORD_REUSE_MAX               PASSWORD      2APP_USER                       PASSWORD_VERIFY_FUNCTION         PASSWORD      DEFAULTAPP_USER                       PASSWORD_LOCK_TIME               PASSWORD      DEFAULTAPP_USER                       PASSWORD_GRACE_TIME              PASSWORD      DEFAULT

3.4 修改SCOTT用户的默认配置文件

SQL> alter user scott profile app_user;

User altered


#启用资源限制

alter system set resource_limit=true;

#登陆scott,连接会话超过3次会报错

SQL> conn scott/tiger

ERROR:

ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit


#连接2分钟之后,执行查询操作报错;如果无操作,scott用户仍不能登陆。

SQL> select count(1) from tabs;

select count(1) from tabs

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-02399: exceeded maximum connect time, you are being logged off


#修改scott的密码,原密码为tiger

SQL> alter user scott identified by scott;

User altered

SQL> alter user scott identified by scott;

alter user scott identified by scott

ORA-28007: 无法重新使用口令


0