How to Relink Oracle 12CR2 Grid Infrastrure ( GI ) Binary

1)Change ownership of some root owned files like extjobO and jssuO, etc, because the relink script will be run as “grid’ user to change the file permissions.

Otherwise, the relink will fail from the below commands in scripts:

...
..
.
chmod 600 /u01/app/12.2.0.1/grid/bin/extjoboO )
chmod 700 /u01/app/12.2.0.1/grid/bin/extjobo
chmod 600 /u01/app/12.2.0.1/grid/bin/extjobO )
...
..
.

2) As root user:

#umask
0022

#cd /u01/app/12.2.0.1/grid/crs/install
# ./rootcrs.sh -unlock

3) As grid user:

$ cd /u01/app/12.2.0.1/grid/bin
$ relink
writing relink log to: /u01/app/12.2.0.1/grid/install/relink.log

-- Check any errors ?
$ grep -i error /u01/app/12.2.0.1/grid/install/relink.log

4) As root user:

# cd /u01/app/12.2.0.1/grid/rdbms/install
# ./rootadd_rdbms.sh


# cd /u01/app/12.2.0.1/grid/crs/install
# ./rootcrs.sh -lock
Using configuration parameter file: /u01/app/12.2.0.1/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/racnode1/crsconfig/crslock_racnode1_2018-05-25_11-58-39AM.log

5) Check cluster resources:

$/u01/app/12.2.0.1/grid/bin/crsctl stat res -t

Error in invoking target ‘agent nmhs’ of makefile

The following errors occurred while install 11.2.0.4 on Linux 7.4.  when relink the binary, the same error will be reported as well.

INFO: collect2: error: ld returned 1 exit status

INFO: make[1]:
INFO: *** [/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/emdctl] Error 1

INFO: make[1]: Leaving directory `/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib'

INFO: make: *** [emdctl] Error 2

INFO: End output from spawned process.
INFO: ----------------------------------
SEVERE: oracle.sysman.oii.oiil.OiilActionException: Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oracle/product/11.2.0/dbhome_1/install/relinkActions2018-05-25_09-48-55-AM.log' for details.
at oracle.sysman.oii.oiis.OiisMakeDeps.invokeMakefile(OiisMakeDeps.java:537)
at oracle.sysman.oii.oiis.OiisMakeDeps.doRelink(OiisMakeDeps.java:614)
at oracle.sysman.oii.oiis.OiisMakeDeps.doOperation(OiisMakeDeps.java:799)
at oracle.sysman.oii.oiis.OiisMakeDeps.main(OiisMakeDeps.java:809)

WORKAROUND

In $ORACLE_HOME/sysman/lib/ins_emagent.mk file :

Change “$(MK_EMAGENT_NMECTL) “

into

$(MK_EMAGENT_NMECTL) -lnnz11

Asmcmd Pwcopy With PRCD-1163 PRCR-1071 CRS-0245 ASMCMD-9453

After standby database rebuilt, then trying to copy database password file from primary to standby ASM disk, the below errors occurred:

ASMCMD> pwcopy --dbuniquename RACTEST '/tmp/orapwractest' '+DATA/RACTEST/orapwractest'
copying /tmp/orapwractest -> +DATA/RACTEST/orapwractest
PRCD-1163 : Failed to modify database RACTEST
PRCR-1071 : Failed to register or update resource ora.ractest.db
CRS-0245: User doesn't have enough privilege to perform the operation
ASMCMD-9453: failed to register password file as a CRS resource

The password file was copied to ASM diskgroup ‘+DATA’ successfully, but the configuring  of database failed .

WORKAROUND

Rerun the same command without “–dbuniquename RACTEST” option.

ASMCMD> pwcopy /tmp/orapwractest +DATA/RACTEST/orapwractest
copying /tmp/orapwractest -> +DATA/RACTEST/orapwractest

Then use ‘srvctl’ to re-configure database as user ‘oracle’ if needed:

$srvctl modify database -d RACTEST -pwfile '+DATA/RACTEST/orapwractest';

$srvctl config database -d RACTEST