ORACLE 配置文件

前端之家收集整理的这篇文章主要介绍了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。

PROFILERESOURCE_NAMERESOURCE_TYPELIMIT
-------------------------------------------------------------------------------------------------------------------
APP_USERCOMPOSITE_LIMITKERNELDEFAULT
APP_USERSESSIONS_PER_USERKERNEL3
APP_USERcpu_PER_SESSIONKERNELDEFAULT
APP_USERcpu_PER_CALLKERNELDEFAULT
APP_USERLOGICAL_READS_PER_SESSIONKERNELDEFAULT
APP_USERLOGICAL_READS_PER_CALLKERNELDEFAULT
APP_USERIDLE_TIMEKERNELDEFAULT
APP_USERCONNECT_TIMEKERNEL2
APP_USERPRIVATE_SGAKERNELDEFAULT
APP_USERFailed_LOGIN_ATTEMPTSPASSWORDDEFAULT
APP_USERPASSWORD_LIFE_TIMEPASSWORDDEFAULT
APP_USERPASSWORD_REUSE_TIMEPASSWORDDEFAULT
APP_USERPASSWORD_REUSE_MAXPASSWORD2
APP_USERPASSWORD_VERIFY_FUNCTIONPASSWORDDEFAULT
APP_USERPASSWORD_LOCK_TIMEPASSWORDDEFAULT
APP_USERPASSWORD_GRACE_TIMEPASSWORDDEFAULT

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: 无法重新使用口令

猜你在找的Oracle相关文章