oracle 11g 强制修改密码 ORA-28001 的 处理方法

痞子三分冷 提交于 2019-11-30 23:57:50
收到一个监控用户无法连接数据的告警, Oracle提示错误消息ORA-28001: the password has expired, 上去查看用户状态竟然是expired,获取用户基本信息脚本如下:
    connect / as sysdba;
    col username for a16
    col password for a18
    col user_id for 999999
    col account_status heading 'Account|Status' for a20
    col default_tablespace heading 'Default|Tablespace' for a25
    col temporary_tablespace heading 'Temporary|Tablespace' for a12
    set lines 125
    set pages 100
    select username,user_id,password,account_status,default_tablespace,temporary_tablespace,to_char(created,'yyyy-mm-dd hh24:mi:ss') created
    from dba_users
    order by username;
    这是Oracle11G的一个新特性, Oracle11G创建用户时缺省密码过期限制是180天,
如果超过180天用户密码未做修改则该用户无法登录。
    查看PROFILE设置
   select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';

    DEFAULT   PASSWORD_LIFE_TIME PASSWORD 180   

        处理逻辑,将用户密码修改并判断是否需要这个策略

         ALTER USER 用户名 IDENTIFIED BY 密码 ;
        语句进行修改密码,密码修改后该用户可正常连接数据库。
    如果需要修改策略

    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED

    语句将口令有效期默认值180天修改成“无限制”。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!