ORACLE的PROFILE文件是限制数据库用户使用的资源的一种手段。如:控制session或sql能使用的CPU、控制用户的密码管理策略等。
数据库创建后,系统则存在名为DEFAULT的默认PROFILE,若不做特殊指定,创建用户时用户默认使用的PROFILE就是DEFAULT。
查看视图dba_profiles可找出数据库中有哪些PROFILE。
SQL> select distinct profile from dba_profiles;
PROFILE
--------------------
MONITORING_PROFILE
DEFAULT
查看所有的PROFILE
SQL> select * from dba_profiles order by PROFILE;
PROFILE
-------------------- ------------------------------ -------- ----------
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
DEFAULT
参数解释
1、对数据库资源做限制
{ { SESSIONS_PER_USER 每个用户名所允许的并行会话数
}
2、对密码做限制
{ { FAILED_LOGIN_ATTEMPTS 帐户被锁定之前可以错误尝试的次数
}
修改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
-------------------- ----------- -------
resource_limit
其他:
1、设置SQL列显示宽度:col 列名 for 大小;
如col username for a20;
2、权限控制的策略在使用前一定要做好充分的测试,确保透彻理解每一条限制规则,另外将每一步的限制规则记录到一个特定的数据库维护手册中。