您的位置:首页 > 数据库 > Oracle

升级到Oracle 11g后,SAP数据库用户密码过期

2017-06-12 10:53 645 查看
升级到Oracle 11g后,数据库用户密码过期.
提示如下:ORA-28011: the account will expire soon;change your password now
 
这一般是由于Oracle 11g在默认的default概要文件中设置了“PASSWORD_LIFE_TIME=180”天导致;
 
这种情况的解决办法:
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';



可以看到是180天限制. 

3、将密码有效期由默认的180天修改成“无限制”:
   sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIMEUNLIMITED;



   修改之后不需要重启动数据库,会立即生效。

4、检查SAPSchema用户状态:
SQL> select username, account_status from dba_users where username in('SAPSR3', 'SAPSR3DB');



因为我们是4.7系统,不存在SAPSR3, SAPSR3DB这2个用户,只存在SAP<SID>这个用户,所以我们用SAPZ3P来代替.

5、用BRCONNECT工具来重置用户状态和密码.
OS> brconnect -u / -f chpass -o <SAPschema user>



6、重置密码后,检查SAP Schema用户的状态.

SQL> selectusername, account_status from dba_users where username in ('SAPZ3P', 'SAPSR3');



Done!!

SAP提供的BRConnect工具其实很强大,作用当然不限于此,大家可以自己多尝试着使用使用.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息