问题描述:
ORACLE 账户每天早上上班发现被锁,解锁后第二天有会被锁。
问题分析:
1、存储恶意登录,导致账户被锁
2、某程序中配置了错误了用户名密码,导致账户被锁
问题解决:
1、查询账户被锁时间
select USERNAME,ACCOUNT_STATUS,LOCK_DATE from dba_users;
(备注:设置时间格式 alter session set nls_date_format='yyy-mm-dd hh24:mi:ss';)
2、用户解锁
alter user test account unlock;
3、开启数据库登录失败审计
audit session whenever not successful;
(备注:11G默认数据库登录审计是开启的,关闭审计noaudit session;)
4、等待下次账户被锁后,查找登录客户端
select OS_USERNAME,USERNAME,USERHOST,TERMINAL,EXTENDED_TIMESTAMP,INSTANCE_NUMBER,OS_PROCESS from DBA_AUDIT_SESSION where USERNAME='用户名' order by EXTENDED_TIMESTAMP;
(备注:如果是RAC环境,请注意INSTANCE_NUMBER,表示对应的RAC节点)
5、记录USERHOST,到对应的节点Listener Log 日志中查找对应的IP地址及机器名
tail -fn10000 日志名称 | grep USERHOST