[文章導(dǎo)讀]經(jīng)過一段時(shí)間的摸索和反復(fù)查找資料。筆者終于總結(jié)除了Oracle9.2在Redhat9.0上的安裝方法......
Redhat9.0是一個非常好的Linux發(fā)行版本,具有良好的中文支持和豐富的應(yīng)用軟件,令包括筆者在內(nèi)的好多Linux用家愛不釋手。但由于Redhat9.0采用的GCC版本比較高,造成了一定的兼容性問題。使得包括Oracle9.2和IBM DB2等大型數(shù)據(jù)庫軟件在Redhat9.0上不能順利安裝。
經(jīng)過一段時(shí)間的摸索和反復(fù)查找 資料。筆者終于總結(jié)除了Oracle9.2在Redhat9.0上的安裝方法,在此給大家參考。
首先需要安裝Redhat9.0,如果您不是非常有經(jīng)驗(yàn)的用戶,請選擇完整安裝。
安裝前的準(zhǔn)備工作
建立一個用戶和組,Oracle 往往要求建立兩個組,一個負(fù)責(zé)安裝,另一個負(fù)責(zé)管理,但很多老資格的DBA都認(rèn)為建立一個組就足夠了。以root用戶運(yùn)行下列命令:
groupadd oracle
useradd oracle -g dba
passwd oracle
Oracle安裝的位置應(yīng)遵守OFA( Optimal Flexible Architecture )規(guī)范,但在我的機(jī)器上,由于空間有限,所以將ORACLE_HOME設(shè)定為/soft/oracle,并要確保oracle用戶對這個目錄可寫。
安裝和運(yùn)行Oracle需要配置內(nèi)核參數(shù),我的電腦具有512M內(nèi)存。在 /etc/sysctl.conf 文件中增加如下內(nèi)容:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
修改后運(yùn)行sysctl -p 命令使得內(nèi)核改變立即生效。
還需要在/etc/security/limits.conf 文件增加如下內(nèi)容:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
配置Oracle 的環(huán)境變量如下:
export ORACLE_HOME=/soft/oracle
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_SID=or9i
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/soft/oracle/lib:$LD_LIBRARY_PATH
export PATH=/$ORACLE_HOME/bin:$PATH
最好將上邊的環(huán)境變量寫入/home/oracle/.bash_profile 中,使得oracle 每次登錄時(shí)都帶有這些環(huán)境變量。
開始安裝
我采用在硬盤安裝的方式,直接執(zhí)行LANG=和./runInstaller,將出現(xiàn)下面的界面(圖一)
圖一
點(diǎn)擊Next 鍵,進(jìn)入下一步,直至出現(xiàn)圖二
圖二
輸入U(xiǎn)nix 的組名"dba",下一步后,根據(jù)提示,需要打開一個新窗口,執(zhí)行
su - root
/tmp/orainstRoot.sh
一直按"next "鍵,當(dāng)看到(圖三)
圖三
選擇"Software Only",我們將在以后建立數(shù)據(jù)庫。
運(yùn)行了一會以后,出現(xiàn)了"ins_oemagent.mk"的錯誤提示,如下(圖四)
圖四
這時(shí)我們可以暫時(shí)選擇"ignore",安裝完成以后再來解決這個問題.
接下來又會出現(xiàn)"ins_ctx.mk"的問題,如圖五
圖五
現(xiàn)在編輯 $ORACLE_HOME/ctx/lib/env_ctx.mk文件,在 "INSO_LINK =" 行(第1365行)加入 "$(LDLIBFLAG)dl"
修改后如下:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)
sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da
$(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi
$(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)
lib $(CORELIBS) $(COMPEOBJS)
按"retry"鍵即可繼續(xù)。
最后,還需要根據(jù)提示,用root用戶執(zhí)行一次 $ORACLE_HOME/root.sh,Oracle 軟件就初步安裝完了。
安裝完成以后的工作
我們回頭來解決上邊的那個ins_oemagent.mk問題。以O(shè)racle用戶執(zhí)行:
cd $ORACLE_HOME/lib
make -f ins_net_client.mk install
編輯$ORACLE_HOME/ctx/lib/ins_ctx.mk 文件的第13-14行,由:
ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)
改為
ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)
然后執(zhí)行
make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install
現(xiàn)在,Oracle 軟件已經(jīng)完全安裝成功,你可以用dbca命令來建立數(shù)據(jù)庫,或者執(zhí)行其他DBA命令。
總結(jié)
類似Oracle 和IBM DB2之類的大型數(shù)據(jù)庫的安裝,往往都比較復(fù)雜,在安裝之前一般都需要調(diào)整內(nèi)核參數(shù)。配置環(huán)境變量等,安裝過程中也經(jīng)常有這樣那樣的問題。建議非熟練用戶在安裝前一定要仔細(xì)閱讀軟件自帶的PDF文檔,并在網(wǎng)上參考其他用戶的經(jīng)驗(yàn)。在目前,一般大型數(shù)據(jù)庫都在Unix平臺上工作,做為一個優(yōu)秀的DBA,不僅要有Oracle知識,還應(yīng)該而且必需掌握一定的Unix知識。
關(guān)鍵詞標(biāo)簽:安裝,LDLIBFLAG,oracl