您的位置:首页 > 数据库 > Oracle

Oracle 11g 报错 ORA-28000 the account is locked

2012-12-21 09:48 357 查看
一、触发这个错误的原因及相关因素

是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致,在Oracle 11g中是

存在密码过期问题的。还有可能是因为密码尝试,错误次数超过了默认的次数,数据库账户就会被locaked


二、错误现象:


用户被锁定之后会报ORA-28000的错误,并提示无法登录到数据库
SQL>
conn system/oracle

ERROR:

ORA-28000: the account is locked

Warning: You are no longer connected to ORACLE.

三、解决方法:

按照如下步骤进行操作:


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

SQL> select username,profile from dba_users where
username='SYSTEM';

USERNAME
PROFILE

------------------------------ ------------------------------

SYSTEM
DEFAULT

2、查看指定概要文件(如default)的密码有效期设置:

SQL> SELECT * FROM dba_profiles s WHERE
s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PROFILE
RESOURCE_NAME
RESOURCE LIMIT

------------------------------ --------------------------------
-------- ----------------------------------------

DEFAULT
PASSWORD_LIFE_TIME
PASSWORD 180DAY


3、
将密码有效期由默认的180天修改成“无限制”:

SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME
UNLIMITED;

修改之后不需要重启动数据库,会立即生效。

4、查看密码尝试失败次数

SQL> select resource_name,limit from dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS';

RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS 10

5、修改密码尝试失败次数为无限制

SQL> alter profile default limit failed_login_attempts unlimited;

配置文件已更改

SQL> select resource_name,limit from dba_profiles where resource_name='FAILED_LO
GIN_ATTEMPTS';

RESOURCE_NAME

LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS UNLIMITED
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: