[摘要]0.「安裝之前」 0-1. 『kernel調整』 先檢查自己的kernel設定檔, 請加入以下的設定 options SHMMAL=4097 options SHMMAXPGS=4097 optio...
0.「安裝之前」 
0-1. 『kernel調整』 
先檢查自己的kernel設定檔, 請加入以下的設定 
options SHMMAL=4097 
options SHMMAXPGS=4097 
options "SHMMAX=(SHMMAXPGS*PAGE_SIZE+1) 
options SEMMAP=255 
options SEMMNI=100 
options SEMMNS=200 
options SEMMNU=235 
options SEMMSL=61 
options SEMOPM=201 
options SEMUME=201 
options SEMSEG=10 
重作kernel, 先"不要"重開機, vi /etc/rc.conf, 加入 
linux_enable="YES" 
ibcs2_enable="YES" 
重開機, 就有個可以跑linux模擬器的環境 
0-2. 『安裝linux模擬器』 
請先找個ftp站抓以下的distfiles 
linux_base-5.2.tgz 
linux_devel-0.2.tgz 
再找個有linux的ftp站, 抓以下的rpm 
glibc-2.1.1-6.i386.rpm 
tcl-8.0.5-30.i386.rpm 
kernel-headers-2.0.36-0.7.i386.rpm 
先用pkg_add安裝 linux_base-5.2.tgz跟 linux_devel-0.2.tgz, 
再用rpm依順序安裝: 
kernel-headers-2.0.36-0.7.i386.rpm 
glibc-2.1.1-6.i386.rpm 
tcl-8.0.5-30.i386.rpm 
PS:安裝方法為 
rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm  
如果碰到該package已安裝的訊息, 請改用 
rpm -U --ignoreos --root /compat/linux --dbpath /var/lib/rpm  
0-3. 『建立Oracle需要的user』 
vi /etc/group, 加入一行 
dba:*:82:oracle 
vi /etc/shells, 加入一行 
/compat/linux/bin/bash 
vipw 加入一行 
oracle::82:82::0:0:Oracle DBA:/usr/local/oracle:/compat/linux/bin/bash 
建立目錄 
mkdir /home/oracle; ln -s /home/oracle /usr/local/oracle 
mkdir -p /usr/local/oracle/etc 
echo WHATEVER:/usr/local/oracle:Y > /usr/local/oracle/etc/oratab 
ln -s /usr/local/oracle/etc/oratab /etc/oratab 
chown -R oracle:dba /home/oracle 
抓source, 解開 
fetch ftp://ftp.oracle.com/pub/www/oracle8/linux/Oracle8051EE_Intel.tgz 
找個source目錄解開 
mkdir /usr/local/oracle/source; cd /usr/local/oracle/source 
tar -xzspvf /usr/local/oracle/Oracle8051EE_Intel.tgz 
0-4. 『建立oracle使用者的環境變數』 
先su成oracle, 編輯/usr/local/oracle/.profile 
加入以下幾行 
ORACLE_BASE=/home/oracle; export ORACLE_BASE 
ORACLE_HOME=/home/oracle; export ORACLE_HOME 
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH 
ORACLE_SID=WHATEVER; export ORACLE_SID 
ORACLE_TERM=386x; export ORACLE_TERM 
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip; export CLASSPATH 
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin:\ 
/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:\ 
$ORACLE_HOME/bin; 
1.「開始安裝」 
1-1.『詳細安裝過程』 
cd /usr/local/oracle/source/orainst; ./orainst 
a) 請選Custom install 
b) 按兩次OK後會看到Installation Activity Choice 
請選Install, Upgrade, or De-Install Software 
c) Installation Options請選 
Install New Product - Do Not Create DB Objects 
d) ORACLE_BASE和ORACLE_HOME請填/usr/local/oracle 
e) Logging and Status請直接按enter跳過 
f) Install Source請選Install from Staging Area 
g) Source Staging Area請填入 /usr/local/oracle/source 
h) NLS選All Languages 
i) 再按一次OK後會進入Software Asset Manager 
j) 再按一次OK後會問DBA group, 填入dba 
k) OSOPER group也是填dba 
l) Choose JDBC Components的地方全部都選 
m) ORACLE_DOC不變, 直接enter過 
n) Documentation Format就隨意了 
o) 然後就正式開始安裝了, 安裝途中出現任何錯誤都ignore它 
後面我們會慢慢解決這些問題 
1-2.『先解決linked的問題』 
這問題的解決方法很無厘頭, 但是卻很有用.... 
cp /usr/local/oracle/source/bin/* /usr/local/oracle/bin 
2.「修改錯誤」 
安裝時會碰到六個錯誤, 我們必須就來一一解決吧, 
請使用oracle這個user去作。 
2-1.『修改"Oracle Names"的錯誤』 
cd /usr/local/oracle/source/lib 
vi sysliblist, 把 "-lnsl -lm"的部份砍掉, 換以下的內容 
/compat/linux/lib/ld-linux.so.2 
/compat/linux/lib/libm.so.6 
/compat/linux/lib/libdl.so.2 
/compat/linux/lib/libpthread.so.0 
/compat/linux/lib/libc.so.6 
/compat/linux/lib/libnsl.so.1 
/compat/linux/usr/lib/libtcl.so 
/compat/linux/usr/lib/libtcl8.0.so 
cd /usr/local/oracle/network/lib 
vi env_network.mk, 修改以下的部份 
150c150, 151 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
223c224, 225 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
632c634, 635 
< MY_TMP_FLAGS= -ldl -lc 
--- 
> #MY_TMP_FLAGS= -ldl -lc 
> MY_TMP_FLAGS= 
make -f ins_network.mk names_targs 
2-2.『修改"warp executable"的錯誤』 
cd /usr/local/oracle/plsql/lib 
vi env_plsql.mk, 修改以下的部份 
149c149, 150 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
222c223, 224 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
make -f ins_plsql.mk install 
2-3.『修改"Oracle Trace"的錯誤』 
cd /usr/local/oracle/otrace/lib 
vi env_otrace.mk, 修改以下的部份 
149c149, 150 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
222c223, 224 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
make -f ins_otrace.mk install 
2-4.『修改"Oracle8 Standard RDBMS"的錯誤』 
cd /usr/local/oracle/rdbms/lib 
vi env_rdbms.mk, 修改以下的部份 
149c149, 150 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
222c223, 224 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
680c682, 684 
< LDLIBS+=-ldl $(NETLIBS) $(NETLIBS) $(NETLIBS) $(NETLIBS) $(NETLIBS) \ 
< $(LLIBSQL) $(LLIBSQL) 
--- 
> #LDLIBS+=-ldl $(NETLIBS) $(NETLIBS) $(NETLIBS) $(NETLIBS) $(NETLIBS) \ 
> # $(LLIBSQL) $(LLIBSQL) 
> LDLIBS+=$(NETLIBS) $(NETLIBS) $(NETLIBS) $(NETLIBS) $(NETLIBS) \ 
> $(LLIBSQL) $(LLIBSQL) 
make -f ins_rdbms.mk install 
2-5.『修改"Oracle Intelligent Agent"的錯誤』 
cd /usr/local/oracle/network/lib 
vi env_oemagent.mk, 修改以下部份 
149c149, 150 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
222c223, 224 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
477,478c479,482 
< LIBTCL=/usr/lib/libtcl.so 
< LLIBTCL= -ltcl 
--- 
> #LIBTCL=/usr/lib/libtcl.so 
> #LLIBTCL= -ltcl 
> LIBTCL = /compat/linux/usr/lib/libtcl.so 
> LLIBTCL = /compat/linux/usr/lib/libtcl.so 
vi ins_oemagent.mk, 修改以下部份 
27c27,28 
< MY_TMP_FLAGS= -ldl -lc 
--- 
> #MY_TMP_FLAGS= -ldl -lc 
> MY_TMP_FLAGS= -lcrypt 
make -f ins_oemagent.mk install 
2-6.『修改"SQL*Plus"的錯誤』 
cd /usr/local/oracle/sqlplus/lib/env_sqlplus.mk 
150c150, 151 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
223c224,225 
< EXSYSLIBS= -ldl 
--- 
> #EXSYSLIBS= -ldl 
> EXSYSLIBS= 
make -f ins_sqlplus.mk install 
3.「開始玩Oracle吧」 
3-1.『root.sh的修改』 
cd /usr/local/oracle/orainst 
vi root.sh, 修改以下部份 
1c1 
< #!/usr/bin/sh 
--- 
> #!/compat/linux/bin/sh 
34c34 
< CHOWN=/bin/chown 
--- 
> CHOWN=/usr/sbin/chown 
用"root"去跑/usr/local/oracle/orainst/root.sh 
a) 選"Y" 
b) 填入/usr/local/oracle/bin 
3-2.『讓Oracle跑起來吧』 
cp /usr/local/oracle/dbs/init.ora /usr/local/oracle/dbs/initWHATEVER.ora 
vi /usr/local/oracle/dbs/initWHATEVER.ora, 把DEFAULT改成WHATEVER 
/usr/local/oracle/bin/svrmgrl, 應該會無誤的進入svrmgrl 
connect internal 
startup 
create database WHATEVER character set WE8ISO8859P1; 
alter tablespace SYSTEM 
add datafile ’/usr/local/oracle/dbs/dbs2WHATEVER.dbf’ 
size 10M autoextend on; 
@$ORACLE_HOME/rdbms/admin/catalog.sql 
@$ORACLE_HOME/rdbms/admin/catproc.sql 
@$ORACLE_HOME/sqlplus/admin/pupbld.sql 
(這裡會有error, 不用管他也~~) 
然後就可以sqlplus sys/manager 
也可以 select * from tab; 
當然也可以quit啦 
到此一切完成!!!
全新的路由器不仅让你更稳定快速地连接无线网络,更可以让家中的智能设备连接在一起。
  关键词:在FreeBSD 3.x 下安裝Oracle 8.0.5