SRB 3.x 安裝指南 (PostgreSQL) SRB 3.x 安裝測試記錄 (PGCluster)
6月 13
  • 前言

在2005年中的時候,我發現了MCAT使用Oracle作為DBMS的效能是相當好的。大概看了10.2的功能,管理介面上有很大的改善,Oracle更是自誇說沒有資料庫可以勝過他們。後來實際搭配SRB的效能測試,其實也真的不錯,讓SRB成為一個可以上線的系統,而非在PostgreSQL下有很不穩定的表現。

對於初學者來說要去熟讀Oracle的書籍比較好,或者你可以參考這篇文章,而SRB的操作及簡介可以參考PostgreSQL那一篇

  • 安裝Oracle

如果要在Fedora3上面安裝的話,也必須有官方的patch,這些都是你要有Oracle版權才能取得的。
我先假設你已經安裝好了Redhat Enterprise 3 (Update幾都皆可) 。
檢查檔案
以下是必須安裝並版本正確的RPM套件
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
openmotif21-2.1.30-8
setarch-1.3-1
libaio-0.3.96-5
tcl-8.3.5-92.2

以下是必須安裝的RPM套件
binutils

加入至sysctl.conf
kernel.shmmax=2147483648
kernel.sem=250 32000 100 128
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000

執行sysctl -p
新增使用者
groupadd dba # group of users to be granted SYSDBA system privilege
groupadd oinstall # group owner of Oracle files
useradd -c “Oracle software owner” -g oinstall -G dba oracle
passwd oracle

新增目錄
(仔細規劃好你的Oracle安裝目錄)
mkdir -p /u01/app/oracle
chown oracle.oinstall /u01/app/oracle

export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl

在光碟下執行./runinstaller
照著精靈安裝,若是有檢查無法通過的就除錯

  • 設定Oracle

基本上現在已經裝好了,所以如果要使用Oracle的帳號必須設定環境變數至.bashrc
ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
PATH=$PATH:$ORACLE_HOME/bin
使用dbca建立新資料庫
SID為srb,DBName最好也是和SID一樣,不需要照他說的加上domain
建立好資料庫,他會給你一個網址如http://localhost:5000/em
這個是這個資料庫專屬的網頁管理介面。

接下來你可以使用網頁管理介面來做這些工作。簡單地來說,Oracle將表格儲存在表格空間裡,而一個資料庫使用者便可以在預設表格空間裡建立表格,而資料庫使用者也可稱做Schema。

如果你在Oracle系統帳號已經設定好路徑變數,你就可以輸入

[code lang="php"]
sqlplus user@srb
[/code]

他會提示你輸入密碼。這裡的user指的是帳號名稱,你應該先使用剛剛建立資料庫時所說的system帳號登入。

建立表格空間
[code lang="php"]
sql> create tablespace srbmcat datafile
‘$ORACLE_BASE/oradata/mcatdb/mactdb_srbmcat01.dbf’
size 198M autoextend on NEXT 10240K MAXSIZE UNLIMITED
extent management local online;
[/code]

如此我們會建立一個表格空間叫做srbmcat,注意到檔案的路徑,你最好以$ORACLE_BASE/oradata/$sid/$sid_$tablespace這樣的格式來當作這檔案的路徑。建立MCAT資料庫使用者
[code lang="php"]
sql> create user MCAT identified by $mcat_passwd default tablespace srbmcat temporary tablespace temp;
sql> alter user MCAT quota unlimited on srbmcat; sql> grant connect to MCAT;
sql> exit;
[/code]
注意到其中的$mcat_passwd你應該換成自己要的密碼。

你可以先建幾個表格來試試看是否真的能存取。

  • 建置MCAT

這邊的動作請參考PostgreSQL那一篇,我只描述不同的部分。

./configure –enable-oramcat –enable-oraver=10g_32bit –enable-orahome=$ORACLE_HOME –enable-accsctrl –enable-javagui –enable-jdkhome=/usr/java/jdk1.5.0_06/

讀入sql指令檔
sqlplus mcat@srb @catalog.install.ora

編輯data/MdasConfig
注意資料庫使用者若為MCAT
Schema就是MCAT.
此外MDASDBNAME和DB2INSTANCE都是SID

MdasConfig如果最後面有空白或多餘的行的話,可能導致錯誤,記得將他刪除。

Leave a Reply