Oracle 19c为PDB用户设置14位字母数字密码报错需修改profile吗?
首先明确结论:你遇到的长密码设置报错,绝大多数场景是PDB内默认profile的密码校验规则限制导致的,需要修改对应profile配置解决,排查调整步骤如下:
1. 先确认限制规则
首先切换到目标PDB,查询当前生效的密码配置:
-- 切换到你的PDB ALTER SESSION SET CONTAINER = 替换为你的PDB名称; -- 查询默认profile的密码限制 SELECT resource_name, limit FROM dba_profiles WHERE profile='DEFAULT' AND resource_type='PASSWORD';
重点关注两个参数:
PASSWORD_LENGTH:默认最小密码长度要求,如果你设置的密码不符合长度范围会触发报错PASSWORD_VERIFY_FUNCTION:如果该值不为空,说明启用了密码复杂度校验函数,会校验密码是否满足指定规则(比如是否必须包含特殊字符、大小写字母等,仅字母数字组合可能不满足默认规则)
2. 对应调整profile配置
根据查询到的限制调整:
- 如果是长度不符合要求,修改长度限制:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LENGTH 14;
- 如果是复杂度校验不通过,你可以选择要么调整密码符合校验要求,要么临时关闭校验函数(生产环境不推荐,会降低密码安全性):
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;
注意:所有修改profile的操作必须在目标PDB内执行,不要在CDB根容器执行,避免修改全局配置影响所有PDB。
内容的提问来源于stack exchange,提问作者G16
相关产品推荐
相关产品推荐

