oralce数据库用户密码过期处理

1 问题描述

接到网站运维人员报告说原来的账户不能登录到Oracle数据库了,提示密码过期。

2 原因分析

本次出问题的Oracle版本是11g,11g之前的Oracle版本的默认profile是没有密码过期限制的,而在Oracle 11g中,默认情况下profile启用的密码过期时间是180天。显然登录账号的密码已经超过180天没有修改了,所以出现了上述问题。

3 解决办法

有三种解决办法:

(1)使用sqlplus登录出问题账户,会提示设置新密码,此时重新输入密码即可,新密码可以和原来的密码相同。

(2)使用sqlplus登录管理员账户,执行 alter user 账户名 identified by 新密码,新密码可以和原来的密码相同。

(3)使用sqlplus登录管理员账户,执行 alter profile default limit password_life_time unlimited; 这会让密码没有过期限制。

4 相关知识

与密码相关的表为dba_profiles。

使用sqlplus登录管理员账户,执行 select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%'; 会出下如下:

PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- -----------
DEFAULT                        FAILED_LOGIN_ATTEMPTS            PASSWORD 10
DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD 180
DEFAULT                        PASSWORD_REUSE_TIME              PASSWORD UNLIMITED
DEFAULT                        PASSWORD_REUSE_MAX               PASSWORD UNLIMITED
DEFAULT                        PASSWORD_VERIFY_FUNCTION         PASSWORD NULL
DEFAULT                        PASSWORD_LOCK_TIME               PASSWORD 1
DEFAULT                        PASSWORD_GRACE_TIME              PASSWORD 7

下面解释其含义:

(1)FAILED_LOGIN_ATTEMPTS 规定了登录可以失败的次数,一旦用户尝试登录错误的次数超过这个值,账户就会被锁定,只能由管理员解锁。

(2)PASSWORD_LIFE_TIME 规定了密码过期的时间长度,11g默认是180天,本文提到的问题就是在这里。

(3)PASSWORD_REUSE_TIME 规定了重新使用原来的密码时必须经过的时间,默认没有限制。

(4)PASSWORD_REUSE_MAX 规定了重新使用原来密码的次数,也就是同一个口令可以被重复设置多少次,本例没有限制,所以可以重复设置相同密码。

(5)PASSWORD_VERIFY_FUNCTION 用户自定义的密码验证规则函数,是一个PL/SQL脚本,一般不需要修改。

(6)PASSWORD_LOCK_TIME 登录失败后被锁定的用户,锁定的天数,本例中是1天。

(7)PASSWORD_GRACE_TIME 指定宽限天数,数据库发出警告到登陆失效前的天数。如果数据库密码在这中间没有被修改,则过期会失效。本例中,会在密码到期前7天开始发出警告。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值