• 登陆oracle数据库时错误信息提示:“ORA-28002: 7 天之后口令将过期”。

  • 原因:oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180”所导致,oracle用户的密码必须在180天内更改,或则启动数据库的时候会提示连接失败.
    oracle 密码过期的解决方法,按照如下步骤进行操作:
    1、查看用户的proifle是哪个,一般是default:
    sql<SELECT username,PROFILE FROM dba_users;
    2、查看指定概要文件(如default)的密码有效期设置:
    sql<SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
    (如果这样写有可能提示“你未选中行”,其实这样就行了
    SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
    我的就是这样)
    3、将密码有效期由默认的180天修改成“无限制”:
    sql<ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
    如需更改为有限制的,如60天:
    SQL<alter profile default limit PASSWORD_LIFE_TIME 60 ;
    修改之后不需要重启动数据库,会立即生效。


     另外的思路
    查看用户所属的 profile ,一般为DEFAULT
    SQL<select * from dba_profiles where resource_type='PASSWORD';

    取消密码管理:
    SQL<alter profile DEFAULT limit unlimited;
    如:
    SQL<alter profile DEFAULT limit password_reuse_time unlimited;
    停止密码检验函数:
    SQL<alter profile DEFAULT limit password_verify_function null;
    创建 用户 专用 profile:
    CREATE PROFILE test LIMIT
    SESSIONS_PER_USER       UNLIMITED
    CPU_PER_SESSION          UNLIMITED
    CPU_PER_CALL             3000
    CONNECT_TIME             45
    LOGICAL_READS_PER_SESSION   DEFAULT
    LOGICAL_READS_PER_CALL     1000
    PRIVATE_SGA             15K
    COMPOSITE_LIMIT          5000000;
    如需更改:
    SQL<alter profile test limit PASSWORD_LIFE_TIME 60 ;
    更改用户profile


------>>http://www.2cto.com/database/201203/123506.html