FreeBSD-5.2下安裝ORACLE9i手記
發表于:2007-07-13來源:作者:點擊數:
標簽:
無可否認FreeBSD是最優秀的操作系統之一,但缺少大型商業 數據庫 的支持阻礙了FreeBSD走向高端和企業應用, Oracle 作為數據庫的領頭雁,如果能夠在FreeBSD上安家,則是我等FreeBSDFANS的一個鼓 舞。經過兩天的努力并參考了一個俄文網站的關于在FreeBSD上安
無可否認FreeBSD是最優秀的操作系統之一,但缺少大型商業
數據庫的支持阻礙了FreeBSD走向高端和企業應用,
Oracle作為數據庫的領頭雁,如果能夠在FreeBSD上安家,則是我等FreeBSD FANS的一個鼓
舞。經過兩天的努力并參考了一個俄文網站的關于在FreeBSD上安裝ORACLE8i的介紹,成功地在
FreeBSD5.2上安裝的ORACLE9i。以下是安裝手記。
一 內核配置
# Add for oracle
options NBUF=2048
options MAXDSIZ="(1024UL*1024*1024)"
options MAXSSIZ="(1024UL*1024*1024)"
options DFLDSIZ="(1024UL*1024*1024)"
#
options SYSVSHM
options SHMMA
XPGS=65536
options SHM
MIN=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設為512,我在定制內核時選擇的是ULE調度器,現在ULE已經是默認的調度器了。
二 系統配置
1 SWAP分區大小為1G,RAM256M,ORACLE_HOME要求有5G以上空間。
2 安裝
Linux仿真環境。
必須安裝
linux_base-7.1和linux_devtools-7.1兩個PKGS,但我在安裝時發現從ports已經無法安裝devtools-7.1了,所以被迫從一個安裝了RH7.3的機器中根據兩個ports的介紹將整個RH7.3系統CP到了FreeBSD中。無論你如何構建/compat/linux目錄樹,必須保證在仿真環境中有ar,as,ld,nm,tr,cpp,chmod,g++,printf,find,chgrp,chown
等程序。
3 調整Linux仿真環境
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在安裝時的一些腳本的要求,我所知道的在運行root.sh時用到以上的配置,但也可以在運行前修改這個腳本。
c 在/compat/linux/bin中建立arch可執行文件
內容為:
#!/compat/linux/bin/bash
echo i686 #根據你的機器是i586還是i486
打上可執行標記:
chmod +x arch
4 打開linux仿真支持,修改rc.conf文件也可以kldload linux模塊
enable_linux="YES"
5 mount linux proc文件系統
mkdir /compat/linux/proc
mount -t linproc /dev/device /compat/linux/proc
第二步可以放入/etc/fstab文件中在開機時自動截入
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用戶環境
mkdir /home/oracle
chown oracle:dba /home/oracle
cd /home/oracle
編輯.profile配置oracle用戶環境:
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
#下面一個是安裝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
三 安裝準備
下載oracle9i(9.2.0) for linux的三個文件在一個足夠大小(>2G)空間解壓縮最后得到三個目錄:
Disk1,Disk2,Disk3。
四 安裝
1 以oracle用戶登錄
2 進入X
startx
3 在X中打開一個終端窗口,在窗口中運行安裝程序
cd /path/Disk1
./runInstaller
安裝程序開始運行,出現界面后按提示選擇進行安裝,這與安裝典型的
windows程序一樣,安裝時默認的臨時文件在/tmp目錄中,此時進入/tmp可看見oracle9i的安裝目錄和一些臨時文件。
4 安裝時的必須的手工干預
a 在剛開始安裝會有一個窗口提示運行一個腳本,這時可在另一個終端窗口中先以root身份
在/compat/linux/etc中創建一個名為oraInst.loc的文件并將屬主設為oracle
cd /compat/linux/etc
touch oraInst.loc
chown oracle:dba oraInst.loc
然后以oracle身份運行腳本,之后繼續安裝。
b 在安裝部分完成后在連接數據庫的過程中有一個錯誤出現(與ins_ctx.mk有關),此時可選忽略,
不會引響數據庫的基本功能,但在Agent配置時會出錯,其它正常。我不知道是否每一次安裝都
會有這個錯誤,也不知道是什么原因造成了這個錯誤。
c 最后一個無需手工干預的地方在數據庫配置以前要以root身份運行$ORACLE_HOME/root.sh,此
時觀察其輸出,不能有任何錯誤,如果有則是因為什么程序找不到造成的,可以修改這個腳本將
指定所提示的程序的正確路徑就可以了。
5 安裝后根據需要進行數據庫配置,這與
WINDOWS中是一樣的。
五 安裝后啟動數據庫
1 重啟系統
2 以oracle身份登錄
3 啟動數據庫
在初次啟動數據庫時,要先將initORCL.ora這個文件(在你指定的全局數據名所在的目錄下
的pfile目錄中)復制到$ORACLE_HOME/dbs目錄中,并在dbs目錄中將oraPW.(全局名)的一個
文件復制一份名為oraPW,然后就可以正常啟動數據庫了。
六 總結
從使用來看,直接在機器上使用
sqlplus進行查詢,感覺不到有什么不同,至于效率還未
測試
原文轉自:http://www.kjueaiud.com