`

ORA-28000: the account is locked-的解决办法

 
阅读更多

ORA-28000: the account is locked
第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;
第二步:选择myjob,查看users;
第三步:选择system,右击点击“编辑”;
第四步:修改密码,把“帐户被锁住”的勾去掉;
第五步:点击“应用”再点击“关闭”;
第六步:重新登录就可以通过验证了;
第二种
ALTER USER username ACCOUNT UNLOCK;


第三种


在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked。

解决办法:

新装完Oracle10g后,用scott/tiger测试,会出现以下错误提示:
oracle10g the account is locked
oracle10g the password has expired
原因:默认Oracle10g的scott不能登陆。
解决:
(1)conn sys/sys as sysdba; //以DBA的身份登录
(2)alter user scott account unlock;// 然后解锁
(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了

在运行里面输入cmd在DOS模式下输入sqlplus,以system用户名登录,密码是刚装oracle时自己填写的密码orcl,登录进去以后。

SQL> conn sys/sys as sysdba; (分号是必须的但是我是以system登录的所在这不应该写conn sys/sys as sysdba应该写conn system/orcl as sysdba;)
Connected.
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.
SQL> conn scott/tiger//请输入新密码,并确认后OK
Password changed
Connected.

 

这时再到plsql developer里面以scott/tiger登录就可以了。。。。。

偶在数据库的问题处理过程中遇到了ORA-28000:the account is locked的错误,现将详细的处理情况介绍如下供大家参考:

1. 查询failed_login_attempts参数默认值:
Oracle
10g(备注:9i环境中此参数的值为unlimited)

SQL>conn /as sysdba

Connected.

SQL> desc dba_profiles;
名称 是否为空? 类型
----------------------------------------- -------- --------------

PROFILE NOT NULL VARCHAR2(30)
RESOURCE_NAME NOT NULL VARCHAR2(32)
RESOURCE_TYPE VARCHAR2(8)
LIMIT VARCHAR2(40)

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

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

2. 模拟账户被锁现象
(为方便模拟lock现象,修改default profile failed_login_attempts=3 )
a.修改参数failed_login_attempts=3

SQL> conn /as sysdba
已连接。
SQL> alter profile default limit failed_login_attempts 3;

配置文件已更改

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

RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
FAILED_LOGIN_ATTEMPTS 3
 

b.重现错误登陆 
正确登陆

SQL> conn jd/jd
已连接。

第一次登录失败
SQL> conn jd/jh
ERROR:
ORA-01017: invalid username/password; logon denied

警告: 您不再连接到 ORACLE。

第二次登陆失败
SQL> conn jd/ju
ERROR:
ORA-01017: invalid username/password; logon denied

第三次登录失败

SQL> conn jd/jl
ERROR:
ORA-01017: invalid username/password; logon denied

连续三次登录失败后,账户被锁定

SQL> conn jd/jy
ERROR:
ORA-28000: the account is locked

 

3. 解锁

SQL> conn /as sysdba
已连接。
SQL> alter user jd account unlock;

用户已更改。

4. 解决方案
(1) 可以考虑查询应用部署中错误的password或者数据库连接等可能导致错误password的地方,彻底的查询问题所在。
(2) 修改参数failed_login_attempts=unlimited

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

5. 扩展知识点及备注说明
(1) Q: FAILED_LOGIN_ATTEMPTS=3 3的含义是什么?是累计失败次数还是连续失败次数?
A: FAILED_LOGIN_ATTEMPTS=3的含义是从第一次登录失败开始计算,连续登陆失败的次数。而不是累计失败的次数。
试验如下:

SQL> conn /as sysdba
已连接。
SQL> alter profile default limit failed_login_attempts 3;

配置文件已更改

SQL> conn jd/jd
已连接。

第一次登录失败
SQL> conn jd/jh
ERROR:
ORA-01017: invalid username/password; logon denied

警告: 您不再连接到 ORACLE。

第二次登陆失败
SQL> conn jd/gh
ERROR:
ORA-01017: invalid username/password; logon denied

登录正确

SQL> conn jd/jd
已连接。

第一次登录失败
SQL> conn jd/df
ERROR:
ORA-01017: invalid username/password; logon denied

警告: 您不再连接到 ORACLE。

第二次登陆失败
SQL> conn jd/sd
ERROR:
ORA-01017: invalid username/password; logon denied

第三次登录失败

SQL> conn jd/fg
ERROR:
ORA-01017: invalid username/password; logon denied

三次登录失败之后,用户被锁定

SQL> conn jd/hj
ERROR:
ORA-28000: the account is locked

 

(2) Q: 如何从数据库中查询当前FAILED_LOGIN_ATTEMPTS的值?dba_profiles是限额,并不代表当前值,如果查询当前失败的值怎么查?
A: select NAME,LCOUNT from user$,user$为view dba_users的基表,通常可以查询一下试图对应的基表,oracle可能会隐藏一些参数。

select lcount from user$ where name='CTBW';

查看$ORACLE_HOME/network/log/lis*.log

分享到:
评论

相关推荐

    Oracle the account is locked解决办法

    当出现`ORA-28000: the account is locked`这样的错误提示时,表明当前尝试登录的账户已被锁定。这通常是因为账户密码连续多次输入错误导致的。 #### 查询锁定状态 在解决账户锁定问题之前,首先需要查询默认配置...

    oracle11g用户登录时被锁定问题的解决方法 (ora-28000 the account is locked)

    最近在操作oracle11g的使用出现错误的现象:ora-28000 the account is locked,既用户无法登录问题,如何解决此问题呢?下面小编给大家带来了oracle11g用户登录时被锁定问题的解决方法,感兴趣的朋友一起看看吧

    proc 连接数据库问题及解决方案

    12. 再执行 conn 文件,提示 Scott 用户被锁定 ORA-28000: the account is locked。 13. 解锁 Scott 用户。 14. 再执行 conn 文件,提示密码已经过期 ORA-28001: the password has expired。 15. 修改 Scott 密码...

    Oracle学习笔记

    - **账户被锁定**:在给定内容中提到了一个常见的错误消息:“ORA-28000: the account is locked”。这表示尝试登录的账户当前处于锁定状态,无法进行正常操作。解决此问题的方法是: - 首先,需要以DBA权限连接到...

    oracle数据库密码过期处理方法.docx

    此时,用户在尝试登录时会收到“ORA-28000: the account is locked”或“ORA-28001: the password has expired”的错误信息,无法进行任何操作。 二、处理密码过期的方法 1. **紧急模式登录(SQL*Plus as SYSDBA)*...

    QC问题及解决方案

    - `[Mercury][Oracle JDBC Driver][Oracle] ORA-28000: the account is locked` 这些问题的出现可能是由两种情况导致的:一是QC登录数据库的用户名被锁定;二是数据库操作人员没有足够的权限。 ##### 原因分析 **...

    oracle用户解锁三种方法

    当用户尝试登录并收到"ORA-28000: the account is locked"错误时,有几种方法可以解锁Oracle用户账户。下面将详细介绍这三种解锁方法。 **第一种方法:使用PL/SQL Developer** 1. 以`system`用户身份登录PL/SQL ...

    oracle用户解锁三种方法.doc

    如果你收到"ORA-28000: the account is locked"的错误信息,可以按照以下步骤操作: 1. 使用具有DBA权限的用户(如`system`)登录PL/SQL Developer,选择连接类型为"Sysdba"。 2. 在对象浏览器中查看"Users",找到...

    数据库密码过期解决办法.txt

    此外,还有一种情况是当用户尝试多次登录失败后,系统会锁定该用户账户,并给出ORA-28000: The account is locked(账户被锁定)的错误提示。这两种情况都会影响业务正常运行。 #### 解决方案 ##### 密码过期处理 ...

    win7下oracle的安装与卸载

    - **Oracle 错误处理**:遇到常见的错误如 ORA-28000: the account is locked 可能是因为账户被锁定,可以通过 `Alter user scott account unlock;` 解锁账户。 - **环境变量问题**:如果遇到 `oracle home is not ...

    oracle用户解锁

    在 PL/SQL Developer 中,如果使用 scott/tiger 登录时提示 ora-28000 the account is locked,可以使用以下方法来解锁。首先,以 sysdba 身份登录 conn sys/sys as sysdba; 然后,alter user scott account unlock;...

    oracle数据库连接

    在Oracle数据库系统中,连接数据库是一项基础操作,但有时可能会遇到一些问题,比如"account is locked"(账户被锁定)。这种问题通常是由于安全策略导致的,尤其是与默认配置文件(default profiles)中的`failed_...

    Oracle数据库日常维护手册.pdf

    - **Shell命令**:`ps -ef | grep ora_ | grep -v grep && ps -ef | grep ora_ | grep -v grep | wc -l` - 此命令用于列出所有Oracle相关的进程,并通过`wc -l`计算进程总数。 - **进程数**:在生产环境中,此数值...

Global site tag (gtag.js) - Google Analytics