某日,开发人员说,某个用户被锁住了,帮忙解锁,解锁不到两分钟后又被锁住了
select username,lock_date from dba_users where username='PEOPLE';
set line 999
select username,account_status,lock_date,profile from dba_users;
EXPIRED & LOCKED 口令到期并锁定
LOCKED(TIMED) 密码错误次数超过了系统设置的允许最大次数,用户被锁定
SELECT PROFILE FROM DBA_USERS WHERE USERNAME='PEOPLE';
SELECT PROFILE,RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT'; #DEFAULT为查出来的信息,具体以实际情况为准
FAILED_LOGIN_TIME: 登录时,密码错误超过10次会锁定账户
PASSWORD_LIFE_TIME: 密码有效期180天
PASSWORD_LOCK_TIME: 密码锁定1天后自动解锁
设置密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改密码错误限制次数
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 20;
如上发现用户状态为LOCKED(TIMED) ,所以是输错了密码导致的
cd $ORACLE_BASE/diag/tnslsnr/
tail -100f listener.log
发现是应用那边输入的用户密码有问题,联系开发,调整用户密码
alter user PEOPLE account unlock;
加锁
alter user PEOPLE account lock;
调整密码错误限制为无限次,为了安全不建议设置
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
ORA-28002,需要修改密码
alter user 用户名 identified by 密码;