Thursday, September 4, 2014

All about relinking in Oracle

1)  What is relinking ?
The predefined functions for any language are defined inside the library files for that language  and it is required to Compile the code to create a binary format file (object file).The Object files are then linked together with OS libraries to create one executable file. Successful linking requires all the function definition should be found , Linking generates an executable from it's component. The terms linking and relinking mean the same in this context and used interchangeably. In both cases an executable is being built from pre-built components.

The types of files involved in relinking are:

* .c   (source code file)
* .o   (object file)
* .a   (archived file)
* .so or .sl on HP/UX (PA-RISC)  (library files)







--------------------------------------------------------------------------------

2)  What is relinking of Oracle Home Binaries ?
The Oracle software is shipped in form of object files (.o files),  archive files (.a files) and then grouped in a compressed jar format. These object files are then get "relinked" at the operating system level during installation to create usable executables.  This guarantees a reliable integration with functions provided by the OS system libraries. Generally, during relinking the current executables are renamed and saved, while the new executables are being generated. Once the new executables are in place and you have successfully tested that the new executables are working, you can delete the old executables in the directory ORACLE_HOME/bin. Each old executable has an 'O' appended to it's file name, for example, 'exp' is renamed to 'expO'.

The advantage of providing the object file is that it reduces the patch/package size , instead of providing the whole libraries  or program , only objects files are shipped which then linked with OS libraries to create usable executables.



 The following are the directories where various object files and archive files will reside in Oracle Home.

- /lib

- /usr/lib

- $ORACLE_HOME/lib

- $ORACLE_HOME/rdbms/lib

- $ORACLE_HOME/<product>/lib

There is file named “ sysliblist “ which lives in $ORACLE_HOME/rdbms/lib or $ORACLE_HOME/lib directory. It contains a list of other libraries, which need to be included.






--------------------------------------------------------------------------------

3)  Why Oracle Home Relinking is required ?
Oracle Home relinking  is required to link Oracle provided object files to the OS system library. Relinking  guarantees a reliable integration with functions provided by the OS system libraries.



Relinking occurs automatically under these circumstances:

An Oracle Database has  been  installed with Oracle Universal Installer ( OUI )
An Oracle Database Patchset  has been applied via Oracle Universal Installer ( OUI )
An Oracle Database Patch has been applied  using  “ opatch tool “
Relinking can also be performed manually.






--------------------------------------------------------------------------------

4)  When Manual relinking is required?
Manual relinking is required in below situations.

A)  After OS upgrade, Generally OS Vendors guarantee operating system binary compatibility, therefore, no  reinstall or relink of the Oracle software is required when upgrading these operating systems unless  specifically stated otherwise.

"However Oracle recommends performing manual relinking of Oracle Home binaries after OS upgrade".

B)   After Operating system has been patched.( Recommended ).

C)   Relinking phase during installation of Oracle Home has errors/warnings.

D)  Application of a RDBMS patch failed in relinking phase.

E)   Applications gives error for missing lib files in RDBMS home.

F)   Troubleshooting RDBMS home binaries issue.

G)  After manually modifying RDBMS home binary permissions.

H)  Verifying Integrity of Oracle Home Binaries.

I)  Resetting Oracle Home binaries permission.




--------------------------------------------------------------------------------



5)  Is relinking required after an OS upgrade , Downgrade , Patching or removal of the patch ?
Yes, Oracle recommends to perform manual relinking of Oracle Home Binaries after OS Upgrade , Patching , Downgrade or removal of the Patch or any change which impact OS library behavior . Successful relinking shows Oracle Executable are properly linked with OS binaries.


For more info check Metalink:

No comments:

Post a Comment