account_status及lock_date有值了,表明账户涣定了,如果你现在想知道到底为何���锁了,只能查找底层的相关基表了
SQL> select username,password,account_status,lock_date,profile from dba_users where lower(username)='test_user';
 USERNAME             PASSWORD             ACCOUNT_STATUS                 LOCK_DATE           PROFILE
 -------------------- -------------------- ------------------------------ ------------------- ------------------------------------------------------------
 TEST_USER                                 LOCKED(TIMED)                  2015-11-16 03:54:43 DEFAULT
从底层定义的基表看,只有user$及profile$是我想分析所关联的基表
SQL>   set long 99999999
 SQL>   set pagesize 300
 SQL>   select view_name,text from dba_views where view_name='DBA_USERS';
 VIEW_NAME                                                    TEXT
 ------------------------------------------------------------ --------------------------------------------------------------------------------
 DBA_USERS                                                    select u.name, u.user#,
                                                                     decode(u.password, 'GLOBAL', u.password,
                                                                                        'EXTERNAL', u.password,
                                                                                        NULL),
                                                                     m.status,
                                                                     decode(u.astatus, 4, u.ltime,
                                                                                       5, u.ltime,
                                                                                       6, u.ltime,
                                                                                       8, u.ltime,
                                                                                       9, u.ltime,
                                                                                       10, u.ltime, to_date(NULL)),
                                                                     decode(u.astatus,
                                                                            1, u.exptime,
                                                                            2, u.exptime,
                                                                            5, u.exptime,
                                                                            6, u.exptime,
                                                                            9, u.exptime,
                                                                            10, u.exptime,
                                                                            decode(u.ptime, '', to_date(NULL),
                                                                              decode(pr.limit#, 2147483647, to_date(NULL),
                                                                               decode(pr.limit#, 0,
                                                                                 decode(dp.limit#, 2147483647, to_date(NULL), u.ptime +
                                                                                   dp.limit#/86400),
                                                                                 u.ptime + pr.limit#/86400)))),
                                                                     dts.name, tts.name, u.ctime, p.name,
                                                                     nvl(cgm.consumer_group, 'DEFAULT_CONSUMER_GROUP'),
                                                                     u.ext_username,
                                                                     decode(length(u.password),16,'10G ',NULL)||NVL2(u.spare4, '11G ' ,NULL),
                                                                     decode(bitand(u.spare1, 16),
                                                                            16, 'Y',
                                                                                'N'),
                                                                     decode(u.password, 'GLOBAL',   'GLOBAL',
                                                                                        'EXTERNAL', 'EXTERNAL',
                                                                                        'PASSWORD')
                                                                     from sys.user$ u left outer join sys.resource_group_mapping$ cgm
                                                                          on (cgm.attribute = 'ORACLE_USER' and cgm.status = 'ACTIVE' and
                                                                              cgm.value = u.name),
                                                                          sys.ts$ dts, sys.ts$ tts, sys.profname$ p,
                                                                          sys.user_astatus_map m, sys.profile$ pr, sys.profile$ dp
                                                                     where u.datats# = dts.ts#
                                                                     and u.resource$ = p.profile#
                                                                     and u.tempts# = tts.ts#
                                                                     and u.astatus = m.status#
                                                                     and u.type# = 1
                                                                     and u.resource$ = pr.profile#
                                                                     and dp.profile# = 0
                                                                     and dp.type#=1
                                                                     and dp.resource#=1
                                                                     and pr.type# = 1
                                                                     and pr.resource# = 1
先看下user$,只有列resource$是我们关注的列
create table user$                                             /* user table */
 ( user#         number not null,                   /* user identifier number */
   name          varchar2("M_IDEN") not null,                 /* name of user */
                /* 0 = role, 1 = user, 2 = adjunct schema, 3 = schema synonym */
   type#         number not null,
   password      varchar2("M_IDEN"),                    /* encrypted password */
   datats#       number not null, /* default tablespace for permanent objects */
   tempts#       number not null,  /* default tablespace for temporary tables */
   ctime         date not null,                 /* user account creation time */
   ptime         date,                                /* password change time */
   exptime       date,                     /* actual password expiration time */
   ltime         date,                         /* time when account is locked */
   resource$     number not null,                        /* resource profile# */
   audit$        varchar2("S_OPFL"),                    /* user audit options */
   defrole       number not null,                  /* default role indicator: */
                /* 0 = no roles, 1 = all roles granted, 2 = roles in defrole$ */
   defgrp#       number,                                /* default undo group */
   defgrp_seq#   number,               /* global sequence number for  the grp *
   spare         varchar2("M_IDEN"),                   /* reserved for future */
   astatus       number default 0 not null,          /* status of the account */
                 /* 0x00 =       0 = Open                                     */
                 /* 0x01 =       1 = Locked                                   */
                 /* 0x02 =       2 = Expired                                  */
                 /* 0x03 =       3 = Locked and Expired                       */
                 /* 0x10 =      16 = Password matches a default value         */
   lcount        number default 0 not null, /* count of failed login attempts */
   defschclass   varchar2("M_IDEN"),                /* initial consumer group */
   ext_username  varchar2("M_VCSZ"),                     /* external username */
                              /* also as base schema name for adjunct schemas */
   spare1        number, /* used for schema level supp. logging: see ktscts.h */
   spare2        number,      /* used to store edition id for adjunct schemas */
   spare3        number,
   spare4        varchar2(1000),
   spare5        varchar2(1000),
   spare6        date
 )
 cluster c_user#(user#)
而据上可知,user$的resource$是与表profile$的profile#关联,所以还是要分析profile$表

