美文网首页
oracle账户被锁

oracle账户被锁

作者: Ernest_Chou | 来源:发表于2018-07-13 11:10 被阅读0次

问题:ORA-28000: the account is locked

排查
通过sys用户以sysdba角色登录数据库
1.查看用户连接数据库信息

--osuser连接用户信息、username连接的用户、machine电脑名称
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; 
image.png
2.查看用户的状态
select username,account_status,lock_date from dba_users ORDER BY lock_date desc nulls last;
3.查看密码错误次数锁死信息
select * from dba_profiles where resource_name like 'FAILED_LOGIN_ATTEMPTS%';
image.png
4.修改错误次数为50
alter profile default limit FAILED_LOGIN_ATTEMPTS 50;
也可以改为不限制(安全考虑,不建议)
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
5.解锁账户
alter user SYSTEM account unlock;  
commit;

重点排查是那个ip锁了用户
由于用户多次被锁,考虑排查谁在用错误密码访问数据,导致账户被锁,以期彻底解决问题。
用DBA角色连接数据库。
1.查看具体的被锁时间
select username,lock_date from dba_users where username='SYSTEM';
2.在Oracle安装目录下查找listener.log日志
在日志文件中根据用户被锁时间定为查找发现:

13-7月 -2018 09:13:27 * ping * 0
13-7月 -2018 09:13:27 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=SYSTEM))(COMMAND=status)(ARGUMENTS=64)(SERVICE=(ADDRESS=(PROTOCOL=TCP)(HOST=YD-JK)(PORT=1521)))(VERSION=186646784)) * status * 0
13-7月 -2018 09:13:32 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))(SERVICE_NAME=mobile)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.10)(PORT=3185)) * establish * mobile * 0
13-7月 -2018 09:13:32 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))(SERVICE_NAME=mobile)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.10)(PORT=3186)) * establish * mobile * 0
13-7月 -2018 09:13:34 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))(SERVICE_NAME=mobile)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.10)(PORT=3187)) * establish * mobile * 0
13-7月 -2018 09:13:34 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))(SERVICE_NAME=mobile)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.10)(PORT=3188)) * establish * mobile * 0
13-7月 -2018 09:13:35 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))(SERVICE_NAME=mobile)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=xuxiang))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.13.10)(PORT=3191)) * establish * mobile * 0
image.png
由日志可知是ip为192.168.13.10 电脑名称为xuxiang的用户多次尝试登陆失败导致的。
找到该电脑修改即可

相关文章

  • oracle账户被锁

    问题:ORA-28000: the account is locked 排查:通过sys用户以sysdba角色登录...

  • oracle中查询死锁账户

    oracle中用户的账户被锁了,恰恰又忘了是哪个账户被锁了,这时就需要从后台查询都有哪些用户是被锁定的,查询语句如...

  • 锁的详解

    1、Oracle锁类型 锁的作用:保护数据、并发(Oracle 可以并发,因为有锁;因为有锁,限制并发) la...

  • windows账户被锁解决

    登录管理员 administrator 账号cmd 执行net user xxx/active:yes执行成功,重...

  • 2019-07-09 oracle查看死锁

    1. 首先使用dba用户登录oracle库 2. Oracle查询被锁的表: select b.owner,b.o...

  • oracle表解锁2019-03-25

    oracle表解锁 第一步 查询被锁表(object_name),锁表对象(session_id) select ...

  • Oracle解锁hr账户

    Oracle解锁hr账户的前提是:必须存在hr账户,对于大多数刚安装的Oracle来说,都是存在的。废话不多说直接...

  • 深入理解数据库锁

    本文以oracle数据库学习数据库锁 锁的分类 oracle中分为两种模式的锁,一种是排他锁(X锁),另一种是共享...

  • 有事请提前沟通

    最近在教身边的伙伴利用证券账户做现金管理,结果发现我自己中信证券账户密码出错了,账户被锁。只能去前台重新办理。 今...

  • 并发场景下死锁

    案例场景 例如账户A 转账户B、账户C 转账户D这两个转账操作。 这种方式采用了细粒度锁。使用细粒度锁可以提高并行...

网友评论

      本文标题:oracle账户被锁

      本文链接:https://www.haomeiwen.com/subject/esrjpftx.html