Oracle && OceanBase 相关文档,希望互相学习,
共同进步
1.背景
为了安全,用户配置了密码策略,密码90天有效期、30天宽限期、密码不能和上一次一样。如果需要在到期前修改密码,不影响业务的情况下,还需要密码和上一次一致。
即需求:密码策略生效 + 不改用户密码 + 保证用户有效期
2. 实验
2.1 基础知识
修改密码:
alter user nh_dw_aml identified by "xxx";
alter user nh_mcro_collect identified by "xxx";
alter user nh_mcro_basic identified by "xxx";
连接:
sqlplus ++++nh_dw_aml/xxx++++ ++++@++++ ++++127.0.0.1/++++ ++++orclpdb1++++
sqlplus nh_mcro_collect++++/++++ xxx++++@++++ ++++127.0.0.1/++++ ++++orclpdb1++++
sqlplus nh_mcro_basic++++/++++ xxx++++@++++ ++++127.0.0.1/++++ ++++orclpdb1++++
EXPIRED(GRACE) :密码生命周期(PASSWORD_LIFE_TIME)已到期但宽限时间(PASSWORD_GRACE_TIME)尚未结束
2.2 查看策略
1)查看用户状态
--查看用户状态
column USERNAME format A15
column account_status format A15
column lock_date format A15
column expiry_date format A15
col PROFILE format A30
col aa format A15
Set pagesize 50;
Set linesize 110;
SELECT t.USERNAME,T.account_status,T.lock_date,to_char(T.expiry_date,'yyyy-mm-dd') expiry_date,T.PROFILE,to_char(T.password_change_date,'yyyy-mm-dd') aa
FROM dba_users t where username like 'NH%' order by 1;
2)查看指定策略
---查看策略 pagesize 默认14
set linesize 100;
col RESOURCE_NAME for a30;
col limit for a15;
col resource_type for a40;
Set pagesize 100;
SELECT t.resource_name,t.limit,t.resource_type FROM dba_profiles t WHERE profile='TAIY_SECURE_PROFILE' order by 1;

3)查看默认策略
---查看默认策略
SELECT t.resource_name,t.limit,t.resource_type FROM dba_profiles t WHERE profile='DEFAULT' order by 1;

2.3 创建新用户+ 启用策略
create user nh_dw_cpl identified by "xxx" profile taiy_secure_profile;
grant connect to nh_dw_cpl;
grant resource to nh_dw_cpl;
2.4 修改策略
1)改默认策略密码到期为 unlimited,原 180天

此时,再看用户状态(用户到期时间没有了):
2)修改指定策略--密码到期(已到期的不管用)
----修改指定策略,再看是否有到期时间(原来是90)
ALTER PROFILE TAIY_SECURE_PROFILE LIMIT PASSWORD_LIFE_TIME UNLIMITED;

--此时,再看用户状态(用户到期时间没有了) ,但是已经到期的 无法 去掉有效期
SELECT t.USERNAME,T.account_status,T.lock_date,to_char(T.expiry_date,'yyyy-mm-dd') expiry_date,T.PROFILE,to_char(T.password_change_date,'yyyy-mm-dd') aa
FROM dba_users t where username like 'NH%' order by 1;

已经到期的无法去掉有效期
-----恢复,再改回90天有效期
ALTER PROFILE TAIY_SECURE_PROFILE LIMIT PASSWORD_LIFE_TIME 90;

2.5 部分用户 改为默认策略
--改用户归属为默认策略,然后修改密码和原来一致
ALTER USER nh_dw_aml PROFILE DEFAULT;
alter user nh_dw_aml identified by "xxxx";
--此时修改密码成功,因为指定策略中密码修改不能和上一次一样。
ALTER USER nh_mcro_collect PROFILE DEFAULT;
ALTER USER nh_mcro_basic PROFILE DEFAULT;
alter user nh_mcro_collect identified by "xxx";
alter user nh_mcro_basic identified by "xxx";
修改后,发现状态变了,有效期没有了,ok

此时,原有策略都没有变化

2.6 改回原有策略
--下次再改回去 策略
ALTER USER nh_dw_aml PROFILE TAIY_SECURE_PROFILE;
ALTER USER nh_mcro_collect PROFILE TAIY_SECURE_PROFILE;
ALTER USER nh_mcro_basic PROFILE TAIY_SECURE_PROFILE;
执行测试后,发现 密码修改时间是今天,到期时间是今天后的3个月,ok

3.注意事项
1)已提示密码过期的用户,仍需修改一次密码 才能恢复正常状态。
2)不需要重启 就ok
本节实验中,在2.5修改用户策略后,执行了修改密码,因此,在改回策略后,密码到期时间是往后顺延的。 LIMIT PASSWORD_LIFE_TIME 90,因此往后顺延3个月,今天是12月2日,顺延90天,就是2026年3月2日。
实验验证:ok 
项目管理--相关知识 
项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客
项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客
项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客
Oracle其他文档,希望互相学习,
共同进步
Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客
oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客
ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_varchar(50) oracle 超出截断-CSDN博客