:

ORA-01031: insufficient privileges

I encountered another occasion whereby I received the ORA-01031 error message. This time, though, it was not on startup; it was on logging into the database. I think I should start by giving you a little background information relating to how I got this error.

Local System Account Services

The database was running without error, on Windows Server 2003, Oracle version 10.2.0.4. There was a requirement to write out to a file share from the database. By default the Oracle services all run as the Local System user. However, after speaking with the systems team it seemed that it was not possible to grant permission to the local system user to write to the file share; and therein lies the problem.

So, to solve this problem they created a new domain user for the Oracle service to run as so that we could grant write permission on the file share to that user. I stopped the database and changed the “log on as” credentials to the new user for the Oracle service. The service then started but it was not possible to log into the database as SYS. I got the  following error:

ORA-01031: insufficient privileges

Upon further investigation, it turned out that the new user needed to be put into the Administrators group on the server. Hopefully this will help you prevent running into the same problem, or solve it quickly when/if you do.

Listener Service Account

I should also point out at this point that when you change the user who runs the service you will need to change the listener to run as the new user, also. If you have multiple services which are all connected to using the one listener you can still have a mix of locally running services and domain user services, just remember that the listener needs to run as the domain user and it can be used to connect to all database.

Like it, share it...

Category: Windows


Related Posts

Leave a Reply

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