您的位置:首页 > 数据库 > Oracle

ORACLE 查看用户密码修改时间

2009-11-20 19:51 567 查看
SQL> show user
USER is "SYS"
SQL> create user t1 identified by t1;
create user t1 identified by t1
*
ERROR at line 1:
ORA-01920: user name 'T1' conflicts with another user or role name

SQL> drop user t1 cascade;

User dropped.

SQL> create user t1 identified by t1;

User created.

SQL> grant connect to t1;

Grant succeeded.

SQL> conn t1/t1
Connected.
SQL> conn / as sysdba
Connected.
SQL> desc user$
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------

USER#                                     NOT NULL NUMBER
NAME                                      NOT NULL VARCHAR2(30)
TYPE#                                     NOT NULL NUMBER
PASSWORD                                           VARCHAR2(30)
DATATS#                                   NOT NULL NUMBER
TEMPTS#                                   NOT NULL NUMBER
CTIME                                     NOT NULL DATE
PTIME                                              DATE               //就是这个字段代表了用户最近一次密码更改的时间
EXPTIME                                            DATE
LTIME                                              DATE
RESOURCE$                                 NOT NULL NUMBER
AUDIT$                                             VARCHAR2(38)
DEFROLE                                   NOT NULL NUMBER
DEFGRP#                                            NUMBER
DEFGRP_SEQ#                                        NUMBER
ASTATUS                                   NOT NULL NUMBER
LCOUNT                                    NOT NULL NUMBER
DEFSCHCLASS                                        VARCHAR2(30)
EXT_USERNAME                                       VARCHAR2(4000)
SPARE1                                             NUMBER
SPARE2                                             NUMBER
SPARE3                                             NUMBER
SPARE4                                             VARCHAR2(1000)
SPARE5                                             VARCHAR2(1000)
SPARE6                                             DATE

SQL> select ptime from user$ where name='T1';

PTIME
---------------
20-NOV-09

//换一下nls_date_format 这样能够更精确的看到当前时间

SQL> alter session set nls_date_format='YYYY-MON-DD HH24:MI:SS';

Session altered.

SQL> select ptime from user$ where name='T1';

PTIME
--------------------------
2009-NOV-20 19:55:20

SQL> alter user t1 identified by t2;

User altered.

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

Warning: You are no longer connected to ORACLE.
SQL> conn t1/t2
Connected.
SQL> conn / as sysdba
Connected.
SQL> select ptime from user$ where name='T1';

PTIME
---------------
20-NOV-09

SQL> alter session set nls_date_format='YYYY-MON-DD HH24:MI:SS';

Session altered.

SQL> select ptime from user$ where name='T1';

PTIME
--------------------------
2009-NOV-20 19:57:32

//可以看到 这里ptime和上面相比已经发生了变化


 

呵呵,今天在一个帖子中无意间看到说user$表中的ptime字段代表了用户密码最近一次更改的时间,就自己小试了一把。

唉,只可惜在ORACLE官方联机文档REFERENCES中查不到user$这类表中每个字段的详细解释。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle user null date session sql