重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 10044|回复: 12
打印 上一主题 下一主题

dba如何直接解决ORA-28002的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-1-9 18:21:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题:
   登陆,就报口令还有7天就到期了,由于用户太多,有上1000个,能否不修改口令,通过dba统一修改?

 
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2014-1-9 18:23:26 | 只看该作者
下面模拟一下场景:
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-1-9 18:25:17 | 只看该作者

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:27 | 只看该作者
接下来,我们修改操作系统时间为7月9号
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-1-9 18:27:02 | 只看该作者

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 ~]#

 

 

回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-1-9 18:27:22 | 只看该作者
现在看看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
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2014-1-9 21:34:04 | 只看该作者

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> 
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2014-1-9 21:34:55 | 只看该作者
可以看到,这个account状态,只有在登陆时,才会变化.不登陆,就不会变化.
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2014-1-9 21:35:53 | 只看该作者

大家看到,hr的用户的状态已经变成 expired(grace)状态了

在7天以内hr登陆,都会提示这个 ora-28002的提示,不影响使用,但到 16-JUL-14 后,如果口令还不到期,这个用户就要被锁定


  那现在修改 PASSWORD_LIFE_TIME 为无限制,是否会解决这个问题呢
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2014-1-9 21:36:17 | 只看该作者
王利军(361501283)  18:16:36
那为何最后日期是16不是15,因为当前日期为9号么,那如果当前是10号登录的呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-28 19:03 , Processed in 0.119659 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表