怎么登oracle账号oracle 11g的ORA-28001处理

oracle 11g的ORA-28001处理

 

 收到一个监控用户无法连接数据库的告警,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  www.2cto.com  

    set pages 100

    select username,user_id,passwororacle账号d,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设置  www.2cto.com  

   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天修改成“无限制”。

 

 

作者 feiyuzitong

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。