问题描述
最近系统更换了数据库服务器,IP地址也变了,于是就把应用服务器中配置数据库连接的位置做了修改,但是修改后应用起不来了。
经过半天也没发现问题,后来想试试连数据库看看,结果PL/SQL提示“ORA-28000错误”,原来是数据库账号锁定了。
后来检查了一下,发现是因为应用服务器中配置数据库连接时用了错误的数据库口令,导致自动尝试失败次数超过了数据库设置最大次数。现就如何恢复被锁定的Oracle账号进行介绍。
解决方案
1.登录Oracle服务器后,通过以下命令进入sqlplus窗口
sqlplus / as sysdba
2.查看账号是否被锁定
select username,account_status from dba_users where username='zhangsan';
3.解锁账号
alter user zhangsan account unlock;
4.其他命令
--查看用户登录最大失败次数
select * from dba_profiles where RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';
--修改用户登录最大失败次数为20(如果将20修改为unlimited,则不限制失败次数,不建议用)
alter profile default limit FAILED_LOGIN_ATTEMPTS 20;