cancel
Showing results for 
Search instead for 
Did you mean: 

Relink Oracle ?

ericfjchen
Regular Advisor

Relink Oracle ?

After upgrading OS version, we need relink Oracle? Why and how to relink Oracle?

This is Oracle 9.0.1.4.
8 REPLIES
Fred Ruffet
Honored Contributor

Re: Relink Oracle ?

It depends on "from" and "to" versions of your OS upgrade.

However, relinking an oracle 9i is easy :
connect as oracle unix user
issue the "relink all" command

Note : All DB running this Oracle Home must be stopped during relinking.

Regards,

Fred
--

"Reality is just a point of view." (P. K. D.)
Eric Antunes
Honored Contributor

Re: Relink Oracle ?

Hi,

You can find the make files (for relink) doing this:

find $ORACLE_HOME -name *.mk|more

RDBMS make files where at $ORACLE_HOME/rdbms/lib on Oracle 8i...

Normally relinking is automatically done when apllying the database patches. From what version have you upgraded?

Best Regards,

Eric Antunes
Each and every day is a good day to learn.
ericfjchen
Regular Advisor

Re: Relink Oracle ?

It is from HP Tru64 5.1A to 5.1B. Can you explain what "relink oracle" means?
Ravi_8
Honored Contributor

Re: Relink Oracle ?

Hi,

upon upgrading OS you need to relink the oracle.

login as oracle
$ cd $ORACLE_HOME/bin
$./relink all

this is needed to link oracle files, since the OS files are relinked after upgrade
never give up
Fred Ruffet
Honored Contributor

Re: Relink Oracle ?

"Relink oracle" means (like for relinking any program) you update programs to find their way to object they need in libraries.

If you use ldd you will see that a program is linked to libs. For example :
>ldd /bin/ls
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libcurses.1 => /usr/lib/libcurses.1
means that ls uses those libs.
When upgrading your OS, many of those libs are changed, so you must relink program to new ones.

Regards,

Fred
--

"Reality is just a point of view." (P. K. D.)
Indira Aramandla
Honored Contributor

Re: Relink Oracle ?

Hi ericfjchen,

When an OS upgrade has occurred, and the Oracle RDBMS is certified for the upgraded version of OS, then relinking Oracle manually has to be done so that the changes in OS binaries will be be updated in Oracle.

Before relinking make sure that:
- /usr/ccs/bin is before /usr/ucb in $PATH
$which ld ....should return '/usr/ccs/bin/ld'

- set LD_LIBRARY_PATH to include $ORACLE_HOME/lib

These are the basic steps in the OS upgrade .

1. Shutdown your Oracle DB and do a full backup of the DB and a full system-
level backup. This allows you to be able to restore in case anything goes wrong during the upgrade.

NOTE: Please make sure to make backup copies of any Oracle-related
files that are not located under $ORACLE_HOME, e.g., oratab,
tnsnames.ora, oraenv.

2. Perform the OS upgrade (see your OS documentation for details).

3. Run "gensyslib" from the "ORACLE_HOME/bin" directory.

4. Relink the Oracle database and any other Oracle Tools and other programs.
When you upgrade the operating system, the version of many OS-level
utilities (such as Motif and the C compiler) may change. Relinking Oracle and your other products makes certain that the database and tools are using the libraries and utilities which are currently on the system.

5. Startup the Oracle database. If all went well, you will NOT need the backup you made before the OS upgrade.

Attached is the document that describes the procedure of "Relink Oracle Database Software on UNIX" on verious versions and releases of RDBMS and OS.


Indira A


Never give up, Keep Trying
Hein van den Heuvel
Honored Contributor

Re: Relink Oracle ?


Nah. Don't bother. It is not worth the hassle/risk.
The critical OS changes are in (dynamic) libraries, and Oracle will pick up those changes automatically (contrary to Fred's earlier reply.)

Only objects from .a libraries are statically linked in and you would need to relink to pick those up but Oracle does not use those. (unfortunately according to some, as it prevent certain link time, and post-link time optimizations).

If anything I would recommend to upgrade Oracle to 9.0.2.x version, as the 9.0.1 was almost like a beta release, notably when using RAC features.
Such upgrade will of course make your relink question a moot point!


Cheers,
Hein.
Hein van den Heuvel
Honored Contributor

Re: Relink Oracle ?

Hmm,
You might not have liked my reply (judging by the points :-), but I still believe it to be true and usefull.
- relink is not required.
- 9.0.1.4 is de-supported, relinking will not help that.

The ultimate requirement to relink Oracle or not is of course defined by oracle (typically in a certifiction matrix).
You may want to hit 'metalink' for 'relink'.
You'll find for example Note:131321.1
Subject: "How to Relink Oracle Database Software"

It reads:

"Relinking Oracle manually is suggested under these circumstances:
- An OS upgrade has occurred.
- A change has been made to the OS system libraries. This can occur during the application of an OS patch.
- A new install failed during the relinking phase.
- Individual Oracle executables core dump during initial startup.

The key word for me being 'suggested', not required.

In our labs we just try it. If it works, use it. If it crashes, well there is no choice but to relink.

For better advice, specific OS version and platforms (PA? IPF? Alpha?) would be usefull, but really, only Oracle support can give binding advice.

Cheers,
Hein.