日期:2014-05-16  浏览次数:20404 次

Oracl数据库中用户权限和安全2--创建修改管理用户资源配置文件
5. 创建用户配置文件<dba角色>(create profile ...limit)
	create  profile  profile_name limit
	[资源限制参数名/口令限制参数名 参数值|....];

例如:create profile myprofile limit
	sessions_per_user 10
	failed_login_attempts 3;

如果需要创建复杂的资源文件,那么在自定义用户配置文件之前,需要对用户口令策略和资源限制进行分析,例如:
a. 容许连续3次输入错误的口令,如果第四次依旧错误,则该登录用户被锁定。
b. 每隔15天修改一次登录口令。
c. 在100天后才允许重复使用以前的口令。
d. 用户最多能够建立10个数据库会话。
e. 保持15分钟的空闲状态后,会话自动断开。
f. 每个会话持续连接到数据库的最长时间为24个小时。
g. 会话中每条SQL语句最多占用50个单位的CPU时间。
h. 使用口令复杂度验证函数verify_function_11g对用户口令进行复杂度验证。

创建步骤:
1> 以dba身份登录,sqlplus
2> 在oracle安装目录..db_1\rdbms\admin中找到utlpwdng。sql并运行来创建pwd复杂度检查函数。
3> 执行脚本:
	SQL>create profile profile_one limit
	failed_login_attempts 3
	password_life_time 15
	pasword_lock_time 100
	session_per_user 10
	idle_time 15
	connect_time 1440
	cpu_per_call 50
	password_verify_function verify_function_11g;
4>设置系统参数resource_limit
	alter system set resource_limit = true;
5>将创建的配置文件指定给用户,设置的参数将对user_name 起作用。
	alter user user_name profile profile_one; 

6. 管理用户配置文件
a. 查询用户配置文件(可以通过视图查询配置文件信息 dba_profiles)
	select resource_name, resource_type,limit
	from dba_profiles
	wher profile='profile_one'
b。修改用户配置文件中的内容
	alter profile profile_name limit
	passwowrd_lock_time 150
	session_per_user 5
	idle_time 30
	...
c. 删除用户配置文件(drop profile)
1> 如果删除的配置文件已经指定给了某一用户,则需要用到关键字cascade
	drop profile profile_name cascade;
2>  如果没有指定给用户,则
	drop profile profile_name;