ORA-28000 账号被锁定的解决办法

目录

 

一、概述

1.错误场景

2.错误原因

二、解决方案

1.查看用户使用的概要文件名,一般为DEFAULT

2.查看概要文件中设置的密码错误后限制的登录次数

3.如图,将10次(默认)改为不受限制,改动后立即生效

4.检查已经被锁定的用户

5.解锁被锁定的账户


一、概述

1.错误场景

当使用sqlplus进行登录时报错:ORA-28000 账号被锁定。


2.错误原因

由于oracle 11g 在默认在default概要文件中设置了密码最大错误次数为10,“FAILED_LOGIN_ATTEMPTS=10”,密码错误的次数超过10次,账号就会被锁定。


二、解决方案


1.查看用户使用的概要文件名,一般为DEFAULT

SQL> select username,profile from dba_users;

2.查看概要文件中设置的密码错误后限制的登录次数

SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';

3.如图,将10次(默认)改为不受限制,改动后立即生效

SQL> alter profile default limit failed_login_attempts unlimited; 

4.检查已经被锁定的用户

SQL> select username,account_status from dba_users;

如图,账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等。

5.解锁被锁定的账户

SQL> alter user user_name account unlock;

6.查看是那个ip造成的USERNAME 用户被锁

主要监听日志,一般路径为:$ORACLE_HOME/network/admin/log/listener.log日志

win系统下:d:\app\orcl\product\12.1.0\dbhome_1\log\diag\tnslsnr\02843ZYT\listener\alert\log.xml

如果实在找不到,可以在终端或cmd窗口输入

lsnrctl status 

输出的信息中会有监听的日志文件路径

5、根据监听日志中的信息,可以看出在这个时间段IP为172.19.80.233在尝试多次失败登陆造成的被锁

<msg time='2020-12-10T09:55:35.265+08:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='localhost.localdomain'
 host_addr='::1' pid='20760'>
 <txt>10-12月-2020 09:55:35 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=merge))(SERVICE_NAME=orclpdb)) * (ADDRESS=(PROTOCOL=tcp)(HOST=172.19.80.233)(PORT=50014)) * establish * orclpdb * 0
 </txt>

 

  • 13
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值