【问题标题】:ORA-28000: the account is locked error getting frequentlyORA-28000: 帐户被锁定错误频繁出现
【发布时间】:2015-01-07 15:29:13
【问题描述】:

我收到错误:

 ORA-28000: the account is locked 

这是数据库问题吗?当我暂时使用命令ALTER USER username ACCOUNT UNLOCK 解锁用户帐户时,它会正常。然后在一段时间后再次发生相同的帐户锁定。

使用的数据库是oracleXE

其他人有同样的问题吗?

【问题讨论】:

  • 最有可能的是,某些进程正在尝试使用不正确的密码登录该帐户。我猜该帐户已被锁定,因为它超过了允许的错误登录次数。

标签: oracle oracle11g oracle10g


【解决方案1】:

问题的原因之一可能是您使用的密码策略。

如果您没有此类政策,请使用以下查询检查DEFAULT 配置文件中密码属性的设置:

SELECT resource_name, limit
FROM dba_profiles 
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD';

如果需要,您只需使用以下查询将PASSWORD_LIFE_TIME 更改为unlimited

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

这个Link 可能对您的问题有所帮助。

【讨论】:

    【解决方案2】:

    这里仅解锁被阻止的用户的其他解决方案。从您的命令提示符日志中作为 SYSDBA:

    sqlplus "/ as sysdba"
    

    然后输入以下命令:

    alter user <your_username> account unlock;
    

    【讨论】:

      【解决方案3】:

      解锁用户的方式:

      $ 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
      • 它会要求重新输入password:password
      • 按回车键即可登录

      【讨论】:

      【解决方案4】:

      在 oracle 数据库服务器机器上登录 SQL Plus 客户端。

      输入用户名:系统

      输入密码:密码 [仅当您在安装数据库时没有更改默认密码时]

      按回车键。之后,您将看到连接状态。

      现在,

      SQL> ALTER USER [USER_NAME] ACCOUNT UNLOCK;
      

      按回车键。

      您将看到消息:user altered.

      现在尝试使用 db client[sqldeveloper] 上的用户名登录。

      【讨论】:

        【解决方案5】:

        检查PASSWORD_LOCK_TIME 参数。如果设置为 1,那么即使发出 alter user unlock 命令,您也将无法在 1 天内解锁密码。

        【讨论】:

          【解决方案6】:

          我也遇到过类似的问题,通过以下步骤解决了:

          1. 打开 Windows 命令提示符。
          2. 使用命令sqlplus "/ as sysdba"登录
          3. 然后执行命令alter user HR identified by password account unlock

            请注意,password 是我使用的密码。

            通过上述步骤,您可以使用密码密码以 HR 用户身份连接到 Oracle 数据库。

          【讨论】:

            【解决方案7】:

            解决方案01

            使用以下查询解锁帐户:

            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
            

            解决方案02

            使用以下查询检查PASSWORD_LIFE_TIME 参数:

            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;
            

            【讨论】:

              猜你喜欢
              • 2014-01-26
              • 2015-06-29
              • 2023-03-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-09-22
              • 2021-06-06
              • 1970-01-01
              相关资源
              最近更新 更多