Thanks to an update in a 12c JDBC driver for Oracle Database, we can now update a password natively, without being connected to the database.

Previous to version 4.2 EA2 – users would either have to be connected already OR have an Oracle Client available.

A post I did up explaining this is one of the most read articles on this site – you can imagine how many users out there have expired passwords and need help resetting said passwords.

Well, previous to this update, it would require their desktop admins to not only put down SQL Developer, they’d also need to put down a compatible Oracle Client. And SQL Developer would have to be configured. Or of course, the user could email their DBA for help.

No more!

So, So Easy Now

JUST install version 4.2 (GA when released or Early Adopter 2 for now), and right-click on your connection. That’s it.

Nothing configured on the Client (THICK) side.
Nothing configured on the Client (THICK) side.

Now right-click on your connection where you want to reset the password (for the user defined in that connection):

Yup, this one.
Yup, this one.

Put in the old and new passwords.

If it works, the dialog will just close on OK - if it doesn't, you'll see an error message.
If it works, the dialog will just close on OK – if it doesn’t, you’ll see an error message.

TIP: When you do this, we update the password string for your connection properties for you, automatically. So no need to go update the password on your connection after you change the password in the database. This is assuming of course, that you choose to save your passwords.

Curious to what JDBC driver your connection is actually using?

SHOW JDBC– run with F5

We ship with 12.2 driver in 4.2 EA2.
We ship with 12.2 driver in 4.2 EA2.
thatjeffsmith
Author

I'm a Master Product Manager at Oracle for Oracle SQL Developer. My mission is to help you and your company be more efficient with our database tools.

9 Comments

  1. Scott Gamble Reply

    This is slightly off topic from the original post but still concerns passwords.

    We are going through a change where we are creating a bunch of Oracle users for people that have never had them and most of them hit the same issue with creating a new connection/password.

    We create the user give it a random password and then expire it so they have to change it on the next login.

    Not having a defined connection in SQL Developer they have to define the connection and most of them try to click connect and or test which returns the expected ORA-28001. They then email us because they do not know what to do after that or why they received an error message.

    What they should do is click save, then come back out and right click on the connection to reset password but they don’t always know that or read the directions provided.

    Is there something we are missing? It just feels kind of odd to create a connection have it fail due to an expired password then they have to save and exit the new connection and reset password from right clicking the connection. Is there someway we are missing to let them change the password immediately after clicking connect/test in the new connection window?

    • thatjeffsmith

      create the account with a password that expires in 1 day vs expired immediately?

      Or just write a nice FAQ/How-To/Welcome email for them.

  2. The CONNECTION_PROPERTY_SET_NEW_PASSWORD = “OCINewPassword” is for use with OCI and is deprecated in the 12.2 driver. However, in 12.2 there is the new CONNECTION_PROPERTY_NEW_PASSWORD = “oracle.jdbc.newPassword” which I have verified working to set password using Oracle thin connections.

    I believe time will tell when the new 12.2 driver is publicly available. Thanks Jeff for your heads up.

  3. The new 12.2 driver supporting resetting password is not available for download at oracle.com. Do you have any information when it will?

Write A Comment