當作業系統更新後、作業系統打完更新檔後、安裝完Oracle更新檔之後和relink過程中出現問題時,都會用到relink方法來保證Oracle軟體的正常使用。
本文介紹一下relink方法的使用。
1.以oracle使用者登入作業系統
[root@secdb ~]# su - oracle
ora11g@secdb /home/oracle$
2.确定$ORACLE_HOME環境變量設定正确
ora11g@secdb /home/oracle$ echo $ORACLE_HOME
/oracle/ora11gR2/product/11.2.0/dbhome_1
3.确定作業系統的環境變量設定正确
主要涉及一下幾個參數:LIBPATH、LD_LIBRARY_PATH和SHLIB_PATH
以我的環境中LD_LIBRARY_PATH環境變量設定為例:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/usr/X11R6/lib64/
這裡需要注意的是:“$ORACLE_HOME/lib”内容要放在最前面,使其能夠最先被檢索到。
4.使用env指令驗證作業系統環境變量是否設定正确
5.确定umask為022
ora11g@secdb /home/oracle$ umask
0022
如果傳回的不是022可以使用下面的方法來調整。
ora11g@secdb /home/oracle$ umask 022
ora11g@secdb /home/oracle$ umask
0022
6.執行relink指令
1)停止監聽和資料庫執行個體
ora11g@secdb /home/oracle$ lsnrctl stop
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-DEC-2010 20:30:09
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
The command completed successfully
停止資料庫執行個體。
sys@ora11g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2)執行relink指令
本文以11gR2版本為例進行示範。
在11g這個版本中在relink過程中将不在螢幕上不斷的輸出relink的結果,取而代之的是将所有的輸出内容都自動重定向到了relink.log日志中。如果是自其它版本中完成relink,建議将這些輸出的資訊都手工的重定向到一個檔案中,友善對繁雜的内容進行檢查。
ora11g@secdb /home/oracle$ relink all
writing relink log to: /oracle/ora11gR2/product/11.2.0/dbhome_1/install/relink.log
對relink都做了些什麼的朋友可以仔細看一下這個輸出日志内的資訊。