ITPub博客

首页 > 数据库 > Oracle > 恢复历史密码

恢复历史密码

原创 Oracle 作者:zengluoqiu 时间:2015-09-19 21:18:55 0 删除 编辑
在DBA_USERS中,字段PASSWORD为空,但可以使用SYS.USER$.PASSWORD以及SYS.USER$.PARE4恢复历史密码;
用户每次修改密码,SYS.USER$表中字段PASSWORD与PARE4都会变动;
使用SYS.USER$.PASSWORD恢复的历史密码不区分大小写,
使用SYS.USER$.PARE4恢复的历史密码却严格区分大小写,

下面的例子可以说明,在该示例中,用户SH的初始密码为oracle_4U;

找出密码oracle_4U对应的SYS.USER$.PASSWORD以及SYS.USER$.PARE4
SQL> select name,password,spare4 from sys.user$ where name='SH';

NAME       PASSWORD             SPARE4
---------- -------------------- ----------------------------------------------------------------------
SH         B785822F9A063C04     S:5D408D43C1D25212A833BCFE8AA416AB08F6DCFA9507AF6D213F0C722606

修改密码为zengzY_4Q
SQL> alter user sh identified by zengzY_4Q;

User altered.

SQL>  select name,password,spare4 from sys.user$ where name='SH';

NAME       PASSWORD             SPARE4
---------- -------------------- ----------------------------------------------------------------------
SH         B44E542112990AC7     S:36E3DAE53472CE3C39B6AAD6C43406B7F500822C7A05E5875BA1B9536AD6

使用SYS.USER$.PASSWORD恢复历史密码
SQL> alter user sh identified by values 'B785822F9A063C04';

User altered.

恢复后的密码不再区分大小写
SQL> conn sh/zenglQ_4U;
Connected.
SQL> conn sh/zenglq_4u;
Connected.

再次修改密码为zengzY_4Q
SQL> conn sys/oracle_4U as sysdba;
Connected.
SQL> alter user sh identified by zengzY_4Q;

User altered.

使用SYS.USER$.PARE4来恢复历史密码
SQL> alter user sh identified by values 'S:5D408D43C1D25212A833BCFE8AA416AB08F6DCFA9507AF6D213F0C722606';

User altered.

恢复后的密码区分大小写
SQL> conn sh/zenglQ_4U;
Connected.
SQL> conn sh/zenglq_4u;
ERROR:
ORA-01017: invalid username/password; logon denied


Warning: You are no longer connected to ORACLE.
SQL>

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29367946/viewspace-1804119/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-04-02

  • 博文量
    20
  • 访问量
    116235