I am on 11gr2 trying to connect to Oracle as SYSDBA and I am
getting the ORA-01031 error. Is
this the new strong authentication I’ve read about?
Starting in Oracle 11g, all SQL*Plus sessions must be configured for remote
login or you will get the ORA-01031: insufficient privileges error.
Connections with sysdba or sysoper privileges must
always be authenticated. This is possible through OS authentication by
assigning the appropriate OS group to the OS user.
Another method is the use of a
If an 11g client is not configured you will get the ORA-01031: Insufficient
privileges error when connect to Oracle in SQL*Plus as the SYS or SYSTEM
user. Oracle remote login is
commonly configured with a password file using the
Here are the steps to prevent the ORA-01031 error when connecting as sysdba
1 - Create the password file.
This is done by executing the following command:
$ orapwd file=filename password=password entries=max_users
The max_usersis the number of database users that can be granted
SYSDBA or SYSOPER. This parameter should be set to a higher value than
the number of anticipated users to prevent having to delete and recreate the
2 - Edit the init.ora parameter remote_login_passwordfile.
This parameter must be set to either SHARED or EXCLUSIVE.
When set to SHARED, the password file can be used by multiple
databases, yet only the SYS user is recognized. When set to EXCLUSIVE,
the file can be used by only one database, yet multiple users can exist in
SQL> show parameter password
----------------------------- ----------- ----------remote_login_passwordfile string
3 - Grant SYSDBA or SYSOPER to users.
When SYSDBA or SYSOPER privileges are granted to a user, that user's name
and privilege information are added to the password file.
SQL> grant sysdba to scott;