7 Replies Latest reply: Feb 5, 2013 7:42 AM by user647652 RSS

    ORA-28002: the password will expire within 18446744073709551193 days

    user647652
      Got this logging into Oracle 10.2.0.5.0:
      SQL> conn ersweb@comsat
      Enter password:
      ERROR:
      ORA-28002: the password will expire within 18446744073709551193 days

      Why would I get this message?

      The login profile is DEFAULT.


      SQL> select * from dba_profiles where profile = 'DEFAULT';

      PROFILE RESOURCE_NAME RESOURCE LIMIT
      ------------------------------ -------------------------------- -------- ---------
      DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
      DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
      DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
      DEFAULT CPU_PER_CALL KERNEL UNLIMITED
      DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
      DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
      DEFAULT IDLE_TIME KERNEL UNLIMITED
      DEFAULT CONNECT_TIME KERNEL UNLIMITED
      DEFAULT PRIVATE_SGA KERNEL UNLIMITED
      DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
      DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
      DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
      DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
      DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
      DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED
      DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED
        • 1. Re: ORA-28002: the password will expire within 18446744073709551193 days
          BluShadow
          Large numbers like that usually occur when a negative value is being displayed in it's positive equivalent (look up "2's complement" if you need).

          e.g. a number of -1 represented in 2 byte numbers is actually the positive number 65535, though a 2 byte signed integer would be said to have a range -32768 to 32767. All the minus numbers are represented by the positive numbers 32768 to 65535, as binary cannot store negative bits as it only has 0's and 1's. ;)

          Somehow the password expiry appears to have been set to a negative number.... represented by a value that has many bytes in it.
          • 2. Re: ORA-28002: the password will expire within 18446744073709551193 days
            BluShadow
            Or simply the setting:
            PASSWORD_LIFE_TIME PASSWORD UNLIMITED
            where "unlimited" is set to the maximum for that value based on the number of bytes representing it.
            • 3. Re: ORA-28002: the password will expire within 18446744073709551193 days
              Paul  Horth
              I wouldn't worry, it's over 50 quadrillion years away, by which time the Sun would have expanded into a red-giant, devoured the Earth,
              cooled down to a white dwarf and then evaporated away. :-)
              • 4. Re: ORA-28002: the password will expire within 18446744073709551193 days
                user647652
                We have been logging on with the the same id for a couple of years now with no problem. Do you know why suddenly the response would change to this condition? It caused a production problem.
                • 5. Re: ORA-28002: the password will expire within 18446744073709551193 days
                  BluShadow
                  user647652 wrote:
                  Got this logging into Oracle 10.2.0.5.0:
                  SQL> conn ersweb@comsat
                  Enter password:
                  ERROR:
                  ORA-28002: the password will expire within 18446744073709551193 days
                  Well, a quick look at the power of 2 and we can see it's very close to...
                  SQL> select power(2,64) as result from dual;
                  
                                                             RESULT
                  -------------------------------------------------
                                               18446744073709551616
                  indicating we're dealing with 64 bit numbers.

                  Now if they are 'signed' numbers then the number -423 would give us your number:
                  SQL> select 18446744073709551616-423 as result from dual;
                  
                                                             RESULT
                  -------------------------------------------------
                                               18446744073709551193
                  So... has someone set the password expiry duration to a negative value? Perhaps someone who didn't know what they were doing or had tested what the impact would be?
                  • 6. Re: ORA-28002: the password will expire within 18446744073709551193 days
                    user647652
                    These answers are fascinating, but I am the only person who has rights to change profiles, and I have not touched this database for a while. Other logins have the same profile, and are logging in happily. By the way I reset the password to the same password, and the warning message went away. I guess the answer is "something got corrupted and we hope it doesn't happen again". Thank you one and all. I will leave this open for a couple more hours in case anybody has other thoughts.
                    • 7. Re: ORA-28002: the password will expire within 18446744073709551193 days
                      user647652
                      I submitted this query to the intrepid Oracle Support staff, and I received the following answer: "Requesting to kindly reset the password of the user id ersweb, & my recommendation is to upgrade Oracle database from lower version to higher version as most of the bugs got fixed in higher version i.e 11.2.0.3. As of now for such issues no bugs has been reported."