Password Resets No Longer Require a Thick Connection (Oracle Client) in SQL Developer

thatjeffsmith SQL Developer 9 Comments

Tell Others About This Story:

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.

Tell Others About This Story:

Comments 9

  1. 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?

    1. thatjeffsmith Post
      Author
    1. thatjeffsmith Post
      Author
  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?

    1. thatjeffsmith Post
      Author
      1. So the 12.1 driver also supports resetting password without OCI? Do you happen to know the API calls to do this or any pointers do online docs?

        1. thatjeffsmith Post
          Author

Leave a Reply

Your email address will not be published. Required fields are marked *