天天看點

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