oracle 数据库 ORA-28000错误的原因及解决办法

问题描述

在最近使用oracle11g 数据库时,出现报错为ORA-28000:the account is locked的错误,翻译一下:用户被锁了,网上查找报错原因,以下记录处理的的过程,方便备查。

操作过程

oracle database 11g中,默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10”,当输入密码错误次数达到设置值将导致此问题。

推测原因

可能是在本地开发中可能有人程序连接的账号或密码输入不正确,导致数据库被锁住了。
查看用户对应文件的语句如下

// 查看数据库中各个用户 对应的默认文件
select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';

结果如下图所示。
在这里插入图片描述

处理方案

处理方案可以有两种

1)修改其为无次数限制,立即生效

alter profile default limit failed_login_attempts unlimited;
// 查看
select username,account_status from dba_users;

查询结果如下图所示
在这里插入图片描述

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

2)手动解锁

借助数据库连接工具Navicat,可以打开同一连接下,选择用户–> 用户,找到被锁住对象,如下图所示。
在这里插入图片描述
右键–> 编辑对象,勾掉锁定对象按钮就可解锁。
在这里插入图片描述

参考博客

【1】https://www.cnblogs.com/holmes-cat/p/10365614.html

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值