在vmware上基於紅旗linux 5.0安裝oracle 10g rac

cmyprogress發表於2010-01-04

一、本次安裝規劃如下:

clusterware 叢集軟體 500M ext3
votingdisk 記錄叢集節點資訊 20M raw devices
ocr 儲存叢集配置資訊 100M raw devices
資料庫軟體 資料庫軟體 1.3G ext3
rac資料檔案 儲存所有資料檔案 1.2G asm
恢復檔案 快速恢復資料 2G(可選)


補丁包:


crs 284M

rac 1.04G

[@more@]


二、oracle 10g安裝前的配置

1、劃分割槽

根據本次安裝的規劃,需要使用兩塊共享盤,一塊用於ocr和voting disk,另一塊用於rac資料庫檔案。

因此在已裝好linux的虛擬機器中新增兩塊硬碟,並設定為共享。另外在rac安裝中需要使用兩塊網路卡,因此

在虛擬機器中新增一塊網路卡。

(1)虛擬機器配置

新增兩塊共享硬碟和一塊網路卡,本次安裝裡面虛擬機器網路卡的連線方式都是host-only方式。

注意:使用該共享硬碟的虛擬機器中需要在vmx配置檔案中新增以下資訊:

disk.locking = "false"
disk.shared = "true"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
ide0:1.deviceType = "disk"
ide1:1.deviceType = "disk"

(2)分割槽

劃分兩塊共享硬碟空間,在本次安裝中新增的兩塊硬碟一塊是/dev/hdb,一塊是/dev/hdd,使用fdisk劃分割槽。

/dev/hdb1 用於ocr

/dev/hdb2 用於voting disk

/dev/hdd1 用於rac資料檔案的儲存

2、核心引數設定

(1)核心引數檔案

我的設定如下:

/etc/sysctl.conf

kernel.sem = 256 32000 100 142
#kernel.shmmax = 2147483648
kernel.shmmax = 539870912
kernel.shmall = 2097152
kernel.shmmni = 4096
#fs.file-max = 131072
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
#vm.pagecache = 10 20 30

# for 10gR2 and RAC system
#net.core.rmem_max=262144
net.core.rmem_max=1048576
net.core.wmem_max=262144
#net.core.rmem_default=262144
net.core.rmem_default=1048576
net.core.wmem_default=262144

具體每一個引數的意思可以從網上查詢。

(2)程式限制

/etc/sysconfig/limits.conf中新增如下資訊:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

(3)/etc/pam.d/login

新增如下資訊:
session required /lib/security/pam_limits.so

3、網路設定

(1)配置IP資訊

/etc/sysconfig/network-scripts下ifcfg-eth0 和 ifcfg-eth1檔案內設定

(2)配置閘道器

/etc/sysconfig/network

更改系統顯示使用者名稱以及新增閘道器設定(兩個節點根據具體情況修改):

NETWORKING=yes
HOSTNAME=dbrac1
GATEWAY=192.168.1.2

閘道器設定很重要,在crs安裝中會有一個檢測閘道器的機制,如果沒有正確設定(就是可以ping通),在後續安裝中會有影響。

(3)配置/etc/hosts

我的設定如下(兩個節點必須同樣設定):

192.168.1.100 dbrac1
192.168.1.101 dbrac2

192.168.0.100 dbrac1-priv
192.168.0.101 dbrac2-priv

192.168.1.110 dbrac1-vip
192.168.1.111 dbrac2-vip

vip必須和eth0在同一個網段,測試節點間公共IP和私有IP是否ping通。

4、建立oracle使用者及相關組並設定oracle使用者環境

(1)建立oracle使用者和oinstall組、dba組

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -d /home/oracle oracle
passwd oracle

(2)設定oracle使用者環境

設定.bash_profile內容如下:

export EDITOR=vi
export ORACLE_SID=dbrac1(根據實際情況更改)
export NLS_LANG="american_america.ZHS16CGB231280"
export ORACLE_BASE=/oracle/orac/
export ORACLE_HOME=$ORACLE_BASE/orahome/product/10.2.0/db_1
export ORACLE_CRS_HOME=$ORACLE_BASE/crs/oracle/product/10.2.0/crs_1
export PATH=$ORACLE_HOME/bin:$ORACLE_CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/l
ocal/bin:/usr/X11R6/bin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
umask 022

(3)建立oracle使用者配置檔案中需要的目錄

建立ORACLE_BASE,ORACLE_HOME,ORACLE_CRS_HOME指定的目錄,更改以上目錄的屬主和讀寫許可權

另外還需要建立一個$ORACLE_BASE/oraInventory目錄作為產品清單目錄。

chown -R oracle:oinstall /oracle/orac
chmod -R 775 /oracle/orac

5、繫結裸裝置及ASM設定

(1)繫結裸裝置

ocr和voting disk所使用的是裸裝置方式,因此需要繫結裸裝置。在紅旗linux 5.0中沒有/dev/raw目錄,只需要建立該目錄並執行繫結
裸裝置命令即可以生成相關裸裝置。

為了每次重啟機器後裸裝置都能隨機繫結,因此需要設定/etc/sysconfig/rawdevices檔案

/dev/raw/raw1 /dev/hdb1
/dev/raw/raw2 /dev/hdb2

