FreeBSD-5.2下安裝ORACLE9i手記
2024-08-29 13:43:39
供稿:網(wǎng)友
無(wú)可否認(rèn)FreeBSD是最優(yōu)秀的操作系統(tǒng)之一,但缺少大型商業(yè)數(shù)據(jù)庫(kù)的支持阻礙了FreeBSD走向高端和企業(yè)應(yīng)用,Oracle作為數(shù)據(jù)庫(kù)的領(lǐng)頭雁,假如能夠在FreeBSD上安家,則是我等FreeBSD FANS的一個(gè)鼓
舞。經(jīng)過(guò)兩天的努力并參考了一個(gè)俄文網(wǎng)站的關(guān)于在FreeBSD上安裝ORACLE8i的介紹,成功地在
FreeBSD5.2上安裝的ORACLE9i。以下是安裝手記。
一 內(nèi)核配置
# Add for oracle
options NBUF=2048
options MAXDSIZ="(1024UL*1024*1024)"
options MAXSSIZ="(1024UL*1024*1024)"
options DFLDSIZ="(1024UL*1024*1024)"
#
options SYSVSHM
options SHMMAXPGS=65536
options SHMMIN=2
options SHMMNI=256
options SHMSEG=256
#
options SYSVSEM
options SEMMAP=512
options SEMMNI=512
options SEMUME=512
options SEMMNS=1024
options SEMMNU=512
options SEMMSL=256
options SEMOPM=256
#
options SYSVMSG #SYSV-stylmessage queues
options MSGMNB=8192
options MSGMNI=256
options MSGSEG=8192
options MSGSSZ=16
options MSGTQL=128
# Add end
另外將maxusers設(shè)為512,我在定制內(nèi)核時(shí)選擇的是ULE調(diào)度器,現(xiàn)在ULE已經(jīng)是默認(rèn)的調(diào)度器了。
二 系統(tǒng)配置
1 SWAP分區(qū)大小為1G,RAM256M,ORACLE_HOME要求有5G以上空間。
2 安裝linux仿真環(huán)境。
必須安裝linux_base-7.1和linux_devtools-7.1兩個(gè)PKGS,但我在安裝時(shí)發(fā)現(xiàn)從ports已經(jīng)無(wú)法安裝devtools-7.1了,所以被迫從一個(gè)安裝了RH7.3的機(jī)器中根據(jù)兩個(gè)ports的介紹將整個(gè)RH7.3系統(tǒng)CP到了FreeBSD中。無(wú)論你如何構(gòu)建/compat/linux目錄樹(shù),必須保證在仿真環(huán)境中有ar,as,ld,nm,tr,cpp,chmod,g++,PRintf,find,chgrp,chown
等程序。
3 調(diào)整Linux仿真環(huán)境
a 在/compat/linux/etc中建立mtab到/etc/fstab的鏈接
ln -s /etc/fstab /compat/linux/etc/mtab
b 在/compat/linux/bin中建立到awk,sed,chown的鏈接
ln -s /compat/linux/usr/bin/awk /compat/linux/bin/awk
ln -s /compat/linux/usr/bin/sed /compat/linux/bin/sed
ln -s /usr/sbin/chown /compat/linux/bin/chown
以上配置是為了滿足ORACLE9i在安裝時(shí)的一些腳本的要求,我所知道的在運(yùn)行root.sh時(shí)用到以上的配置,但也可以在運(yùn)行前修改這個(gè)腳本。
c 在/compat/linux/bin中建立arch可執(zhí)行文件
內(nèi)容為:
#!/compat/linux/bin/bash
echo i686 #根據(jù)你的機(jī)器是i586還是i486
打上可執(zhí)行標(biāo)記:
chmod +x arch
4 打開(kāi)linux仿真支持,修改rc.conf文件也可以kldload linux模塊
enable_linux="YES"
5 mount linux proc文件系統(tǒng)
mkdir /compat/linux/proc
mount -t linproc /dev/device /compat/linux/proc
第二步可以放入/etc/fstab文件中在開(kāi)機(jī)時(shí)自動(dòng)截入
6 添加oracle用戶組和用戶
pw groupadd -n dba -g 94
pw groupadd -n oinstall -g 95
pw useradd -n oracle -u 94 -c "Oracle Daemon" -d /home/oracle -s
/compat/linux/bin/bash -g dba -G oinstall,wheel
7 配置oracle用戶環(huán)境
mkdir /home/oracle
chown oracle:dba /home/oracle
cd /home/oracle
編輯.profile配置oracle用戶環(huán)境:
PATH=/compat/linux/bin:/compat/linux/sbin:compat/linux/usr/bin:/compat/linux/
usr/sbin:/home/oracle/920/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:
/usr/local/bin:/usr/X11R6/bin; export PATH
ORACLE_BASE=/home/oracle; export ORACLE_BASE
#下面一個(gè)是安裝oracle的目錄
ORACLE_HOME=/home/oracle/920; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
export DISPLAY=:0
三 安裝預(yù)備
下載oracle9i(9.2.0) for linux的三個(gè)文件在一個(gè)足夠大小(>2G)空間解壓縮最后得到三個(gè)目錄:
Disk1,Disk2,Disk3。
四 安裝
1 以oracle用戶登錄
2 進(jìn)入X
startx
3 在X中打開(kāi)一個(gè)終端窗口,在窗口中運(yùn)行安裝程序
cd /path/Disk1
./runInstaller
安裝程序開(kāi)始運(yùn)行,出現(xiàn)界面后按提示選擇進(jìn)行安裝,這與安裝典型的windows程序一樣,安裝時(shí)默認(rèn)的臨時(shí)文件在/tmp目錄中,此時(shí)進(jìn)入/tmp可看見(jiàn)oracle9i的安裝目錄和一些臨時(shí)文件。
4 安裝時(shí)的必須的手工干預(yù)
a 在剛開(kāi)始安裝會(huì)有一個(gè)窗口提示運(yùn)行一個(gè)腳本,這時(shí)可在另一個(gè)終端窗口中先以root身份
在/compat/linux/etc中創(chuàng)建一個(gè)名為oraInst.loc的文件并將屬主設(shè)為oracle
cd /compat/linux/etc
toUCh oraInst.loc
chown oracle:dba oraInst.loc
然后以oracle身份運(yùn)行腳本,之后繼續(xù)安裝。
b 在安裝部分完成后在連接數(shù)據(jù)庫(kù)的過(guò)程中有一個(gè)錯(cuò)誤出現(xiàn)(與ins_ctx.mk有關(guān)),此時(shí)可選忽略,
不會(huì)引響數(shù)據(jù)庫(kù)的基本功能,但在Agent配置時(shí)會(huì)出錯(cuò),其它正常。我不知道是否每一次安裝都
會(huì)有這個(gè)錯(cuò)誤,也不知道是什么原因造成了這個(gè)錯(cuò)誤。
c 最后一個(gè)無(wú)需手工干預(yù)的地方在數(shù)據(jù)庫(kù)配置以前要以root身份運(yùn)行$ORACLE_HOME/root.sh,此
時(shí)觀察其輸出,不能有任何錯(cuò)誤,假如有則是因?yàn)槭裁闯绦蛘也坏皆斐傻模梢孕薷倪@個(gè)腳本將
指定所提示的程序的正確路徑就可以了。
5 安裝后根據(jù)需要進(jìn)行數(shù)據(jù)庫(kù)配置,這與WINDOWS中是一樣的。
五 安裝后啟動(dòng)數(shù)據(jù)庫(kù)
1 重啟系統(tǒng)
2 以oracle身份登錄
3 啟動(dòng)數(shù)據(jù)庫(kù)
在初次啟動(dòng)數(shù)據(jù)庫(kù)時(shí),要先將initORCL.ora這個(gè)文件(在你指定的全局?jǐn)?shù)據(jù)名所在的目錄下
的pfile目錄中)復(fù)制到$ORACLE_HOME/dbs目錄中,并在dbs目錄中將oraPW.(全局名)的一個(gè)
文件復(fù)制一份名為oraPW,然后就可以正常啟動(dòng)數(shù)據(jù)庫(kù)了。
六 總結(jié)
從使用來(lái)看,直接在機(jī)器上使用sqlplus進(jìn)行查詢,感覺(jué)不到有什么不同,至于效率還未測(cè)試