Oracle如何设置密码复杂度

 更新时间:2023年12月16日 09:20:33   作者:七_弈  
这篇文章主要介绍了Oracle如何设置密码复杂度问题,具有很好的参考价值,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

首先-自定义环境

注意:

以下所有操作都将修改系统表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;
配置文件已更改

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Oracle数据IMP和EXP命令用法详解

    Oracle数据IMP和EXP命令用法详解

    这篇文章主要给大家介绍了关于Oracle数据IMP和EXP命令用法详解的相关资料,我们可以使用Oracle自带的exp、imp命令来进行数据库备份,imp和exp称之为导入导出,这种方式也能快速的导入导出table或数据库,需要的朋友可以参考下
    2023-11-11
  • Oracle显示游标的使用及游标for循环

    Oracle显示游标的使用及游标for循环

    本篇文章给大家介绍oracle显示游标的使用及游标for循环,当查询返回单行记录时使用隐式游标,查询返回多行记录并逐行进行处理时使用显式游标,对本文感兴趣的朋友一起学习吧
    2015-11-11
  • Oracle DECODE 丢失时间精度的原因与解决方案

    Oracle DECODE 丢失时间精度的原因与解决方案

    在Oracle数据库中使用DECODE函数处理DATE类型数据时,可能会丢失时分秒信息,这主要是因为DECODE在处理时进行了自动类型转换,通常只比较日期部分,忽略时间部分,解决这一问题的方法是使用CASE WHEN语句,它可以更精确地处理DATE类型数据,避免时间信息的丢失
    2024-10-10
  • PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符已解决(本地未安装Oracle需要连接服务器上的)

    PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符已解决(本地未安装Oracle

    这篇文章主要介绍了PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符已解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Oracle中pivot函数示例详解

    Oracle中pivot函数示例详解

    PIVOT函数是Oracle数据库中的一个聚合函数,它可以将行数据转换为列数据,这篇文章主要介绍了Oracle中pivot函数示例详解,需要的朋友可以参考下
    2024-05-05
  • ORACLE常见错误代码的分析与解决(二)

    ORACLE常见错误代码的分析与解决(二)

    ORACLE常见错误代码的分析与解决(二)...
    2007-03-03
  • oracle不支持的字符集orai18n.jar ZHS16GBK异常问题解决办法

    oracle不支持的字符集orai18n.jar ZHS16GBK异常问题解决办法

    字符集是数据库中用来表示和存储字符的编码系统,这篇文章主要给大家介绍了关于oracle不支持的字符集orai18n.jar ZHS16GBK异常问题的解决办法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Oracle学习笔记(一)

    Oracle学习笔记(一)

    最近需要用的oracle,所以大家好好的学习下基础并整理下资料,希望能帮助到需要的朋友。
    2011-12-12
  • ORACLE 查询被锁住的对象,并结束其会话的方法

    ORACLE 查询被锁住的对象,并结束其会话的方法

    这篇文章主要介绍了ORACLE 查询被锁住的对象,并结束其会话的方法,需要的朋友可以参考下
    2015-12-12
  • oracle日期分组查询的完整实例

    oracle日期分组查询的完整实例

    这篇文章主要给大家介绍了关于oracle日期分组查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论