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登录就可以了。