首先-自定义环境
注意:
以下所有操作都将修改系统表sys用户下的数据
-- 创建环境 create profile profile_demo limit sessions_per_user unlimited cpu_per_session unlimited cpu_per_call unlimited connect_time unlimited logical_reads_per_session unlimited logical_reads_per_call unlimited composite_limit unlimited private_sga unlimited failed_login_attempts 6 password_life_time 180 password_reuse_time 60 password_reuse_max 5 password_lock_time 1/24 password_grace_time 10 password_verify_function null -- 指定环境: -- 1、可以在创建用户的时候指定环境 -- create user demo identified by cancer default tablespace users profile profile_demo; -- 可以对用户进行变更环境 -- alter user demo profile default; -- 删除环境 -- drop profile profile_demo;
其次-设置密码复杂度
resource_limit
oracle系统参数resource_limit是一个用于控制用户对于数据库资源使用的参数,当值为true的时候即为启用,否则禁用。
该参数结合profile来可以控制多种资源的使用,
如cpu_per_session,connect_time,logical_reads_per_session,private_sga等等从而达到到节省资源来实现高效性能。
-- 查看 resource_limit 是否开启 sql> select * from v$system_parameter where name = 'resource_limit' -- 开启 resource_limit sql> alter system set resource_limit = true; 系统已更改。 -- 执行添加密码测试函数的sql (位置:"%oracle_home%\rdbms\admin\utlpwdmg.sql") 已经执行添加操作省略此步骤 sql> @ %oracle_home%/rdbms/admin/utlpwdmg.sql → [verify_function|verify_function_11g] 函数已创建。 配置文件已更改 函数已创建。 -- 修改密码策略(verify_function|verify_function_11g) 此处修改的环境可以改为自己创建的环境profile_demo sql> alter profile profile_demo limit password_verify_function verify_function_11g; 配置文件已更改 -- 修改密码策略为null则取消密码复杂度策略 -- sql> alter profile profile_demo limit password_verify_function null; -- 查看修改后的环境 password_verify_function 的limit为verify_function_11g说明修改成功 sql> select * from dba_profiles where profile='profile_demo'; -- 测试使用新的环境创建用户 sql> create user demo identified by 123456 profile profile_demo; 第 1 行出现错误: ora-28003: 指定口令的口令验证失败 ora-20001: password length less than 8 -- 密码复杂度生效
其他策略配置
其他策略配置方式和密码复杂度相似
关键sql
alter profile profile_demo limit password_verify_function verify_function_11g; -- 例如: -- 修改连接时间为20分钟 sql> alter profile profile_demo limit connect_time 20; 配置文件已更改
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论