zoukankan      html  css  js  c++  java
  • ORA28000: the account is locked 查哪个具体ip地址造成

    查系统默认的策略,连续验证10次错误帐户即会被锁

    SQL> select resource_name, limit from dba_profiles where profile='DEFAULT';
    
    RESOURCE_NAME             LIMIT
    -------------------------------- ----------------------------------------
    COMPOSITE_LIMIT          UNLIMITED
    SESSIONS_PER_USER         UNLIMITED
    CPU_PER_SESSION          UNLIMITED
    CPU_PER_CALL             UNLIMITED
    LOGICAL_READS_PER_SESSION     UNLIMITED
    LOGICAL_READS_PER_CALL         UNLIMITED
    IDLE_TIME             UNLIMITED
    CONNECT_TIME             UNLIMITED
    PRIVATE_SGA             UNLIMITED
    FAILED_LOGIN_ATTEMPTS         10
    PASSWORD_LIFE_TIME         180
    
    RESOURCE_NAME             LIMIT
    -------------------------------- ----------------------------------------
    PASSWORD_REUSE_TIME         UNLIMITED
    PASSWORD_REUSE_MAX         UNLIMITED
    PASSWORD_VERIFY_FUNCTION     NULL
    PASSWORD_LOCK_TIME         1
    PASSWORD_GRACE_TIME         7
    
    16 rows selected.

    查看用户被锁状态

    SQL> select username,account_status from dba_users where username='USER1';
    
    USERNAME               ACCOUNT_STATUS
    ------------------------------ --------------------------------
    USER1                   LOCKED(TIMED)
    SQL> select name,lcount from user$ where name='USER1';
    
    NAME                   LCOUNT
    ------------------------------ ----------
    USER1                       10

    先处理问题,将验证错误次数改为不受限制,解锁用户

    SQL> alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
    
    Profile altered.
    
    SQL> alter user user1 account unlock;
    
    User altered.

    再查看用户验证的错误次数,如果此帐户一直在验证,可以看到次数一直在增加

    SQL> select name,lcount from user$ where name='USER1';

    通过日志文件/u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml追查请求来源ip,但是效果不理想

    1.看不到请求的用户名,看不到请求结果,对请求来源ip判断可能有误

    2.日志过多,暂时想不到关键字过滤

    [oracle@localhost adump]$ lsnrctl status
    
    LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-MAY-2016 11:46:39
    
    Copyright (c) 1991, 2009, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=iZ11y546tzlZ)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    Start Date                10-MAY-2016 09:44:40
    Uptime                    2 days 2 hr. 1 min. 59 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
    Listening Endpoints Summary...
    
    [oracle@localhost ~]$ tail -f /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
    
    <msg time='2016-05-12T11:52:33.423+08:00' org_id='oracle' comp_id='tnslsnr'
     type='UNKNOWN' level='16' host_id='localhost'
     host_addr='10.174.70.172'>
     <txt>12-MAY-2016 11:52:33 * (CONNECT_DATA=(SERVICE_NAME=orcl)(CID=(PROGRAM=C:\Program?Files??x86?\PremiumSoft\Navicat?Premium\navicat.exe)(HOST=HUJF-PC)(USER=hujf))) * (ADDRESS=(PROTOCOL=tcp)(HOST=110.82.160.106)(PORT=59584)) * establish * orcl * 0
     </txt>
    </msg>

    设置格式,查returncode为1017的,可以很清楚看到验证的用户(userid)计算机名(userhost,局域网有用)请求来源ip(comment$text)

    SQL> set pagesize 100;
    SQL> set linesize 150;
    SQL> select sessionid,userid,userhost,comment$text,spare1,ntimestamp# from aud$ where returncode=1017;
         53080 USER1
    WORKGROUP\HUJF-PC
    Authenticated by: DATABASE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=110.82.160.106)(PORT=59584))
    hujf
    12-MAY-16 03.52.34.569085 AM
    
         53085 SYSTEM
    WORKGROUP\HUJF-PC
    Authenticated by: DATABASE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=110.82.160.106)(PORT=6720))
    hujf
    12-MAY-16 03.55.39.857892 AM
    [oracle@localhost ~]$ oerr ora 28000
    28000, 00000, "the account is locked"
    // *Cause:   The user has entered wrong password consequently for maximum
    //           number of times specified by the user's profile parameter
    //           FAILED_LOGIN_ATTEMPTS, or the DBA has locked the account
    // *Action:  Wait for PASSWORD_LOCK_TIME or contact DBA
    [oracle@localhost ~]$ oerr ora 1017
    01017, 00000, "invalid username/password; logon denied"
    // *Cause:
    // *Action:
  • 相关阅读:
    【bzoj4066】 简单题
    【bzoj1941】 Sdoi2010—Hide and Seek
    【bzoj2648】 SJY摆棋子
    【poj2154】 Color
    【poj2409】 Let it Bead
    【codevs1106】 篝火晚会
    【poj3270】 Cow Sorting
    【bzoj1004】 HNOI2008—Cards
    【bzoj3143】 Hnoi2013—游走
    【codeforces 749E】 Inversions After Shuffle
  • 原文地址:https://www.cnblogs.com/hjfeng1988/p/5485150.html
Copyright © 2011-2022 走看看