【Oracle数据库】为什么提示用户密码重置?看完你就懂了

举报
Lucifer三思而后行 发表于 2021/10/28 12:56:05 2021/10/28
【摘要】 作者简介作者:LuciferLiu,中国DBA联盟(ACDU)成员。目前主要从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。 前言今天,有客户私聊说他们的数据库用户密码过期了,有没有办法修改...

作者简介

  • 作者:LuciferLiu,中国DBA联盟(ACDU)成员。
  • 目前主要从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。
  • 现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。

前言

  • 今天,有客户私聊说他们的数据库用户密码过期了,有没有办法修改为永不过期?(数据库版本:11204)

答案: 可以,Oracle这么强大,怎么可能会没考虑到这个呢,只需要修改 user profile 即可。

  • 实操之前先来了解下概念:

1 PROFILES是什么?

  • PROFILES 是从 Oracle 8 版本引入,是一组资源限制,用于限制用户可以使用的系统资源。
  • 它允许我们通过为每个数据库用户创建和分配配置文件来调节每个数据库用户使用的资源量。
  • 数据库创建后,系统中存在名为DEFAULT的默认PROFILE,若不做特殊指定,创建用户时用户默认使用的PROFILE就是DEFAULT。
  • 可以用来控制session或sql能使用的CPU、控制用户的密码管理策略等。

2 PASSWORD_LIFE_TIME的作用?

  • Oracle 11204版本的PASSWORD_LIFE_TIME默认值为180天。
  • 12C以后默认值已修改为UNLIMITED。
  • PASSWORD_LIFE_TIME指定同一密码可用于用户身份验证的天数。
  • 如果您还为 PASSWORD_GRACE_TIME 设置了一个值,则如果在宽限期内没有更改密码,则密码将过期,并且拒绝进一步的连接。
  • 如果您没有为 PASSWORD_GRACE_TIME 设置值,其默认值 UNLIMITED 将导致数据库发出警告但让用户无限期地继续连接。

解决方案

1 检查用户所属profile

  • 注意:需要有dba权限用户进行查询
sqlplus / as sysdba
select username,profile from dba_users where username='LUCIFER';

2 检查DEFAULT的密码策略

sqlplus / as sysdba
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

3 修改密码过期天数为无限期

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


至此,密码永不过期设置完毕。建议建库后修改密码策略为无限期。

参考官方文档:


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。


技术交流可以 关注公众号:Lucifer三思而后行
Lucifer三思而后行

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。