oracle账户locked, login denied解决办法

出现这种情况可能是如下两种原因

一、账户密码过期了,需要更新密码了

oracle默认的密码使用时间是180天,超过了账户会被锁住,需要手动修改密码解锁,可以按照如下操作修改为不限期

以下操作需要使用dba账户: 如 sys  登录密码是as sysdba

 

1)查看用户的proifle是哪个,一般是default


SELECT USERNAME,PROFILE FROM DBA_USERS;

2)查看对应的概要文件(如default)的密码有效期设置


SELECT * FROM DBA_PROFILES D WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

3)将概要文件(如default)的密码有效期由默认的180天修改成“UNLIMITED(无限制)”(修改后会立即生效)


ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

4)修改过期的密码 关键步骤

(1)修改密码

<span style="color:#333333">alter user 用户名 identified by <原来的密码或新密码> ; </span>

(2)如果账户仍被锁住则需要解锁账户

<span style="color:#4f4f4f">alter user 用户名 account unlock</span>

(3)也可以使用一句话修改密码并且解锁账户

alter user 用户名 identified by <原来的密码或新密码>  account unlock;lock;

二、密码错误次数超过限制,账户被锁定

一把oracle默认密码错误重试次数是10次,超过账户即被锁定

 

1.查看用户的proifle是哪个,一般是default


SELECT USERNAME,PROFILE FROM DBA_USERS;

2.查看用户的密码错误重试次数

SELECT * FROM DBA_PROFILES;

可以查看当前各种资源的配置,其中就有上一中情况用到的PASSWORD_LIFE_TIME,

不过我们需要修改的是重试次数 FAILED_LOGIN_ATTEMPTS

3.修改重试次数

alter profile default limit FAILED_LOGIN_ATTEMPTS 30;

我们也可以修改为无限制

alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

为了安全,不建议这样做

4.解锁账户   关键步骤

alter user 被锁的用户名 account unlock;

如果不想更改错误重试次数,仅仅想解锁账户,只需执行这一步

猜你喜欢

转载自blog.csdn.net/aaronmer/article/details/80897898
今日推荐