Vmware server1.0 + Linux As4 + Oracle 10g RAC ORACLE 10G RAC for Linux AS4 安裝
作者:秋風(fēng)no.1,學(xué)習(xí)測(cè)試所用,歡迎轉(zhuǎn)載。 由于本人的硬件條件所限,所以采用的是虛擬機(jī)技術(shù),虛擬機(jī)軟件采用的是vmware server 1.0 宿主機(jī),dell 2850,配置如下 _____________________________________ Intel(R) Xeon(TM) CPU 2.80GHz 兩顆 內(nèi)存2G 硬盤144G os linux as 3 虛擬服務(wù)器 2臺(tái),配置如下 ______________________________________ Intel(R) Xeon(TM) CPU 2.80GHz 1顆 內(nèi)存1G 硬盤15G os linux as 4 1.安裝vmware server軟件 從www.下載vmware server 1.0 for linux軟件,安裝過程很簡單,基本上是一路Enter.只是需要sn,在這里提供幾個(gè)使用 928WH-Y65AW-21394-4C70J,92EY4-Y4NAT-23L07-4U7CH,9AWPN-Y400W-2179N-4K5HM 安裝vmware server console,以便遠(yuǎn)程管理vmware server 2.安裝虛擬服務(wù)器操作系統(tǒng) 我用的是OS是Redhat AS4,kernel 2.6.9-22,虛擬出兩塊網(wǎng)卡,開始安裝操作系統(tǒng),主機(jī)名叫ha1pub,eth0:10.1.250.17,eth1:192.168.100.100.具體過程省略.安裝結(jié)束后,使用ntsysv命令,關(guān)閉掉一些不常使用的進(jìn)程,只留下一下一些需要的,如ssh,ftp等等.然后關(guān)機(jī)! 然后cp ha1pub的所有配置文件到一個(gè)新的目錄,在虛擬機(jī)console里面打開,就會(huì)出現(xiàn)一個(gè)新的系統(tǒng),但是由于里面的ip信息和第一臺(tái)機(jī)器的重復(fù),進(jìn)入系統(tǒng)后修改一下 編輯/etc/sysconfig/network文件,將ha1pub修改為ha2pub,然后修改ip,eth0:10.1.250.18,eth1:192.168.100.200. 注意,redhat系統(tǒng)里面,ip的配置文件ifcfg-eth文件里面,有可能包含mac地址的信息,需要?jiǎng)h除掉,否則會(huì)mac地址重復(fù)的錯(cuò)誤.ha2pub也關(guān)機(jī) 3.設(shè)置共享存儲(chǔ) 由于安裝RAC需要共享存儲(chǔ),所以必須為兩臺(tái)機(jī)器設(shè)置共享存儲(chǔ),我使用vmware-vdiskmanager命令創(chuàng)建一些虛擬硬盤 ________________________________________________________________________ vmware-vdiskmanager -c -s 1Gb -a lsilogic -t 2 "/vmware/share/ocfs.vmdk" |用于Oracle集群注冊(cè)表文件和CRS表決磁盤 ________________________________________________________________________ vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm1.vmdk" |用于Oracle的數(shù)據(jù)文件 ________________________________________________________________________ vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm2.vmdk" |用于Oracle的數(shù)據(jù)文件 ________________________________________________________________________ vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm3.vmdk" |用于Oracle的數(shù)據(jù)文件 ________________________________________________________________________ vmware-vdiskmanager -c -s 2Gb -a lsilogic -t 2 "/vmware/share/asm4.vmdk" |用于Oracle的閃回恢復(fù)區(qū) ____________________________________________________________________ 然后分別在兩個(gè)虛擬服務(wù)器的的配置文件,ha1.vmx和ha2vmx文件里面添加如下信息 scsi1.present = "TRUE" scsi1.virtualDev = "lsilogic" scsi1.sharedBus = "virtual" scsi1:1.present = "TRUE" scsi1:1.mode = "independent-persistent" scsi1:1.filename = "/vmware/share/ocfs.vmdk" scsi1:1.deviceType = "disk" scsi1:2.present = "TRUE" scsi1:2.mode = "independent-persistent" scsi1:2.filename = "/vmware/share/asm1.vmdk" scsi1:2.deviceType = "disk" scsi1:3.present = "TRUE" scsi1:3.mode = "independent-persistent" scsi1:3.filename = "/vmware/share/asm2.vmdk" scsi1:3.deviceType = "disk" scsi1:4.present = "TRUE" scsi1:4.mode = "independent-persistent" scsi1:4.filename = "/vmware/share/asm3.vmdk" scsi1:4.deviceType = "disk" scsi1:5.present = "TRUE" scsi1:5.mode = "independent-persistent" scsi1:5.filename = "/vmware/share/asm4.vmdk" scsi1:5.deviceType = "disk" disk.locking = "false" diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.DataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0" 保存后,打開vmware console就可以看到添加的硬盤,啟動(dòng)ha1pub和ha2pub!隨便進(jìn)入一臺(tái)系統(tǒng),用fdisk格式化這些新添加的硬盤. fdisk -l可以看到如下 __________________________________________________________________ Disk /dev/sda: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 275 2104515 82 Linux swap /dev/sda3 276 1958 13518697+ 83 Linux Disk /dev/sdb: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 130 1044193+ 83 Linux Disk /dev/sdc: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 261 2096451 83 Linux Disk /dev/sdd: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdd1 1 261 2096451 83 Linux Disk /dev/sde: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sde1 1 261 2096451 83 Linux Disk /dev/sdf: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdf1 1 261 2096451 83 Linux ____________________________________________________________________ 修改/etc/hosts文件,如下所示 127.0.0.1 localhost(這里必須這樣修改,否則RAC節(jié)點(diǎn)名出現(xiàn)在回送地址中,安裝RAC期間可能會(huì)報(bào)錯(cuò)) 10.1.250.17 ha1pub 10.1.250.18 ha2pub 192.168.100.100 ha1prv 192.168.100.200 ha2prv 10.1.250.19 ha1vip 10.1.250.20 ha2vip 4.調(diào)整網(wǎng)絡(luò)設(shè)置,設(shè)置共享內(nèi)存和信號(hào)參數(shù) 分別在ha1pub和ha2pub上,編輯/etc/sysctl.conf文件,添加如下信息,這些信息可以根據(jù)自己的機(jī)器實(shí)際情況來調(diào)整 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=262144 net.core.wmem_max=262144 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 5. 配置 hangcheck-timer 內(nèi)核模塊 該模塊是用來監(jiān)控集群的狀態(tài)情況,linux as4中已經(jīng)安裝了此模塊,使用下面的命令確認(rèn) find /lib/modules -name "hangcheck-timer.o" 看看有沒有,如果有,配置并加載該模塊 #echo "/sbin/modprobe hangcheck-timer" >> /etc/rc.local #modprobe hangcheck-timer #grep Hangcheck /var/log/messages | tail -2 Jul 31 15:01:49 ha2pub kernel: Hangcheck: starting hangcheck timer 0.5.0 (tick is 30 seconds, margin is 180 seconds). 如果看到上面的信息,說明模塊的設(shè)置工作正確 6. 在兩個(gè)節(jié)點(diǎn)上創(chuàng)建oracle用戶和目錄 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle 以oracle用戶登陸,分別建立兩個(gè)目錄 mkdir /home/oracle/app 用于安裝oracle 數(shù)據(jù)庫 mkdir /home/oracle/orcl 用于Oracle 集群文件系統(tǒng) (OCFS) 的掛載點(diǎn) 修改oracle用戶的.bash_profile文件如下所示 __________________________________________________________________ export ORACLE_BASE=/home/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORA_CRS_HOME=/home/oracle/app/oracle/product/10.2.0/crs/ export ORACLE_SID=orcl1 export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin export ORACLE_TERM=xterm export TNS_ADMIN=$ORACLE_HOME/network/admin export ORA_NLS10=$ORACLE_HOME/nls/data export LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$ORACLE_HOME/JRE export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export THREADS_FLAG=native export TEMP=/tmp export TMPDIR=/tmp ________________________________________________________________________ 注意,在第二個(gè)節(jié)點(diǎn)上,修改SID=orcl2 7.建立節(jié)點(diǎn)之間的互信 我采用的是ssh,具體過程有很多文檔說明,這里省略.分別要建立root用戶,oracle用戶的互信. 然后在分別以root用戶,oracle在兩個(gè)節(jié)點(diǎn)上執(zhí)行如下命令 ssh localhost ssh ha1pub ssh ha2pub ssh ha1prv ssh ha2prv 8.安裝配置ocfs2 從http://oss.oracle.com/projects/ocfs2/下載與自己操作系統(tǒng)版本相符合的ocfs,ocfs console 比如我的內(nèi)核是2.6.9-22.EL,于是我下載的就是ocfs2-2.6.9-22.EL-1.2.2-1.i686.rpm,這點(diǎn)非常重要 安裝很簡單,把該下載的包都下載了rpm安裝就ok了 8.1 ocfs2的配置 先使用下面命令禁用SElinux #system-config-securitylevel & 然后在集群中的每個(gè)節(jié)點(diǎn)上生成和配置 /etc/ocfs2/cluster.conf 可以使用ocfs2console命令調(diào)出圖形界面,將ha1pub和ha2pub兩個(gè)節(jié)點(diǎn)都加入,點(diǎn)擊apply,然后退出. 在/etc/ocfs2/目錄下面將有cluster.conf文件,內(nèi)容應(yīng)該如下 ______________________________________________________ node: ip_port = 7777 ip_address = 10.1.250.17 number = 0 name = ha1pub cluster = ocfs2 node: ip_port = 7777 ip_address = 10.1.250.18 number = 1 name = ha2pub cluster = ocfs2 cluster: node_count = 2 name = ocfs2 ________________________________________________________ 接著編輯 /etc/init.d/o2cb, 刪除開始帶 #的配置行 然后 /etc/init.d/o2cb offline ocfs2 /etc/init.d/o2cb unload ocfs2 /etc/init.d/o2cb configure ocfs2 輸入y就ok了 8.2 創(chuàng)建ocfs2文件系統(tǒng) mkfs.ocfs2 -b 4k -C 32k -L oradatafiles /dev/sdb1 然后掛載ocfs2文件系統(tǒng) mount -t ocfs2 -o datavolume /dev/sdb1 /home/oracle/orcl 修改/etc/fstab,添加 /dev/sdb1 /home/oracle/orcl ocfs2 _netdev,datavolume 0 0 8.3 調(diào)O2CB的心跳閥值 修改文件/etc/sysconfig/o2cb將O2CB_HEARTBEAT_THRESHOLD 設(shè)置為 301 修改文件 /etc/sysconfig/o2cb 后,需要更改 o2cb 配置。同樣,應(yīng)在集群的所有節(jié)點(diǎn)上執(zhí)行以下操作。 # umount /home/oracle/orcl/ # /etc/init.d/o2cb unload # /etc/init.d/o2cb configure reboot兩個(gè)節(jié)點(diǎn) 9. 安裝,配置自動(dòng)存儲(chǔ)管理ASM2.0 可以從http://www.oracle.com/technology ... x/asmlib/rhel4.html這里下載相關(guān)rpm包 rpm安裝過程省略 執(zhí)行/etc/init.d/oracleasm configure 默認(rèn)用戶輸入oracle,默認(rèn)組輸入dba,其他都y,y就可以了 9.1創(chuàng)建ASM磁盤 在一個(gè)節(jié)點(diǎn)上執(zhí)行 /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1 /etc/init.d/oracleasm createdisk VOL2 /dev/sdd1 /etc/init.d/oracleasm createdisk VOL3 /dev/sde1 /etc/init.d/oracleasm createdisk VOL4 /dev/sdf1 創(chuàng)建好后,執(zhí)行/etc/init.d/oracleasm listdisks可以看到 VOL1 VOL2 VOL3 VOL4 然后在另外一個(gè)節(jié)點(diǎn)上執(zhí)行 /etc/init.d/oracleasm scandisks 完成后執(zhí)行 /etc/init.d/oracleasm listdisks應(yīng)該可以看到和的一個(gè)節(jié)點(diǎn)相同的內(nèi)容 10. 安裝Oracle 10G cluster軟件 從oracle網(wǎng)站下載10201_clusterware_linux32 以oracle用戶登錄,unset掉一些環(huán)境變量,如下 $ unset ORA_CRS_HOME $ unset ORACLE_HOME $ unset ORA_NLS10 $ unset TNS_ADMIN 開始安裝cluster軟件 ./runInstaller -ignoreSysPrereqs *確認(rèn)安裝目錄是/home/oracle/app/oracle/product/10.2.0/crs/ *如果愿意可以將clustername由crs修改成其他的名稱 *添加兩個(gè)節(jié)點(diǎn),如下所示 ____________________________________________________________________ Public Node Name Private Node Name Virtual Node Name ha1pub ha1prv ha1vip ha2pub ha2prv ha2vip ____________________________________________________________________ *要修改一下eth0的類型,他默認(rèn)的是private,修改為public *指定OCR和mirror的路徑 Specify OCR Location: /home/oracle/orcl/OCRFile Specify OCR Mirror Location:/home/oracle/orcl/OCRFile_mirror *指定Voting磁盤路徑 Voting Disk Location: /home/oracle/orcl/CSSFile Additional Voting Disk 1 Location:/home/oracle/orcl/CSSFile_mirror1 Additional Voting Disk 2 Location:/home/oracle/orcl/CSSFile_mirror2 *安裝快結(jié)束時(shí).會(huì)要求以root執(zhí)行orainsRoot.sh和root.sh腳本,以root用戶打開一個(gè)新的終端,一個(gè)一個(gè)節(jié)點(diǎn)順序執(zhí)行,千萬不要搶時(shí)間一起執(zhí)行 *執(zhí)行最后一個(gè)root.sh的時(shí)候,可能會(huì)報(bào)""eth0" is not public.Public interfaces should be used to configure virtual IPs."這樣的錯(cuò)誤.這時(shí)候需要以root用戶去執(zhí)行$ORA_CRS_HOME/bin/vipca,選擇兩個(gè)節(jié)點(diǎn),配置一下虛擬ip的信息. 至此,clusterware安裝就ok了,檢查一下集群節(jié)點(diǎn) $ORA_CRS_HOME/bin/olsnodes -n ha1pub 1 ha2pub 2 11. 安裝Oracle 10g軟件 從oracle網(wǎng)站下載10201_database_linux32 unset掉一些環(huán)境變量 $ unset ORA_CRS_HOME $ unset ORACLE_HOME $ unset ORA_NLS10 $ unset TNS_ADMIN Oracle的安裝省略,既然敢玩RAC,肯定以前也安裝過oracle,只是有些地方需要注意 *節(jié)點(diǎn)的選擇上,一定要選上所有的節(jié)點(diǎn) *選擇 "Install database software only",先不要建instance,等數(shù)據(jù)庫安裝完畢后時(shí)候dbca創(chuàng)建 *安裝完成后,需要執(zhí)行root.sh腳本,不要著急,一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)執(zhí)行 12. 建立TNS偵聽 以oracle用戶執(zhí)行 $ netca & *選擇所有節(jié)點(diǎn) *選擇Listener configuration *其他的都選擇默認(rèn)即可 結(jié)束后可以驗(yàn)證一下偵聽是否已經(jīng)在所有節(jié)點(diǎn)上運(yùn)行 ps -ef|grep LISTEN 應(yīng)該可以看到 /home/oracle/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_HA1PUB -inherit 另外一個(gè)節(jié)點(diǎn)應(yīng)該是 /home/oracle/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_HA2PUB -inherit 13. 創(chuàng)建數(shù)據(jù)庫實(shí)例 以oracle用戶在任一節(jié)點(diǎn)執(zhí)行 dbca & *選擇 Create a Database *選擇所有節(jié)點(diǎn) *選擇Custom Database *全局?jǐn)?shù)據(jù)庫名輸入orcl,SID也是orcl *選擇使用相同的密碼對(duì)所有用戶 *存儲(chǔ)選項(xiàng)選擇 use ASM *修改“Create server parameter file (SPFILE)”為 /home/oracle/orcl/dbs/spfile+ASM.ora。所有其他選項(xiàng)可以保留其默認(rèn)值。 *在ASM Disk Groups配置界面,選擇Create New,會(huì)顯示之前通過ASMlib創(chuàng)建的4個(gè)卷VOL1到VOL4 選擇前三個(gè),VOL1,VOL2,VOL3,Disk group name輸入DATA,Redundancy,選擇Normal,單擊ok,完成后再次單擊Create New.選擇最后一個(gè)VOL4,Disk group name輸入FLASH_RECOVERY_AREA, Redundancy選擇External,單擊ok,完成ASM的磁盤組創(chuàng)建. *Database File Locations 選擇DATA *Recovery Configuration 選擇FLASH_RECOVERY_AREA *Database Content由于是測(cè)試,可以取消掉所有選項(xiàng) *Service name 可以輸入orcltest,TAF Policy選擇Basic *Database Storage 根據(jù)自己系統(tǒng)的硬件條件可以更改一些參數(shù). 完成dbca,Oracle RAC就可以所已經(jīng)完全安裝成功了! 14. RAC的啟動(dòng)和關(guān)閉 如果都遵循了上面的安裝步驟,那么每次節(jié)點(diǎn)重新啟動(dòng)的時(shí)候,所有服務(wù)都會(huì)自動(dòng)啟動(dòng),如果需要關(guān)閉或者啟動(dòng)某個(gè)節(jié)點(diǎn),如下所示 *停止RAC 1.emctl stop dbconsole 2.srvctl stop instance -d orcl -i orcl1 3.srvctl stop asm -n ha1pub 4.srvctl stop nodeapps -n ha1pub *啟動(dòng)RAC 和上面的步驟正好相反即 1.srvctl start nodeapps -n ha1pub 2.srvctl start asm -n ha1pub 3.srvctl start instance -d orcl -i orcl1 4.srvctl start dbconsole 15. RAC的驗(yàn)證和測(cè)試 有很多文檔寫的都很詳細(xì),本文就不贅述了 16. 參考文檔 在 Linux 和 FireWire 上構(gòu)建您自己的 Oracle RAC 10g 第 2 版集群 作者:Jeffrey Hunter |
|