Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle ORA-28000:帐户被锁定错误频繁获取_Oracle_Oracle11g_Oracle10g - Fatal编程技术网

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
临时解锁用户帐户时,一切正常。然后过了一段时间,相同的帐户锁定再次发生

使用的数据库是oracle
XE


其他人也有同样的问题吗?

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

如果您没有这样的策略,请通过以下查询检查
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

登录到oracle数据库服务器计算机上的SQL Plus客户端

输入用户名:系统

输入密码:password[仅当在DB安装时未更改默认密码时]

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

现在,

按回车键

您将看到消息:
用户已更改。


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

检查
密码锁定时间
参数。如果设置为1,则即使在发出
alter user unlock
命令后,您也无法在1天内解锁密码。

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

  • 打开windows命令提示符
  • 使用命令
    sqlplus”/as sysdba“
  • 然后执行命令
    alter user HR,该命令由密码帐户解锁标识
    

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

    通过使用上述步骤,您可以使用密码以用户HR的身份连接到Oracle数据库
  • 解决方案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
    
    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;
    

    最有可能的情况是,某些进程正在尝试按照某种计划使用错误的密码登录到该帐户。我猜该帐户被锁定是因为它超过了允许的不正确登录次数。如果该帐户因密码过期而被锁定,则可能需要重置密码以使登录再次可用: