oracle数据库用户被锁
select username,account_status,lock_date from dba_users;
select RESOURCE_NAME,RESOURCE_TYPE,LIMIT from dba_profiles where resource_name like 'FAILED_LOGIN_ATTEMPTS%' AND profile='DEFAULT';
3,解锁方法
ALTER USER USER_NAME ACCOUNT UNLOCK;
4.2、修改为30次
alter profile default limit FAILED_LOGIN_ATTEMPTS 30;
4.3、修改为无限次(为安全起见,不建议使用)
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
--查看具体的被锁时间,要在解锁前查看 select username,lock_date from dba_users where username='SKY';
--查看已错误输入次数 select name, lcount from sys.user$ where name='SKY';
如果客户不方便提供文件的话,可以让客户看下监听日志$ORACLE_HOME/diag/tnslsnr/$HOSTNAME/listener/trace/listener.log里的ip,看下有没有报错的,这些ip就是要访问数据库的那些ip地址, 因为账号被锁的原因只有2个,要么是密码到期了导致账号被锁,要么是密码输错的次数达到上限导致账号被锁(这种情况有可能出现在人为连接输错密码,也有可能是程序连接时配错了密码)(你提到正式环境有做过密码更新,会不会数据库密码更新了但是程序里配置的密码没有改过来?)
--查看用户的profile
select profile from dba_users where username='用户名'
--假如用户的profile为default
--查看密码有效期
select RESOURCE_NAME, RESOURCE_TYPE, LIMIT
from dba_profiles where resource_name like 'PASSWORD_LIFE_TIME%' AND profile = 'DEFAULT';
--修改default profile的密码有效期为永不过期
alter profile default limit PASSWORD_LIFE_TIME unlimited; (为安全起见,不建议使用)