Monday, April 11, 2011

11g Gotcha

Something I discovered recently is that the DEFAULT profile for Oracle 11g sets the PASSWORD_LIFE_TIME to 180 instead of UNLIMTED by default.  Applications will encounter an "ORA-28002: the password will expire within X days" error message if you keep the default value.

To change the PASSWORD_LIFE_TIME, you:
ALTER PROFILE default LIMIT password_life_time UNLIMITED;

One thing to keep in mind is that when you first encounter the ORA-28002 error, your dba_users.account_status will go into a "EXPIRED(GRACE)" state.  You can "change" that users password to the same password it is now to clear it.

4 comments:

Philippe said...

join the club ;-) I had this one in production ;-( a couple of months ago

Martin Berger said...

I had the pure luck my first 'test' DB (a playground) was alive for more than 3 months. So I could learn and adapt the installation procedures the easy way.

Jeff Hunter said...

I failed to mention that an upgraded DB (at least using the manual method) doesn't set this same profile value. So it was only my new 11g dbs that got created from dbua.

Surachart Opun said...

yes... that can make app users, which each of user is locked.

I had the issue too and changed default profile -)