查看: 1702|回复: 0

[Oracle数据库] oracle11g用户登录时被锁定问题的解决方法 (ora-28000 the account is locked)

发表于 2017-10-10 08:00:04
句号论坛

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为我的密码。成功则会有如下显示:

连接到:

  1. Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
  2. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  3. SQL>
复制代码

第三步:

  1. SQL> conn sys/Oracle11g as sysdba;
  2. Connected.
复制代码

第四步:

  1. SQL> alter user scott account unlock;
  2. User altered.
  3. SQL> commit;
  4. Commit complete.
  5. SQL> conn scott/tiger //请输入新密码,并确认后OK
  6. Password changed
  7. Connected.
复制代码

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



太阳http代理AD
回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条