Friday, February 1, 2013

ORA-01031: insufficient privileges

The ORA-01031 is very generic error and normally users will receive this error when users don’t have appropriate privilege. Users may able to connect to database successfully using password authentication and OS authentication may fails with “ORA-01031”.

H:\>sqlplus /nolog
SQL*Plus: Release Production on Fri Feb 1 17:00:13 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

SQL> connect /as sysdba
ORA-01031: insufficient privileges

When user try to connect RMAN receives the same error “ORA-01031”

RMAN> connect target /

RMAN-00571: =================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ==========
RMAN-00571: =================================================
ORA-01031: insufficient privileges

01031, 00000, "insufficient privileges"
// *Cause: An attempt was made to change the current username or password
//         without the appropriate privilege. This error also occurs if
//         attempting to install a database without the necessary operating
//         system privileges.
//         When Trusted Oracle is configure in DBMS MAC, this error may occur
//         if the user was granted the necessary privilege at a higher label
//         than the current login.
// *Action: Ask the database administrator to perform the operation or grant
//          the required privileges.
//          For Trusted Oracle users getting this error although granted the
//          the appropriate privilege at a higher label, ask the database
//          administrator to regrant the privilege at the appropriate label.

For Windows:-

The user must be a member of ora_dba group.Go to Local Users and Groups on the Computer Management Console, select ora_dba group and add the user to the group. 

If users still see the same issues then check the SQLNET.AUTHENTICATION_SERVICES parameter in SQLNET.ora file and make sure that the parameter value should be set to NTS.

For Unix/Linux:-

The user must me part of DBA group, so add the user to the group.

$ usermod -G <group> <user>

After adding the use to DBA group, if users are seeing the same error then check the SQLNET.AUTHENTICATION_SERVICES parameter in sqlnet.ora file and make sure that the parameter should not be present or value set to ALL.

Irrespective of the Operating system make sure you set correct values for ORACLE_SID and ORACLE_HOME and other environment variables.

For more information refer below Metalink notes
OERR: ORA 1031 "insufficient privileges" [ID 18622.1]
Troubleshooting ORA-1031: Insufficient Privileges While Connecting As SYSDBA [ID 730067.1]

Satishbabu Gunukula, Oracle ACE