天天看点

oracle频繁产生锁,Oracle 用户频繁被锁的解决方法

1、su oracle 2、用dba角色的用户登陆 3、查看被锁用户及时间 select username,account_status,lock_date from dba_users;

4、查看哪个ip导致被锁 搜索文件

find ./ -name listener.log

我查出这边的具体路径为 /u01/app/grid/diag/tnslsnr/aqbuzdb01/listener/trace

日志内容:

18-AUG-2017 16:23:40 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=jdbc)(USER=oracle))(SERVICE_NAME=BUZ)(SERVER=dedicated)(INSTANCE_NAME=BUZ1)) * (ADDRESS=(PROTOCOL=tcp)(HOST=172.31.33.37)(PORT=57244)) * establish * BUZ * 0 18-AUG-2017 16:23:45 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=aqbuzdb01)(USER=grid))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=186647296)) * status * 0 Fri Aug 18 16:24:10 2017 18-AUG-2017 16:24:10 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=jdbc)(USER=oracle))(SERVICE_NAME=BUZ)(SERVER=dedicated)(INSTANCE_NAME=BUZ1)) * (ADDRESS=(PROTOCOL=tcp)(HOST=172.31.33.37)(PORT=57246)) * establish * BUZ * 0

根据3查询出的被锁时间与日志中时间比较, 的结果结论中的 HOST=172.31.33.37 就是导致用户被锁的IP

用户解锁sql

ALTER USER username ACCOUNT UNLOCK;

useername 替换成 被锁定的用户id