Recently I discovered the "relink" binary that sits in the bin folder of the grid infrastructure home (RAC) and the Oracle home (database). I learned that the Oracle binaries in a GI for Linux image are not compiled. When you install that image, the Oracle Universall Installer links those binaries with the OS's appropriate libraries to compile the binaries. So when those OS librairies are updated/modified, it can lead to issues with the Oracle binaries. Hence the Oracle relink tool, which relinks the Oracle binaries to the (possibly new) OS libraries.
See this pages in the Oracle documentation for reference:
This article on Oracle-help explains how to use relink (for different recent versions of Oracle):
Here is what I did to use relink on a 18.104.22.168 GRID_HOME:
root@rac01: /tmp # $ORACLE_HOME/crs/install/rootcrs.sh -unlock
Using configuration parameter file: /app/grid/12.1.0/crs/install/crsconfig_params
2019/04/19 10:54:41 CLSRSC-4012: Shutting down Oracle Trace File Analyzer (TFA) Collector.
2019/04/19 10:54:49 CLSRSC-4013: Successfully shut down Oracle Trace File Analyzer (TFA) Collector.
2019/04/19 10:54:50 CLSRSC-347: Successfully unlock /app/grid/12.1.0
rac01@gridis::~ # export PATH=$GRID_HOME/bin:$PATH
rac01@gridis::~ # $GRID_HOME/bin/relink all
|writing relink log to: /app/grid/12.1.0/install/relink.log|
Then repeat those steps on the second node:
root@rac02: /tmp # cd $ORACLE_HOME/rdbms/install
root@rac02: /app/grid/12.1.0/rdbms/install # ./rootadd_rdbms.sh
root@rac02: /app/grid/12.1.0/rdbms/install # cd $ORACLE_HOME/crs/install
|root@rac02: /app/grid/12.1.0/crs/install # ./rootcrs.sh -patch||=> do this on both nodes. It will start the cluster.|
Note the 4 steps:
- first all the cluster resources must be stopped on the 1st node where you're going to run relink
- then, as root, unlock the Oracle binaries, with rootcrs.sh -unlock
- then, as the GI owner, run relink all
- then, as root, lock the binaries , with /rootadd_rdbms.sh then rootcrs.sh -patch (in 12cR1, it's different in 12cR2, see above Oracle-help article). This will start your cluster on the current node.
Then repeat those steps on all the other nodes of your RAC.