Thanks for buddy-testing NATIVE authentication, Knut.
This behavior is deliberate although I can see that it is confusing. We want to encourage the DBO to change her password regularly--probably her password is the most important one in the database. However, we don't want to actually lock out the DBO if she goes on vacation and her password expires while she's on the beach. That would orphan the application. I can think of several approaches to this issue:
1) Change the error message so that it indicates that the DBO's password won't actually expire. Something like:
Your password will expire in 0 day(s). Please use the SYSCS_UTIL.SYSCS_MODIFY_PASSWORD procedure to change your password. Note that if you are the database owner, your password will still be valid after the expiration date, but you are urged to update your password.
2) Produce a different error message if the user is the DBO:
Your password will become stale in 0 day(s). You should update your password soon in order to protect the database. Please use the SYSCS_UTIL.SYSCS_MODIFY_PASSWORD procedure to change your password.
3) Abandon the goal of preventing the DBO from locking herself out. Let the DBO's password truly expire and therefore let the database become truly unusable.
What are your thoughts?