今天在公司调整tomcat的时候连接数据库的时候连接不上一开始说是密码过期,后来从Oracle中修改了密码,尝试连接的时候报错密码被锁住了,开始查看日志看看是哪个ip访问失败的时候锁住了普通用户,
在操作系统下查看日志 find / -name "listener.log" 查看日志
8-JUN-2012 15:48:57 * (CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.101)(PORT=48521)) * establish * orcl * 0
Thu Jun 28 15:49:56 2012
28-JUN-2012 15:49:56 * (CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.111)(PORT=34222)) * establish * orcl * 0
Thu Jun 28 15:50:27 2012
28-JUN-2012 15:50:27 * (CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.101)(PORT=48530)) * establish * orcl * 0
从这里知道是101 和111这两个用户尝试连接数据库失败导致的用户被锁
一般情况下数据库默认是在尝试连接10次之后用户被锁
select * from dba_profiles 可以查看到默认的连接次数
现在我们把它的次数调大就可以了
alter profile default limit failed_login_attempts 50;就可以
另外你也可以查询被锁的具体时间
select username,lock_date from dba_users where username='SCOTT'