ORA-01031: insufficient privileges (login as sysdba)
It's a been a while since my last post. As you may know, I normally blog about solutions that are hard to find that haven't already been blogged about. Here's my latest encounter...
I was receiving this error when trying to login via "sqlplus / as sysdba" after completing an Oracle 11gR2 binary install using the "database home clone" methodology. I checked that the binary permissions were set correctly, which they were. Then finally I stumbled across someone else that had had this problem where the $ORACLE_HOME/rdbms/lib/config.c file wasn't configured properly.
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
I was receiving this error when trying to login via "sqlplus / as sysdba" after completing an Oracle 11gR2 binary install using the "database home clone" methodology. I checked that the binary permissions were set correctly, which they were. Then finally I stumbled across someone else that had had this problem where the $ORACLE_HOME/rdbms/lib/config.c file wasn't configured properly.
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
So I did the following:
cd <ORACLE_HOME>/rdbms/lib
cp -p config.c config.c.bak
vi config.c (with below changes)
relink oracle
config.c before changes:
/* SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access. */
/* Refer to the Installation and User's Guide for further information. */
/* IMPORTANT: this file needs to be in sync with
rdbms/src/server/osds/config.c, specifically regarding the
number of elements in the ss_dba_grp array.
*/
#define SS_DBA_GRP ""
#define SS_OPER_GRP ""
#define SS_ASM_GRP ""
char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};
config.c after changes:
/* SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access. */
/* Refer to the Installation and User's Guide for further information. */
/* IMPORTANT: this file needs to be in sync with
rdbms/src/server/osds/config.c, specifically regarding the
number of elements in the ss_dba_grp array.
*/
#define SS_DBA_GRP "oinstall"
#define SS_OPER_GRP "oinstall"
#define SS_ASM_GRP ""
char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};
Comments