This applies to Linux, Unix as well as Windows, but affected me on a Windows 2012 Server running Oracle 22.214.171.124 Enterprise Edition.
My user on the server was an administration user, but not in the
ora_dba group. This is required to
connect / as sysdba within SQL*Plus. The SYS password had been changed recently but whoever did it, did not update the password vault. The users were urgently requiring their database be started, I was the only DBA in the office, the SYS password was unknown, and my user didn’t belong directly to the
ora_dba group. What to do?
It’s not quite the dreadful hack that the title of this post may indicate. Depending on the setup for the server, you may need administrator rights to move files around. Plus, most importantly, you do need to know the SYS password for at least one database on the server.
My user account was indirectly a member of the
ora_dba group, via my administrator rights, but it seems I need to be directly a member of the group to login
/ as sysdba.
That said, the short, bullet point method is as follows:
- Rename the current password file
- Copy another password file, for which I did know the SYS password, to
Sqlplus sys/known_password as sysdba.
This way I got the database started, the users were happy, and I made sure I got the password vault updated to save me this grief next time!