Connect as SYSDBA on Oracle Database Cloned Home Gives Invalid Username/Password Error



Error can come due to many reasons but one of the reason I am sharing here due to Oracle Home Clone

After cloning has completed, connecting to a database as SYSDBA gives the following error:


ORA-01031: insufficient privileges or invalid username/password

The $ORACLE_HOME/rdbms/lib/config.c contains the following lines which defines the groups.


#define SS_DBA_GRP ""
#define SS_OPER_GRP ""
#define SS_ASM_GRP ""

The OS authentication will be fail if there is invalid group mentioned.


Solution:


The clone.pl script has to be called using the following new variables:


OSDBA_GROUP=OSDBA_privileged_group
OSOPER_GROUP=OSOPER_privileged_group

To avoid the issue, run clone.pl command using next syntax:


$ORACLE_HOME/perl/bin/perl clone.pl ORACLE_BASE="target_oracle_base" ORACLE_HOME="target_oracle_home" OSDBA_GROUP=OSDBA_privileged_group OSOPER_GROUP=OSOPER_privileged_group -defaultHomeName

or


$ORACLE_HOME/perl/bin/perl clone.pl ORACLE_BASE="target_oracle_base" ORACLE_HOME="target_oracle_home" OSDBA_GROUP=OSDBA_privileged_group OSOPER_GROUP=OSOPER_privileged_group ORACLE_HOME_NAME="target_home_name"



Else

If the Oracle Home has already been cloned then to resolve the error :

1. Edit $ORACLE_HOME/rdbms/lib/config.c and set the correct groups:


#define SS_DBA_GRP "dba"
#define SS_OPER_GRP "dba"
#define SS_ASM_GRP "dba"

2. Generate a new config.o and relink the oracle executable


$ cd $ORACLE_HOME/rdbms/lib
$ mv config.o config.bck
$ make -f ins_rdbms.mk ioracle






If you like please follow and comment