1、select username,account_status,lock_date from dba_users; --查看账户状态
2、alter profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED;--用户远程连接在一定时间内发现较多次数连接失败就会锁住用户这时候需要对用户解锁,并设置FAILED_LOGIN_ATTEMPTS 参数无限制用户解锁
3、alter user sa account unlock; --注意:这种现象一定是有应用服务在不断尝试连接数据库
解锁方法就是通过用system账号登录数据库,然后修改被锁定账户状态,具体如下图所示:
输入命令依次为:
sqlplus /nolog
conn system账户名/system账户密码
alter user 需解锁的账户名 account unlock;
执行上面的命令之后,即可解锁账户
如果出现解锁之后账号仍然频繁被锁定的情况,可以尝试排查以下情况:
1、仍有进程以旧密码来进行数据库连接请求,频繁的错误密码请求会导致账号被锁定。
2、程序连接大于 oracle 连接数;
处理方式: 重新设置 连接数: 用管理员进去,执行以下脚本,
alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS 10; --设定连接数
alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED; --不限制连接数
3、程序连接大于 连接池配置的连接数;
处理方式:把连接池的连接数设置大一些;
4、释放用户锁:
用超级管理员,执行
alter user 用户名 account unlock;