不修改用户密码的前提下,解锁用户_20200724
发布日期:2021-05-09 05:10:04 浏览次数:18 分类:原创文章

本文共 3189 字,大约阅读时间需要 10 分钟。

不修改用户密码的前提下,解锁用户

 

1.0需求:某用户通知,无法登陆,用户被锁定,但是密码不知道 或者 不告诉你

 

1.1:用户被锁定:几种可能性A用户使用默认Pfile概要文件,其中参数:-- PASSWORD_LIFE_TIME 180          密码有效保留时间B用户使用默认Pfile概要文件,其中参数:-- FAILED_LOGIN_ATTEMPTS 10        登录失败后,允许尝试登录的次数-- PASSWORD_LOCK_TIME   1      登录失败后,超出限制,账户锁定天数C 用户使用的自定义设置:本次实验不做考虑 1.2故障模拟#创建测试用户SQL> create user yang identified by asfqr1rfa10;#锁定用户SQL> alter user yang account lock; #PL/SQL登陆报错 SQL*Plus登陆报错SQL> conn yang/asfqr1rfa10; ERROR:ORA-28000:Warning: You are no longer connected to ORACLE.#查询报错解释说明SQL> !oerr ora 2800028000, 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#输入错误的密码,超出允许输入错误次数的范围,用户被锁定#DBA锁定  请联系DBA 1.3解决思路1.3.1查询信息# SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';SQL>  select USERNAME,PASSWORD,ACCOUNT_STATUS,LOCK_DATE,PROFILE from dba_users where username ='YANG';YANG        用户LOCKED     锁定2018-01-14 01:25:21   锁定时间DEFAULT   概要文件默认 1.3.2 查询用户密码 hash后的值SQL>select name,password from user$ where name='YANG' NAME       PASSWORD---------- ------------------------------------------------------------YANG       BF382C1C900CB086 1.3.2使用密码hash值解锁用户,密码不修改SQL> alter user yang identified by values 'BF382C1C900CB086' account unlock; 1.3.3验证SQL> conn yang/asfqr1rfa10Connected. 1.3.4设置密码永不过期默认概要文件180天过期,可以修改概要文件参数#查询用户账户密码到期时间SQL>  alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';SQL>  select username,expiry_date from dba_users where username in('HR','YANG');USERNAME                                                     EXPIRY_DATE------------------------------------------------------------ -------------------YANG                                                         2018-07-13 01:49:18HR                                                           2018-07-12 06:09:24 SQL> select sysdate from dual;2018-01-14 01:55:04 #修改无限制OKalter profile default limit password_life_time unlimited; #查询验证SQL> select username,expiry_date from dba_users where username in('HR','YANG'); USERNAME   EXPIRY_DATE---------- -------------------YANGHR #扩展:可以修改上述:密码登录错误后,允许尝试连接次数,修改无限制:慎重

 

2.0.19C_12C后 USER$基表PASSWD 隐藏使用SPARE4,本质与上述情况相同

 

SQL> select username,PASSWORD from dba_users where username='TT';USERNAME   PASSWORD---------- --------------------TTSQL> alter user TT identified by tt;SQL> select name,SPARE4 from user$ where name='TT';NAME    SPARE4------------------------------------------------------------------------------------------------------------------------TTS:134EF36DAD8F80789EF1A0300578E90D101166791E2FCA004DE1881D6BF2;T:E00A1212D37A709DA6645EEC923832BD93A5F98787CDCC04CB599FD8BBDF1304804F26AC470C8FCFF455F3EE6B962105B61C0E2A561C1BD8087CED910169E903B5D759386AB82AEB6C23529D851D1D15SQL> alter user cc identified by values 'S:134EF36DAD8F80789EF1A0300578E90D101166791E2FCA004DE1881D6BF2;T
:E00A1212D37A709DA6645EEC923832BD93A5F98787CDCC04CB599FD8BBDF1304804F26AC470C8FCFF455F3EE6B962105B61C0E2A561C1BD8
087CED910169E903B5D759386AB82AEB6C23529D851D1D15
';$ sqlplus cc/tt@192.168.60.45:1521/pp1SQL>

 

上一篇:INS-20802 Oracle Cluster Verification Utility failed解释说明
下一篇:会话执行存储过程,等待被阻塞,Kill session场景模拟

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年04月29日 18时52分33秒