oracle 密码过期,解决方法!

Oracle 常见问题解决方法

解决ORA-28002:密码过期问题

  • 警告信息: 
    ERROR: ORA-28002: the password will expire within 7 days

  • 原因分析:

    sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 
       
       
    • 1
    • 1

    中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”。 而10g之前版本的Oracle仍默UNLIMITED

  • 解决办法: 
    • 查看用户的proifle是那个,一般是default: 

      sql> SELECT username,PROFILE FROM dba_users where username='INFDB' ; 
    • 查看指定概要文件(如default)的密码有效期设置: 

      sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 
    • 将密码有效期由默认的180天修改成“无限制”: 

      sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 
    • 修改后,还没有被提示ORA-28002警告的用户不会再碰到同样的提示; 
      已经被提示的用户必须再改一次密码,举例如下: 

      $sqlplus / as sysdba 
      sql> alter user testUser identified by <原来的密码> 


--->
--->

--1. 创建新的profilePASSWD_UNLIMIT复制DEFAULTScript

CREATE PROFILE "PASSWD_UNLIMIT" LIMIT

  SESSIONS_PER_USER UNLIMITED

  CPU_PER_SESSION UNLIMITED

  CPU_PER_CALL UNLIMITED

  CONNECT_TIME UNLIMITED

  IDLE_TIME UNLIMITED

  LOGICAL_READS_PER_SESSION UNLIMITED

  LOGICAL_READS_PER_CALL UNLIMITED

  COMPOSITE_LIMIT UNLIMITED

  PRIVATE_SGA UNLIMITED

  FAILED_LOGIN_ATTEMPTS 10

  PASSWORD_LIFE_TIME 180

  PASSWORD_REUSE_TIME UNLIMITED

  PASSWORD_REUSE_MAX UNLIMITED

  PASSWORD_LOCK_TIME 1

  PASSWORD_GRACE_TIME 7

  PASSWORD_VERIFY_FUNCTION NULL;

 

SELECT * FROMdba_profiles;

 

--2. 修改新建的profilePASSWD_UNLIMIT),密码过期为不过期

ALTER  profilePASSWD_UNLIMIT limit PASSWORD_LIFE_TIME  UNLIMITED;

 

--3. 修改用户的Profile为新的profile

alter user MESSERIES profile PASSWD_UNLIMIT;


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值