数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
How-To] 在FreeBSD 3.x 下安裝 Oracle 8.0.5

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

?

http://140.138.144.144/~freebsd/application/oracle/oracle.htm

發信人: [email protected] (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/
[email protected] | (Pure DB web bbs)
[email protected] | http://www.nekobe.tku.net/
| (Personal Homepage)
Network, FreeBSD, Windows NT, HTML, PHP, Perl, Database....

--
※ Origin: 迷你圈圈站 ◆ From: hikaru.tku.net
--




相关文章

相关软件