同時為了每次重啟機器後裸裝置的屬主和讀寫許可權能隨機啟動而及時更改,在隨機啟動檔案/etc/rc.d/rc.local中新增如下命令:

chown -R oracle:oinstall /dev/raw/raw1
chown -R oracle:oinstall /dev/raw/raw2
chmod 640 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chown -R oracle:oinstall /dev/hdb1
chown -R oracle:oinstall /dev/hdb2
chmod 640 /dev/hdb1
chmod 660 /dev/hdb2

(2)ASM設定

配置asm:

執行命令:/etc/init.d/oracleasm configure

建立asm盤命令:/etc/init.d/oracleasm createdisk VOL1 /dev/hdd1

6、啟動系統服務

確認啟動了以下服務:

telnet服務、oracleasm服務、ssh服務

chkconfig --list 服務名

chkconfig --level 345 服務名 on

7、設定ssh服務使用者等同性

在rac安裝過程中需要驗證使用者等同性,用於將安裝資訊複製到其它節點。

(1)生成ssh公私鑰

使用oracle使用者登入,在各個節點執行以下命令:

mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa

(2)複製各節點公鑰

oracle使用者下,為使各節點儲存所有節點的公鑰資訊,在各節點執行如下命令:

複製本地公鑰資訊:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

遠端複製其它節點公鑰資訊,例如在節點1上執行如下命令:
ssh cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

(3)驗證各節點ssh服務使用者等同性

oracle使用者下,在各個節點均需執行如下命令:

ssh dbrac1 date
ssh dbrac2 date
ssh dbrac1-priv date
ssh dbrac2-priv date

第一次使用上面這些命令的時候有時會提示是否要建立連線,選擇“yes”並且輸入密碼以建立連線。

多驗證幾次,當所有節點都能執行上述命令即證明ssh使用者等同性服務設定成功。

三、安裝crs

執行clusterware目錄下的runInstaller

注意選擇安裝crs安裝目錄,ocr和voting disk安裝路徑選擇我們所繫結的裸裝置/dev/raw/raw1,/dev/raw/raw2(我選擇都是external冗餘),

指定叢集設定部分,新增節點2的網路介面資訊(參考節點1設定),指定網路介面部分指定公共網路卡的介面型別為公用。

注意:

(1)如果出現in future之類的錯誤,一般是時間不一致導致,儘管網上很多地方說使用ntpd服務設定時間一致,但是在我的虛擬機器裡面一直不好

使。最後還是使用date直接修改系統時間管用,呵呵。只要保證節點2比節點1 快就行了。

(2)最後必須執行兩個sh檔案,一個是用來更改產品清單目錄讀寫許可權和屬主,一個是用來設定crs服務的。其中在第二個節點執行時最後會報

“eth0不是公共介面。。。。”,這個需要在節點2上執行crs的bin目錄下vipca程式來解決(以root使用者執行), 它會自動繫結eth0為虛擬vip介面。在這部分會驗證閘道器,因此必須設定閘道器以正確透過。

(3)驗證crs服務

執行crs安裝目錄下bin目錄的olsnodes,看是否能準確列出節點。

並執行crs_stat -t,看是否所有節點服務都正常online(vip,gsd,ons等)

四、安裝rac資料庫軟體

執行database目錄下的runInstaller

注意選擇資料庫軟體安裝目錄(ORACLE_HOME),如果警告記憶體不夠可以跳過繼續執行。在這部分僅安裝資料庫軟體,同樣這部分也保證節點2比

節點1的時間快。最後提示必須執行一個root.sh,在各節點上按順序執行。

五、安裝crs及rac補丁包

補丁包名:p6810189_10204_linux.zip

(1)安裝crs補丁包

執行包裡面的runInstaller,最後提示必須先關掉crs服務再執行crs的install目錄下的root102.sh

(2)安裝rac補丁

最後也會提示執行一個指令碼。

六、建立資料庫

執行dbca建立資料庫

其中先選擇“自動配置管理”,建立asm磁碟組,我這裡只建立一個磁碟組DGDATA,之後再“建立資料庫”。

為了儘快看到建立效果,可以勾選不建立一些如xml之類的資料檔案。


這樣基於紅旗linux 5.0的oracle 10g rac安裝便完成,可以透過建立資料庫使用者及資料表進行驗證。

可以使用srvctl命令來管理rac資料庫。

關閉rac資料庫的流程:

su - oracle
srvctl stop database -d dbrac
srvctl stop asm -n dbrac1
srvctl stop asm -n dbrac2
srvctl stop nodeapps -n dbrac1
srvctl stop nodeapps -n dbrac2
這樣就可以關機了

啟動rac資料庫的流程:

機器啟動後crs服務會自動開啟節點服務、asm服務以及資料庫服務(這個需要在隨機啟動檔案/etc/rc.d/rc.local裡面加上這條命令:

crs安裝目錄/bin/crsctl start crs)

重啟rac資料庫的流程:

先關閉rac資料庫(執行關閉rac資料庫的流程)

srvctl start nodeapps -n dbrac1
srvctl start nodeapps -n dbrac2
srvctl start asm -n dbrac1
srvctl start asm -n dbrac2
srvctl start database -d dbrac

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22534063/viewspace-1030233/,如需轉載,請註明出處,否則將追究法律責任。

相關文章