前言
因為公司的需要用到ORACLE 所以在家也安裝一套 ORACLE 作為測試用途
之前安裝過最穩定的版本是 REDHAT 6.2+ORACLE 816 +Jdk1.1.8_v3
事過境遷 oracle 8i 已經不開放下載 10G 又耗硬體 考量測試需求還是安裝9i
另一方面轉過來用debian 大概也有一兩年了 喜歡Debian 不像 REDHAT 體積龐大
裝半天也不知道到底在安裝了哪些套件 所以就選擇 sarge 安裝 基本上 某些在
Redhat的問題 這邊也差不多會發生 參考了一堆文件 終於把它裝好了 可惜網路上
幾乎沒有針對sarge +oracle 9i的安裝說明 在下借摩托學園做份筆記也分享給網友
主要硬體:
CPU:P4-1.8 (Celeron)
RAM:768MB (SDRAM)
VGA:NVIDIA GF2
Mainboard:MSI 845 Pro2
H.D.D:Seagate ST380011A 80G
準備
a.Debian 3.1 sarge (net-install )
您可以到debian站台下載 共 108 MB 下載完再燒錄 站台在此:
http://www.debian.org/CD/netinst/
b.oracle 9i:
您可以到ORACLE官方網站上註冊下載 因為版權上的宣告 很抱歉這方面無法提供連結 必須
您親自註冊下載 目前 ORACLE 官方站上的是 ORACLE 9i (9204版本)一共有三個檔案 註冊
後下載請注意 版權宣告上有詳細說明不得用於商業用途 如果您是使用商業用途 請與ORACLE
連絡...檔案大小如下:
ship_9204_linux_disk1.cpio.gz (538,906,295 bytes) (cksum - 245082434)
ship_9204_linux_disk2.cpio.gz (632,756,922 bytes) (cksum -2575824107)
ship_9204_linux_disk3.cpio.gz (296,127,243 bytes) (cksum - 96915247)
c.Java Runtime Environment Version 5.0 Update 6
您可以到 www.java.com 下在 For Linux 的 .bin 檔案 大約 15.99 MB 連結在此:
http://jdl.sun.com/webapps/download/Aut ... leId=10336
安裝 debian
1.安裝 debian 不再贅述 按照一般的安裝法即可 您可以參考 Debian 無痛起步法的說明去安裝
在下的kernel版本是 2.4.27-2-686 請注意 這台機器是拿來當oracle server 的為了避免不必要
的麻煩 所以把所有的磁區切成同一塊 ip address 也請給固定的內部虛擬IP 盡量別用 DHCP
2.升級 debian
安裝完成後下 apt-get update;apt-get upgrade 升級
在下的 sources.list 給各位參考
deb http://debian.linux.org.tw/debian/ stable main contrib non-free
deb http://debian.linux.org.tw/debian/ testing main contrib non-free
deb http://security.debian.org/ sarge/updates main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
3.X-window 安裝
a.安裝 x-window-system-core 請直接下 apt-get install x-window-system-core
2.安裝 nvidia 驅動程式
摩托學園討論區內有不少關於 nvidia 驅動程式的說明 如果您用的kernel版本跟在下
相同 可以參考這篇 第二段部份 有關 kernel-2.4* 安裝 nvidia driver 那段說明連
結在這邊:
viewtopic.php?t=7360&highlight=nvidia+kernel+2.4
3.安裝 桌面管理程式
常見的桌面管理程式有 kde gnome xfct4 等 但考量 使用率 事實上Oracle Server
除了安裝時使用外 其餘時間幾乎不需要進xwindow 所以在下選擇的是最簡單的twm
您可以以root權限下
apt-get install twm xterm 去安裝 它將會安裝 twm xterm menu 等套件
4.安裝jdk
把 jre-1_5_0_06-linux-i586.bin 這個套件放到 /usr/local/ 以root權限下:
chmod 700 jre-1_5_0_06-linux-i586.bin ;讓套件可以執行
./jre-1_5_0_06-linux-i586.bin ; 解壓縮該套件 請注意版權宣告後打yes 同意版權宣告
mv jre1.5.0_06 /usr/localjava/ ; 將 jre1.5.0_06 移到 /usr/local/java 底下 當然您
也可以用連結的方式(ln -s)
5.安裝其餘套件
根據網頁:http://www.geekbone.org/~chaos/debian-ora9i.txt 的說法 安裝oracle 還需要以下套件
make, binutils, gcc, libstdc++2.10-glibc2.2, libstdc++2.10-dev, libstdc++2.9-glibc2.1
您可以直接以root權限下:
apt-get install make binutils gcc libstdc++2.10-glibc2.2 libstdc++2.10-dev
其中 libstdc++2.9-glibc2.1 套件已經找不到了 您可以另外由 debian 套件查詢的網頁去尋找
libstdc++2.9-glibc2.1 記得Distribution 要選any
查詢套件的網頁在此:http://www.debian.org/distrib/packages 本套件存在於oldstable(應該是
woondy裡)
請下載 libstdc++2.9-glibc2.1_2.91.66-4_i386.deb 並以root權限下指令:
dpkg -i libstdc++2.9-glibc2.1_2.91.66-4_i386.deb 安裝此套件
以上 基本功算是完成了 但是一開始安裝時仍會出現問題 它出現的訊息大概是這一句:
/etc/libcwait.so: cannot open shared object file: No such file or directory
需要打上補釘(大陸習慣用語 ^_^) 也就是要上patch 它的 patch 名稱是: p3006854_9204_LINUX.zip
您可以上google去尋找這個patch 這個套件似乎有版權問題(ORACLE?)所以不方便放上連結 請自己尋找
很好找的 當然 還有另外一招解 但是比較不方便 所以在下就不說明 (您可以把錯誤關鍵直接打上google
有很詳細的說明也有solution)
7.調整記憶體 (請根據您的實際狀況更改 詳細可以參考oracle 9i 技術文件 ORACLE官方站可以找到 )
以root權限修改 /etc/sysctl.conf 這個檔案
kernel.shmmax = 402653184
kernel.shmmni = 4096
kernel.shmall = 786432
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
Shmmax 最大共用記憶體 官方文件建議是實體記憶體的1/2
(例如在下就是 384*1024*1024=402653184)
Shmmni 最小記憶體共用量
Shmall 所有記憶體大小 (768*1024)
kermel.sem 四個參數分別代表:
SEMMSL(每個client端最大流量);SEMMNS(系統總訊號流量量);SEMOPM(每次semopm系统挪用
流量);SEMMNI(系統loading最大流量)
8.建立 oracle 帳號
請以root權限執行以下指令:
groupadd dba;
//建立 一個群組叫 dba
useradd -d /opt/oracle -g dba -s /bin/bash oracle;
//建立使用者oracle 參數-g是 群組 -s 是shell宣告 -d 是該使用者的根目錄宣告 請參閱useradd說明
password oracle;
// 建立oracle的密碼
mkdir /opt/oracle;
//建立/opt/oracle的目錄
chown -R oracle.dba /opt/oracle;
//改變/opt/oracle子目錄的權限;
9.設定使用者 oracle 的環境
編輯 /opt/oracle/.bash_profile
if [ -f ~/.bashrc ]
then
. ~/.bashrc
fi
編輯 /opt/oracle/.bashrc (這是可以改動的 請依你的實際狀況更改)
export LC_ALL=en_US
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE
export ORACLE_TERM=xterm
export ORACLE_SID=orcl ; 你的ORACLE SID
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$PATH:$ORACLE_HOME/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
存檔以後 請用oracle這個帳號登入看看 沒問題就可以開始安裝oracle了
10.安裝 oracle 9i
由ORACLE官方 網站上 download 的三個檔案 請以 oracle 權限做以下操作:
zcat ship_9204_linux_disk1.cpio.gz | cpio -idmv
zcat ship_9204_linux_disk2.cpio.gz | cpio -idmv
zcat ship_9204_linux_disk3.cpio.gz | cpio -idmv
或者是:
gunzip ship_9204_linux_disk1.cpio.gz ship_9204_linux_disk2.cpio.gz ship_9204_linux_disk3.cpio.gz
它會分別解壓縮三個檔案:
ship_9204_linux_disk1.cpio
ship_9204_linux_disk2.cpio
ship_9204_linux_disk3.cpio
然後再分別 cpio
cpio -idmv < ship_9204_linux_disk1.cpio;
cpio -idmv < ship_9204_linux_disk2.cpio;
cpio -idmv < ship_9204_linux_disk3.cpio;
下載無誤的話 它會出現三個 子目錄:
Disk1 Disk2 Disk3
開啟您的 xwindow : startx
開一個 xterm 進入 Disk1 : cd Disk1
在Disk1裡面打上: ./runInstaller
一切無誤的話 您會看到 oracle 9i 的安裝畫面了
您可以參考這邊的畫面說明:
http://www.vbird.org/somepaper/20050617 ... _linux.pdf
11.後續
安裝完oracle 後在執行 dbca (Database Create admin) 會出現錯誤 類似以下:
../bin/dbca: line 124: 27348 Killed $JRE_DIR/bin/jre -DORACLE_HOME=
$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH
oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
似乎是java的問題 參考網路上的作法是
進 /opt/oracle/bin/ 編輯 dbca 這個指令 找到下面這幾行(最底下) 只留下第三行 其餘註解掉:
#if [ -f /etc/rac_on ]; then
#Run DBCA
$JRE_DIR/bin/jre –native –DORACLE_HOME=$OH……
#else
#Run DBCA
#$JRE_DIR/bin/jre –DORACLE_HOME=$OH……
#fi
如此 dbca 就可以啟動並建立資料庫了...
當然還有 netmgr 編輯 監聽跟連線模式 跟W*indows 版本相同
oemapp dbastudio ;啟動 Entersprise Manager
資料庫建立完成後還要讓dbstart dbshut 指令生效
1.以root權限編輯/etc/oratab:
orcl:/opt/oracle:N
改成
orcl:opt/oracle:Y
2.拷貝 init.orc (以oracle權限執行)
cp /opt/oracle/admin/oracle/pfile/initorcl.ora.11132005143331 $ORACLE_HOME/dbs/initorcl.ora
如此 就可以用 dbstart dbshut 啟動和停止資料庫了 不過別忘了 開啟和關閉監聽程式:
lsnrctl start & lsnrctl stop
12.參考
以上都是參考網路上許許多多文件拼湊而成 您可以參考以下網頁:
http://www.puschitz.com/InstallingOracle9i.shtml
http://www.linuxfans.org/nuke/modules.p ... w&sid=2606
http://www.vbird.org/somepaper/20050617 ... _linux.pdf
http://www.geekbone.org/~chaos/debian-ora9i.txt
http://www.the-love-shack.net/oracle-on-sid.html
http://www.douzhe.com/mirrors/dbanotes. ... -RHEL3.htm
如果您有問題 歡迎您跟在下一起討論 謝謝收看