?
http://140.138.144.144/~freebsd/application/oracle/oracle.htm
發信人: nekobe.bbs@hikaru.tku.net (Cyberexistence), 看板: BSD 標 題: [How-To] 在FreeBSD 3.x 下安裝 Oracle 8.0.5 發信站: 迷你圈圈站 (Thu Jan 6 01:16:41 2000) 轉信站: bbs.yzu!news.yzu!news.ncu!news2.csie.ncu!news.csie.ncu!netnews.csie.nc
-1.來由 這一篇是小弟參考諸多文件的說法, 加上一點實驗結果, 在3.3-STABLE下 的成功範例, 雖然都建立成功, 也把DB作起來了, 但是由於本身不熟悉的 關係, 所以沒作全面性的測試跟Benchmark, 有興趣的朋友可以試試看:)
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啦 到此一切完成!!!
好玩嗎?!
-- ============================================================================== Nekobe Wu. (吳遵先) | http://hikaru.tku.net/ nekobe@tku.net | (Pure DB web bbs) nekobe@hikaru.tku.net | http://www.nekobe.tku.net/ | (Personal Homepage) Network, FreeBSD, Windows NT, HTML, PHP, Perl, Database....
-- ※ Origin: 迷你圈圈站 ◆ From: hikaru.tku.net --
[MySql][HOW-TO] Windows平台如何编译MySQL代码 [Sql Server]整合JBoss 3.x 和MS SQL Server 2000
|