Oracle ORA-28000:帐户被锁定错误频繁获取
我得到一个错误:Oracle ORA-28000:帐户被锁定错误频繁获取,oracle,oracle11g,oracle10g,Oracle,Oracle11g,Oracle10g,我得到一个错误: ORA-28000: the account is locked 这是数据库问题吗?当我使用命令ALTER user username account unlock临时解锁用户帐户时,一切正常。然后过了一段时间,相同的帐户锁定再次发生 使用的数据库是oracleXE 其他人也有同样的问题吗?出现问题的原因之一可能是您使用的密码策略 如果您没有这样的策略,请通过以下查询检查DEFAULT配置文件中的密码属性设置: SELECT resource_name, limit FR
ORA-28000: the account is locked
这是数据库问题吗?当我使用命令ALTER user username account unlock
临时解锁用户帐户时,一切正常。然后过了一段时间,相同的帐户锁定再次发生
使用的数据库是oracleXE
其他人也有同样的问题吗?出现问题的原因之一可能是您使用的密码策略 如果您没有这样的策略,请通过以下查询检查
DEFAULT
配置文件中的密码属性设置:
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD';
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
如果需要,您只需通过以下查询将密码\u生命\u时间
更改为无限
:
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD';
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
这可能有助于解决您的问题。这里的其他解决方案仅解锁被阻止的用户。从命令提示符日志SYSDBA中:
sqlplus "/ as sysdba"
然后键入以下命令:
alter user <your_username> account unlock;
更改用户帐户解锁;
解锁用户的方法:
$ sqlplus /nolog
SQL > conn sys as sysdba
SQL > ALTER USER USER_NAME ACCOUNT UNLOCK;
并开通新航站楼
SQL > sqlplus / as sysdba
connected
SQL > conn username/password //which username u gave before unlock
- 它将询问新的
密码:password
- 它将要求重新键入
密码:password
- 按回车键u将获得loggedin
用户已更改。
现在,在db client[sqldeveloper]上尝试使用用户名登录。检查
密码锁定时间
参数。如果设置为1,则即使在发出alter user unlock
命令后,您也无法在1天内解锁密码。我遇到过类似的问题,并通过以下步骤解决了此问题:
sqlplus”/as sysdba“
alter user HR,该命令由密码帐户解锁标识
请注意,密码
是我使用的密码
通过使用上述步骤,您可以使用密码以用户HR的身份连接到Oracle数据库
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV LOCKED
SQL> alter user ABCD_DEV account unlock;
User altered.
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV OPEN
SELECT resource_name, limit FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_type = 'PASSWORD';
RESOURCE_NAME LIMIT
-------------------------------- ------------------------------
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 10
PASSWORD_REUSE_TIME 10
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
INACTIVE_ACCOUNT_TIME UNLIMITED
解决方案02
使用以下查询检查密码\u生命\u时间参数:
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV LOCKED
SQL> alter user ABCD_DEV account unlock;
User altered.
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV OPEN
SELECT resource_name, limit FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_type = 'PASSWORD';
RESOURCE_NAME LIMIT
-------------------------------- ------------------------------
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 10
PASSWORD_REUSE_TIME 10
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
INACTIVE_ACCOUNT_TIME UNLIMITED
使用下面的查询更改参数
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
最有可能的情况是,某些进程正在尝试按照某种计划使用错误的密码登录到该帐户。我猜该帐户被锁定是因为它超过了允许的不正确登录次数。如果该帐户因密码过期而被锁定,则可能需要重置密码以使登录再次可用: