oracle 11g密码长度和复杂度查看与设置

verify_function_11G 的密码复杂性要求:

密码长度至少为 8 个字符。

密码必须包含至少一个数字和一个字母字符。

密码不能与用户名相同或相似。

密码不能是服务器名或其变体。

密码不能是常见的弱密码(如 welcome1、oracle123 等)。

注意事项:

默认配置:在创建数据库时,PASSWORD_VERIFY_FUNCTION 参数的默认值为 NULL,即不启用任何密码验证函数。

安全性:为了增强数据库的安全性,建议启用 verify_function_11G 函数,并根据实际需求调整密码策略。

兼容性:如果数据库需要与其他系统集成,确保密码策略的兼容性,避免因密码复杂性要求过高而导致用户无法登录。

查看当前的密码复杂度设置

SELECT * FROM dba_profiles WHERE resource_name = 'PASSWORD_VERIFY_FUNCTION';

LIMIT表示分配给该 PROFILE 的密码验证函数名称。如果为 NULL,表示未设置密码验证函数。

#查看是否有相关密码验证函数

select object_name from dba_objects where upper(object_name) like '%VERIFY_FUNCTION%';

结果为空,则说明没有相关函数,需要进行相关设置。

二 设置密码复杂度

Oracle 11g 自带密码验证函数verify_function_11G。

通过运行 $ORACLE_HOME/rdbms/admin/utlpwdmg.sql 脚本可以创建及启用该函数。

该脚本会创建 verify_function 和 verify_function_11G 两个函数。

再设置配置文件,绑定该函数即可。

2.1 运行utlpwdmg.sql

@?/rdbms/admin/utlpwdmg.sql

2.2 查看是否有相关密码验证函数

select object_name from dba_objects where upper(object_name) like '%VERIFY_FUNCTION%';

可以看到自动生成了两个密码验证函数。

2.3 再次查看密码复杂度设置

SELECT * FROM dba_profiles WHERE resource_name = 'PASSWORD_VERIFY_FUNCTION';

发现密码复杂函数自动绑定到了DEFAULT的这个配置文件。

且账号过期及登录失败次数的设置也自动给更新了(我之前是unlimited,发现被分别自动更新为了180和10):

我这里不想让账号过期,也不想限制登录失败次数,这里将其还原为unlimited:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

设置完密码复杂度后,对于新建的账号,需要满足密码复杂度的要求,不影响已建的弱口令账号的正常登录及使用,但若修改老用户的密码,也需要满足密码复杂度要求。

相关推荐
这个DBA有点耶17 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G17 小时前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备17 小时前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远18 小时前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_9622186119 小时前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren20 小时前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安20 小时前
MySQL-触发器
数据库·mysql
白远山20 小时前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro20 小时前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
2603_9651481121 小时前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