重庆思庄Oracle、Redhat认证学习论坛
标题: dba如何直接解决ORA-28002的问题 [打印本页]
作者: 郑全 时间: 2014-1-9 18:21
标题: dba如何直接解决ORA-28002的问题
问题:
登陆,就报口令还有7天就到期了,由于用户太多,有上1000个,能否不修改口令,通过dba统一修改?
作者: 郑全 时间: 2014-1-9 18:23
下面模拟一下场景:
作者: 郑全 时间: 2014-1-9 18:25
标题: 1.先确定一下环境:
1.先确定一下环境:
db版本:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
日期时间:
[oracle@dbserver ~]$ date
Thu Jan 9 18:03:39 CST 2014
口令到期时间:
SQL> select resource_name,limit from dba_profiles where profile='DEFAULT' and RESOURCE_NAME='PASSWORD_LIFE_TIME';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
PASSWORD_LIFE_TIME 180
用户状态:
SQL> select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users where username='HR';
USERNAME ACCOUNT_STATUS EXPIRY_DA
------------------------------ -------------------------------- ---------
HR OPEN 08-JUL-14
通过以上,我们看到目前hr用户的到期时间为 2014-7-08号
SQL> select resource_name,limit from dba_profiles where profile='DEFAULT' and RESOURCE_NAME='PASSWORD_GRACE_TIME';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
PASSWORD_GRACE_TIME 7
作者: 郑全 时间: 2014-1-9 18:25
接下来,我们修改操作系统时间为7月9号
作者: 郑全 时间: 2014-1-9 18:27
标题: 2.修改操作系统时间为7月9号
2.修改操作系统时间为7月9号
[root@dbserver ~]# date -s '2014-07-09 18:09'
Wed Jul 9 18:09:00 CST 2014
[root@dbserver ~]# date
Wed Jul 9 18:09:01 CST 2014
[root@dbserver ~]#
作者: 郑全 时间: 2014-1-9 18:27
现在看看hr的状态
[oracle@dbserver ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 9 18:10:02 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> connect / as sysdba
Connected.
SQL> select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users where username='HR';
USERNAME ACCOUNT_STATUS EXPIRY_DA
------------------------------ -------------------------------- ---------
HR OPEN 08-JUL-14
SQL>
大家看到 hr的到期时间还为 08-jul-14
作者: 郑全 时间: 2014-1-9 21:34
标题: 3.登陆hr
3.登陆hr
SQL> conn hr/hr
ERROR:
ORA-28002: the password will expire within 7 days
Connected.
SQL>
一登陆,就提示还有7天就过期
看看状态
SQL> conn / as sysdba
Connected.
SQL> select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users where username='HR';
USERNAME ACCOUNT_STATUS EXPIRY_DA
------------------------------ -------------------------------- ---------
HR EXPIRED(GRACE) 16-JUL-14
SQL>
作者: 郑全 时间: 2014-1-9 21:34
可以看到,这个account状态,只有在登陆时,才会变化.不登陆,就不会变化.
作者: 郑全 时间: 2014-1-9 21:35
大家看到,hr的用户的状态已经变成 expired(grace)状态了
在7天以内hr登陆,都会提示这个 ora-28002的提示,不影响使用,但到 16-JUL-14 后,如果口令还不到期,这个用户就要被锁定
那现在修改 PASSWORD_LIFE_TIME 为无限制,是否会解决这个问题呢
作者: 郑全 时间: 2014-1-9 21:36
王利军(361501283) 18:16:36
那为何最后日期是16不是15,因为当前日期为9号么,那如果当前是10号登录的呢?
作者: 郑全 时间: 2014-1-9 21:37
标题: 4.修改 PASSWORD_LIFE_TIME 为无限制
4.修改 PASSWORD_LIFE_TIME 为无限制
SQL> select resource_name,limit from dba_profiles where profile='DEFAULT' and RESOURCE_NAME='PASSWORD_LIFE_TIME';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
PASSWORD_LIFE_TIME 180
SQL> alter profile default
2 limit PASSWORD_LIFE_TIME unlimited;
Profile altered.
SQL> select resource_name,limit from dba_profiles where profile='DEFAULT' and RESOURCE_NAME='PASSWORD_LIFE_TIME';
RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
PASSWORD_LIFE_TIME UNLIMITED
SQL>
问得好,这个问题留给你去试验了
作者: 郑全 时间: 2014-1-9 21:38
口令到期已经修改为无限制了,再去看看hr用户的状态
SQL> select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users where username='HR';
USERNAME ACCOUNT_STATUS EXPIRY_DA
------------------------------ -------------------------------- ---------
HR EXPIRED(GRACE) 16-JUL-14
SQL>
还是 EXPIRED(GRACE)
再登陆,依然报这个错误:
SQL> conn hr/hr
ERROR:
ORA-28002: the password will expire within 7 days
Connected.
SQL>
作者: 郑全 时间: 2014-1-9 21:38
当然,如果修改这个用户的密码为原来的密码,问题马上就可以解决
问题是,现在有1000个用户,都让他们去修改,老板不愿意,老板说,既然都不要口令有效期了,还修改密码干吗
dba直接处理得了
dba需要拿这1000个用户去修改一次密码吗
问题就留在这里,各位有什么好的解决办法?
欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) |
Powered by Discuz! X3.2 |