did you ever wonder which status a user in oracle can be in ? there is a small table which answers this question ( this is on 11.2.0.3 ):
SQL> select * from sys.user_astatus_map order by 1; STATUS# STATUS ---------- -------------------------------- 0 OPEN 1 EXPIRED 2 EXPIRED(GRACE) 4 LOCKED(TIMED) 5 EXPIRED & LOCKED(TIMED) 6 EXPIRED(GRACE) & LOCKED(TIMED) 8 LOCKED 9 EXPIRED & LOCKED 10 EXPIRED(GRACE) & LOCKED 9 rows selected.
don’t ask me what happened to status 3 and 7 :)
Hi Daniel
This post of Pete Finnigan http://www.petefinnigan.com/weblog/archives/00000178.htm clarifies your question.
“Therefore we can now deduce why the values of 3 and 7 do not exist. The value for 3 could only be made up of:
1 (EXPIRED) + 2 (EXPIRED(GRACE)) = 3
This would not make sense as they are mutually exclusive. Next for the value of 7. This could only be made up of:
1 (EXPIRED) + 2 (EXPIRED(GRACE)) + 4 (LOCKED(TIMED)) = 7
Again the same problem with having EXPIRED and EXPIRED(GRACE) which are mutually exclusive. The same arguments could be applied to why values of 11 – 15 which would include again the same pair or LOCKED and LOCKED(TIMED) together.”
Regards
Xavier
Hi Daniel
This post of Pete Finnigan http://www.petefinnigan.com/weblog/archives/00000178.htm clarifies your question.
“Therefore we can now deduce why the values of 3 and 7 do not exist. The value for 3 could only be made up of:
1 (EXPIRED) + 2 (EXPIRED(GRACE)) = 3
This would not make sense as they are mutually exclusive. Next for the value of 7. This could only be made up of:
1 (EXPIRED) + 2 (EXPIRED(GRACE)) + 4 (LOCKED(TIMED)) = 7
Again the same problem with having EXPIRED and EXPIRED(GRACE) which are mutually exclusive. The same arguments could be applied to why values of 11 – 15 which would include again the same pair or LOCKED and LOCKED(TIMED) together.”
Regards
Xavier
Hi Xavier,
thanks for the clarification and pointing this out.
Regards
Daniel