Saturday, August 23, 2008

Relink Oracle Binaries

In my currunt working environment, it has been made a policy that DBA should relink Oracle binaries every time that OS patch is performed. I have already supported this task several times.

The general steps to relink Oracle is as follows:

1. Logon to the server

2. Shutdown all the databases:

3. Shutdown the listener:
lsnrctl stop listener_name

4. Relink Oracle binaries:
cd $OH/bin (or cd $ORACLE_HOME/bin)
relink all>logfile_name

Note: if databases have different ORALCE_HOME, each of them needs to be relinked.

5. Startup the databases

5.1 If see error while connecting sqlplus as /bin/ksh: sqlplus: not found
then run this command and it will fix the issue.

cd $OH/sqlplus/lib
make -f ins_sqlplus.mk install


Note: before issuing this command, I found that I have to move back the sqlplus otherwise the command will fail:
mv -f /usr/local/oracle/10.2.0/bin/sqlplusO /usr/local/oracle/10.2.0/bin/sqlplus

The following shows what has happened when issuing the command last time:



oracle@whpssc1a(162) P0SSCW /usr/local/oracle/10.2.0/sqlplus/lib

$ make -f ins_sqlplus.mk install

cp -f /usr/local/oracle/10.2.0/lib/libsqlplus.sl \
/usr/local/oracle/10.2.0/sqlplus/lib/libsqlplus.sl
chmod 755 /usr/local/oracle/10.2.0/bin/helpins
chmod 755 /usr/local/oracle/10.2.0/bin/pupbld
mv -f /usr/local/oracle/10.2.0/bin/sqlplus /usr/local/oracle/10.2.0/bin/sqlplusO
mv -f /usr/local/oracle/10.2.0/sqlplus/bin/sqlplus /usr/local/oracle/10.2.0/bin/sqlplus
chmod 751 /usr/local/oracle/10.2.0/bin/sqlplus
rm -f /usr/local/oracle/10.2.0/sqlplus/lib/libsqlplus.sl



after this connect again as
sqlplus ‘/ as sysdba’

startup

7. Start the listener:
lsnrctl start listener_name

No comments: