评论

收藏

[Oracle] oracle11g用户登录时被锁定问题的解决方法 (ora-28000

数据库 数据库 发布于:2021-10-16 15:12 | 阅读数:572 | 评论:0

1 错误出现的现象是ora-28000 the account is locked,既用户无法登录。
2 原因:出现这种错误的原因为由于用户多次登录,无法登陆成功,超过了数据库允许登录的次数,所以导致用户被锁定,这种机制也是对数据库的一种保护,提升了数据库的安全性。
3 解决的办法如下:
(1)在dos窗口中输入命令sqlplus /nolog,截图如下:
(2)点击回车之后输入命令conn /as sysdba出现的结果为:
(3)输入命令desc dba_profiles 截图如下:
(4)输入命令select resource_name,limit from dba_profiles where resource_name = 'FIELD_LOGIN_ATTEMPTS';截图如下:
(5)然后解锁用户,执行命令:alter user 用户名 account unlock;
(6) 修改FILED_LOGIN_ATTEMPTS字段的值,为unlimited,既无论输入多少次都不会被锁定。但此时,数据的安全性将降低
可以执行命令:alter profile default limit failed_login_attempts unlimited;截图如下:
(7) 此时可以查看failed_login_attempts的值, 执行select resource_name,limit from dba_profiles where resource_name = 'FAILED_LOGIN_ATTEMPTS';截图如下:
(8)到此为止,用户已经被解除锁定。
PS:下面看下[Oracle11g] ORA-28000: the account is locked 的解决办法
用scott账户在PL/SQL中连接Oracle的时候,提示ORA-28000: the account is locked。
解决方案:
第一步:在%ORACLE_HOME%NETWORK\ADMIN目录中找到sqlnet.ora文件,其中%ORACLE_HOME%为oracle的安装路径。
我的为:D:\app\haojiec\product\11.2.0\dbhome_1\NETWORK\ADMIN,打开sqlnet.ora,在文件中NAMES.DIRECTORY_PATH 和 ADR_BASE两行中间加一行:SQLNET.AUTHENTICATION_SERVICES= (NTS),保存。
第二步:打开DOS窗口,输入sqlplus sys/Oracle11g as sysdba;
其中 sys为账户,Oracle11g为我的密码。成功则会有如下显示:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
第三步:
SQL> conn sys/Oracle11g 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登录就可以了。

关注下面的标签,发现更多相似文章