查看系统管理员手册中该参数解释:
PWD_POLICY 设置系统默认口令策略 默认值为2 动态,系统级参数
0:无策略
1:禁止与用户名相同
2:口令长度不小于9
4:至少包含1个大写字母(A-Z)
8: 至少包含1个数字(0-9)
16:至少包含1个标点符号(在英文输入法状态下,除"和空格外的所有符号)
若为其他数字,则表示配置值的和,如3=1+2,表示同时启用第1项和第2项策略。
当参数COMPATIBLE_MODE=1(等于1表示兼容SQL92标准)时,PWD_POLICY的实际值均为0
该参数没有包含在dm.ini文件中,但可调用系统过程 SP_SET_PARA_VALUE() 设置
通过SQL查看该参数值:
SELECT PARA_NAME, PARA_VALUE
FROM V$DM_INI
WHERE PARA_NAME = ‘PWD_POLICY’;
SELECT *
FROM V$DM_INI
WHERE PARA_NAME = ‘PWD_POLICY’;
目前密码策略是 2:口令长度不小于9
– 创建用户,设定6位的密码,报错
CREATE USER TEST1 IDENTIFIED BY Dameng;
– 设定9位的密码
CREATE USER TEST1 IDENTIFIED BY Dameng666;
修改密码策略为31 即31=1+2+4+8+16,包含了所有密码策略
SP_SET_PARA_VALUE(1,‘PWD_POLICY’,31);
– 创建用户, 设定符合策略的密码
CREATE USER TEST2 IDENTIFIED BY “A1,dameng_2345”;
参数PWD_MIN_LEN 设置用户口令的最小长度,取值范围(9~48)。默认值9。
修改PWD_MIN_LEN参数值为15
SP_SET_PARA_VALUE(1,‘PWD_MIN_LEN’,15);
– 创建用户,依旧设置14位密码,报错
CREATE USER TEST3 IDENTIFIED BY “A1,dameng_2345”;
– 设置15位密码
CREATE USER TEST3 IDENTIFIED BY “A1,dameng_23459”;
修改密码策略为1 禁止与用户名相同
SP_SET_PARA_VALUE(1,‘PWD_POLICY’,1);
–创建用户TEST4,指定密码为TEST4,报错
–指定密码为小写/大小写组合等,依旧报错
–指定密码为包含TEST4的字符串,成功(密码策略1,设置的PWD_MIN_LEN为15没生效,密码长度小于15)
– 当前密码策略为1,修改PWD_MIN_LEN为10,成功
SP_SET_PARA_VALUE(1,‘PWD_MIN_LEN’,10);
修改密码策略为3,3=1+2。
SP_SET_PARA_VALUE(1,‘PWD_POLICY’,3);
– 创建用户TEST5,指定9位长度密码,失败
– 创建用户TEST5,指定10位长度密码,成功
心得:参数 PWD_MIN_LEN 设置的值是在PWD_POLICY=2或值包含2时,生效
更多资讯请上达梦技术社区了解:https://eco.dameng.com