ORA-28000: the account is locked-的解决办法

简介: ORA-28000: the account is locked-的解决办法

ORA-28000: the account is locked


第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;


第二步:选择myjob,查看users;


第三步:选择system,右击点击“编辑”;


第四步:修改密码,把“帐户被锁住”的勾去掉;


第五步:点击“应用”再点击“关闭”;


第六步:重新登录就可以通过验证了;


第二种


ALTER USER username ACCOUNT UNLOCK;


第三种


在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked。


解决办法:


新装完Oracle10g后,用scott/tiger测试,会出现以下错误提示:


oracle10g the account is locked
oracle10g the password has expired


原因:


默认Oracle10g的scott不能登陆。


解决:


(1)conn sys/sys as sysdba; //以DBA的身份登录

(2)alter user scott account unlock;// 然后解锁

(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了


在运行里面输入cmd在DOS模式下输入sqlplus,以system用户名登录,密码是刚装oracle时自己填写的密码orcl,登录进去以后。


SQL> conn sys/sys as sysdba; (分号是必须的但是我是以system登录的所在这不应该写conn sys/sys as sysdba应该写conn system/orcl as sysdba;)
Connected.
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.
SQL> conn scott/tiger//请输入新密码,并确认后OK
Password changed
Connected.


这时再到plsql developer里面以scott/tiger登录就可以了。。。。。


偶在数据库的问题处理过程中遇到了ORA-28000:the account is locked的错误,现将详细的处理情况介绍如下供大家参考:


1. 查询failed_login_attempts参数默认值:


Oracle10g(备注:9i环境中此参数的值为unlimited)


SQL>conn /as sysdba
Connected.
SQL> desc dba_profiles;
名称 是否为空? 类型
----------------------------------------- -------- --------------
PROFILE NOT NULL VARCHAR2(30)
RESOURCE_NAME NOT NULL VARCHAR2(32)
RESOURCE_TYPE VARCHAR2(8)
LIMIT VARCHAR2(40)
SQL> select resource_name,limit from dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS 10


2. 模拟账户被锁现象


(为方便模拟lock现象,修改default profile failed_login_attempts=3 )


a.修改参数failed_login_attempts=3


SQL> conn /as sysdba
已连接。
SQL> alter profile default limit failed_login_attempts 3;


配置文件已更改


SQL> select resource_name,limit from dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS 3


b.重现错误登陆


正确登陆


SQL> conn jd/jd
已连接。


第一次登录失败


SQL> conn jd/jh
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再连接到 ORACLE。


第二次登陆失败


SQL> conn jd/ju
ERROR:
ORA-01017: invalid username/password; logon denied


第三次登录失败


SQL> conn jd/jl
ERROR:
ORA-01017: invalid username/password; logon denied


连续三次登录失败后,账户被锁定


SQL> conn jd/jy
ERROR:
ORA-28000: the account is locked


3. 解锁


SQL> conn /as sysdba


已连接。


SQL> alter user jd account unlock;


用户已更改。


4. 解决方案


(1) 可以考虑查询应用部署中错误的password或者数据库连接等可能导致错误password的地方,彻底的查询问题所在。


(2) 修改参数failed_login_attempts=unlimited


SQL> alter profile default limit failed_login_attempts unlimited;


配置文件已更改


SQL> select resource_name,limit from dba_profiles where resource_name='FAILED_LO
GIN_ATTEMPTS';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS UNLIMITED


5. 扩展知识点及备注说明


(1) Q: FAILED_LOGIN_ATTEMPTS=3 3的含义是什么?是累计失败次数还是连续失败次数?


A: FAILED_LOGIN_ATTEMPTS=3的含义是从第一次登录失败开始计算,连续登陆失败的次数。而不是累计失败的次数。

试验如下:


SQL> conn /as sysdba


已连接。


SQL> alter profile default limit failed_login_attempts 3;


配置文件已更改


SQL> conn jd/jd


已连接。


第一次登录失败


SQL> conn jd/jh
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再连接到 ORACLE。


第二次登陆失败


SQL> conn jd/gh
ERROR:
ORA-01017: invalid username/password; logon denied


登录正确


SQL> conn jd/jd


已连接。


第一次登录失败


SQL> conn jd/df
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再连接到 ORACLE。


第二次登陆失败


SQL> conn jd/sd
ERROR:
ORA-01017: invalid username/password; logon denied


第三次登录失败


SQL> conn jd/fg
ERROR:
ORA-01017: invalid username/password; logon denied


三次登录失败之后,用户被锁定


SQL> conn jd/hj
ERROR:
ORA-28000: the account is locked


(2) Q: 如何从数据库中查询当前FAILED_LOGIN_ATTEMPTS的值?dba_profiles是限额,并不代表当前值,如果查询当前失败的值怎么查?


A: select NAME,LCOUNT from user$,user$为view dba_users的基表,通常可以查询一下试图对应的基表,oracle可能会隐藏一些参数


相关文章
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
683 3
|
11月前
|
编解码 人工智能 缓存
自学记录鸿蒙API 13:实现多目标识别Object Detection
多目标识别技术广泛应用于动物识别、智能相册分类和工业检测等领域。本文通过学习HarmonyOS的Object Detection API(API 13),详细介绍了如何实现一个多目标识别应用,涵盖从项目初始化、核心功能实现到用户界面设计的全过程。重点探讨了目标类别识别、边界框生成、高精度置信度等关键功能,并分享了性能优化与功能扩展的经验。最后,作者总结了学习心得,并展望了未来结合语音助手等创新应用的可能性。如果你对多目标识别感兴趣,不妨从基础功能开始,逐步实现自己的创意。
314 60
|
10月前
|
Ubuntu Shell
解决 Ubuntu 用户登录后的 shell 和功能问题
通过本文的详细介绍,您可以掌握解决Ubuntu用户登录后shell和功能问题的方法,从而确保系统的稳定和正常使用。
428 29
|
12月前
|
SQL 存储 Oracle
【赵渝强老师】Hive的分区表
Hive的分区表与Oracle、MySQL类似,通过分区条件将数据分隔存储,提高查询效率。本文介绍了静态分区表和动态分区表的创建与使用方法,包括具体SQL语句和执行计划分析,附带视频讲解。静态分区表需显式指定分区条件,而动态分区表则根据插入数据自动创建分区。
1041 1
|
存储 前端开发
Flutter Provider状态管理---MVVM架构实战
Flutter Provider状态管理—MVVM架构实战 在Flutter中,状态管理是一个非常重要的概念。Flutter Provider是一种状态管理的解决方案,它提供了一种简单,灵活和高效的方法来管理Flutter应用程序中的状态。本文将详细介绍Flutter Provider的使用,以及如何在MVVM架构中使用它。
707 0
|
存储 监控 数据可视化
性能监控之JMeter分布式压测轻量日志解决方案
【8月更文挑战第11天】性能监控之JMeter分布式压测轻量日志解决方案
340 0
性能监控之JMeter分布式压测轻量日志解决方案
|
存储 缓存 NoSQL
Redis与数据库同步指南:订阅Binlog实现数据一致性
本文由开发者小米分享,探讨分布式系统中的一致性问题,尤其是数据库和Redis一致性。文章介绍了全量缓存策略的优势,如高效读取和稳定性,但也指出其一致性挑战。为解决此问题,提出了通过订阅数据库的Binlog实现数据同步的方法,详细解释了工作原理和步骤,并分析了优缺点。此外,还提到了异步校准方案作为补充,以进一步保证数据一致性。最后,提醒在实际线上环境中需注意日志记录、逐步优化和监控报警。
1114 3
|
数据采集 安全 数据可视化
浅谈网络安全态势感知
网络安全态势感知是应对复杂网络环境和频繁攻击的关键,它基于数据采集、理解和预测,评估网络安全性并预测未来趋势。中国在该领域的研究已有显著进展,如2003年国家互联网应急中心的监测平台和2015年四川大学的大数据分析平台。态势感知涉及数据采集、理解、评估和预测四个步骤,通过可视化方式展示给用户。其核心功能包括态势总览、资产管理、告警管理等。未来发展方向将结合大数据和AI提升预测精度,实现云化和动态扩展。德迅云安全提供的解决方案侧重主动监测、精准防护和智能分析,适用于金融、电商和政企等领域。
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
591 0
|
缓存 小程序
uniapp读取(获取)缓存中的对象值(微信小程序)
uniapp读取(获取)缓存中的对象值(微信小程序)
400 1
下一篇
开通oss服务