最近部署项目,启动之后有一个账户一直被锁。
数据库账户被锁一般是连接用户密码错误次数超过限制,被锁死。
查找原因:
1.查看连接配置的用户名密码是否有误。
这个如果有误,改一下配置就好了。
2.查看是否因为自己的连接造成的锁死。
这个有的时候会被坑,原来部署项目,发现账户一直被锁,配置怎么看都没问题,最后发现是别人的连接造成的账户被锁。
查看哪些用户连接该数据库的信息 sql
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;
发现别的电脑访问连接该账户造成锁死。
解决办法:
如果连接的电脑不是自己的,修改密码错误锁死限制次数。
查看用户的状态sql
select username,account_status,lock_date from dba_users;
查看密码错误次数锁死信息
select * from dba_profiles where resource_name like 'FAILED_LOGIN_ATTEMPTS%';
修改该次数
alter profile default limit FAILED_LOGIN_ATTEMPTS 50;
也可以改为不限制(安全考虑,不建议)
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
总之,配置问题尽量把配置改好。密码错误次数不限制尽量不要用。
解锁用户
1.通过plsql界面操作,找到user,右键,edit
去掉勾选
2.通过sql。
alter user test account unlock;