Sometimes Oracle components may start giving strange issues like coredump or the Operating system is patched, In these cases it is always recommended to try oracle relink to resolve the issues.A Oracle relink is also necessary whenever you install a new release or a patchset or when there is a patch or upgrade to the OS environment.
Oracle relink create the new executable for the use and it can be done quickly also
Here how to perform relink in Oracle database components
sqlplus relink
cd $ORACLE_HOME/sqlplus/lib;
make -f ins_sqlplus.mk install;
lsnrctl relink
cd $ORACLE_HOME/network/lib;
make -f ins_network.mk install;
oracle relink
cd $ORACLE_HOME/rdbms/lib;
make -f ins_rdbms.mk install
trcroute, onrsd, tnsping
cd $ORACLE_HOME/network/lib
make -f ins_net_client.mk install
forms relink
cd $ORACLE_HOME/forms/lib32
Note: if this directory does not exist: cd $ORACLE_HOME/forms/lib
$ make -f ins_forms.mk install
Reports relink
cd $ORACLE_HOME/reports/lib32
Note: if this directory does not exist: cd $ORACLE_HOME/reports/lib
$ make -f ins_reports.mk install
You can relink most of the executable associated with an Oracle Server Installation
by running the following command:
$relink all
If relinking was successful, the make command will eventually return to the OSprompt without an error. There will NOT be a ‘Relinking Successful’ type message
General errors in Oracle relink
- Permission denied: Make sure you run as executable owner
- libraries missing : Make sure all the environment variables are set
- Sometime common utlities like ‘ld’, ‘make’, ‘cc’, ‘mv’, ‘cp’, ‘ar’ are missing
Important Notes for Oracle relink
1)Before relinking Oracle, shut down both the database and the listener.
2) The following commands given above will output a lot of text to your session window. To capture this output for upload to support, redirect the output to a file.
3)Executing “relink all” will reset the ownership and permission for root owned files. After “relink all”, it is recommended to change the ownership and permission back. So, check the permission and ownership of the below files :
# chown root $ORACLE_HOME/bin/oradism
# chmod 4750 $ORACLE_HOME/bin/oradism
# chown root $ORACLE_HOME/bin/extjob
# chmod 4750 $ORACLE_HOME/bin/extjob
# chown root $ORACLE_HOME/rdbms/admin/externaljob.ora
# chmod 640 $ORACLE_HOME/rdbms/admin/externaljob.ora
# chown root $ORACLE_HOME/bin/jssu
# chmod 4750 $ORACLE_HOME/bin/jssu
# chown root $ORACLE_HOME/bin/nmb
# chmod 4710 $ORACLE_HOME/bin/nmb
# chown root $ORACLE_HOME/bin/nmhs
# chmod 4710 $ORACLE_HOME/bin/nmhs
# chown root $ORACLE_HOME/bin/nmo
# chmod 4710 $ORACLE_HOME/bin/nmo
There can be other file also. We need to check the corresponding release documentation to make sure this is set correctly
Related External Resource
https://docs.oracle.com/cd/B28359_01/server.111/b32009/cnfg_prd.htm#UNXAR180