安裝前準備:筆者主機為Fedora 14,安裝所需的軟件:
??????????????? 《紅帽企業級LinuxAS版》RedhatEnterpriseLinuxASv5.4rhel-server-5.4-i386-dvd.iso
?????????? ? ?? ? linux_x86_11gR1_clusterware.zip
? ? ? ? ????????? oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm
???? ? ? ? ?????? oracleasmlib-2.0.4-1.el5.i386.rpm
?????? ? ? ? ???? oracleasm-support-2.1.3-1.el5.i386.rpm
???????? ? ? ? ?? linux_11gR1_database_1013
????????? ? ? ? ? 足夠的硬盤空間,虛擬機
?
硬盤選擇動態擴展,大小為20G,主機預留30G的硬盤空間
?
虛擬機的配置
?
首先安裝虛擬機軟件VirtualBox,到
http://www.virtualbox.org/wiki/Downloads
下載適合自己的rpm包
筆者使用的是fedora系統,故使用如下命令安裝
rpm -Uvh VirtualBox-4.0-4.0.0_69151_fedora14-1.i686.rpm
創建虛擬機,這個地球人都會,注意以下四點:
1、內存大于等于1200M否則裝rac的時候會報錯
2、創建新的硬盤作為虛擬機的硬盤,不要使用已有的硬盤作為虛擬機的硬盤
3、 單擊虛擬機的設置選項,點擊Storage,在存儲樹中使用“SATA控制器”作為存儲控制器,這一步一定要使用“SATA控制器”,默認的IDE控制器 無法在一個控制器上添加多個硬盤。關于這一步,讀者可以先刪除現有的IDE控制器,然后添加SATA控制器,最后再把以創建好的虛擬機硬盤添加到控制器 中。
4、虛擬機硬盤選擇動態擴展,大小為20G
4、單擊虛擬機的設置選項,點擊網絡選項卡,啟用網絡連接1和網絡連接2,并都使用橋接到本地的
?
同一塊
?
網卡中,筆者這里都橋接到主機的eth0網卡。
安裝配置第一臺RHEL5
?
--rac1
?
安裝RHEL5網上教程很多本文不再贅述。注意滿足下面三點:
安裝下列軟件包:
????????? GNOME Desktop Environment
????????? Editors
????????? Graphical Internet
????????? Text-based Internet
????????? Development Libraries
????????? Development Tools
????????? Server Configuration Tools
????????? Administration Tools
????????? Base
????????? System Tools
????????? X Window System
配置 ? IP地址如下
????????? hostname: rac1.localdomain
-
IP Address eth0: 192.168.2.101 (public address)
-
Default Gateway eth0: 192.168.2.1 (public address)
-
IP Address eth1: 192.168.0.101 (private address)
-
Default Gateway eth1: none
禁用SELINUX和防火墻
安裝完成后,在虛擬機上執行,SWAP分區大于等于2g
1、安裝所需軟件包
關于在VirtualBox上掛載iso鏡像在4.0版本中似乎有bug,筆者經常不能正常識別光盤鏡像中的文件,這里筆者采用先在主機配置共
享,將iso鏡像中拷貝到RHEL5中再進行安裝的方式進行。關于如何在fedora下設置共享,請讀者自行研究,不在本文討論范圍。
# mount -o loop 《紅帽企業級LinuxAS版》RedhatEnterpriseLinuxASv5.4rhel-server-5.4-i386-dvd.iso /mnt
掛載iso鏡像后,執行
cd #/mnt/Server
rpm -Uvh binutils-2.*
rpm -Uvh compat-libstdc++-33*?
rpm -Uvh elfutils-libelf-0.*?
rpm -Uvh elfutils-libelf-devel-*?
rpm -Uvh gcc-4.*?
rpm -Uvh gcc-c++-4.*?
rpm -Uvh glibc-2.*?
rpm -Uvh glibc-common-2.*?
rpm -Uvh glibc-devel-2.*?
rpm -Uvh glibc-headers-2.*?
rpm -Uvh ksh-2*?
rpm -Uvh libaio-0.*?
rpm -Uvh libaio-devel-0.*?
rpm -Uvh libgcc-4.*?
rpm -Uvh libstdc++-4.*
rpm -Uvh libstdc++-devel-4.*?
rpm -Uvh make-3.*?
rpm -Uvh sysstat-7.*?
rpm -Uvh unixODBC-2.*
rpm -Uvh unixODBC-devel-2.*
2、配置主機名和ip的映射關系
修改 /etc/hosts ?如下
127.0.0.1 localhost.localdomain localhost
# Public
192.168.2.101 rac1.localdomain rac1
192.168.2.102 rac2.localdomain rac2
# Private
192.168.0.101 rac1-priv.localdomain rac1-priv
192.168.0.102 rac2-priv.localdomain rac2-priv
# Virtual
192.168.2.111 rac1-vip.localdomain rac1-vip
192.168.2.112 rac2-vip.localdomain rac2-vip
# SCAN
192.168.2.201 rac-scan.localdomain rac-scan
SCAN ?的 ip ?在本次 rac ?安裝中并不會用到,但是處于習慣筆者還是進行了定義
3、配置內核參數
修改 /etc/sysctl ?如下
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1054504960
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
執行 ? [root@czmmiao ~]# /sbin/sysctl -p
4、修改 shell ?限制
修改? etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
5、修改登陸限制
/etc/pam.d/login
session required pam_limits.so
6、關閉 selinux
修改
/etc/selinux/config
?
SELINUX=disabled
7、關閉時間同步服務
service ntpd stop?
# mv /etc/ntp.conf /etc/ntp.conf.orig?
# rm /var/run/ntpd.pid
8、創建必要的組、用戶和目錄
groupadd -g 1000 oinstall?
groupadd -g 1200 dba useradd -u 1100 -g oinstall -G dba oracle?
passwd oracle
mkdir -p /u01/app/11.2.0/grid?
mkdir -p /u01/app/oracle/product/11.2.0/db_1?
chown -R oracle:oinstall /u01 chmod -R 775 /u01/
9、在/boot/grub/grub.conf增加"divider=10"以減少空閑CPU的加載(這步為可選,不做也可以)
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Enterprise Linux (2.6.18-194.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet divider=10
initrd /initrd-2.6.18-194.el5.img
10、修改oracle的用戶的環境變量
以 oracle ?用戶登錄
執行 vim .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=RAC; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
11、以root用戶安裝VirtualBox的增強功能
單擊Devices > Install Guest Additions菜單選項
執行
#cd /media/VBOXADDITIONS_4.0.0_69151/ #cp -rfp * / #./VBoxLinuxAdditions.run 執行init 0關機 12、為rac1增加硬盤 在主機上執行,切忌要以之前創建rac1的用戶執行,例如筆者之前創建rac1的用戶為czmmiao,現在也應以czmmiao執行下列命令。 $ # Create the disks and associate them with VirtualBox as virtual media. $ VBoxManage createhd --filename asm1.vdi --size 1024 --format VDI --variant Fixed $ VBoxManage createhd --filename asm2.vdi --size 1024 --format VDI --variant Fixed $ VBoxManage createhd --filename asm3.vdi --size 1024 --format VDI --variant Fixed $ $ # Connect them to the VM. $ VBoxManage storageattach rac1 --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable eable $ VBoxManage storageattach rac1 --storagectl "SATA Controller" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable pe shareable $ VBoxManage storageattach rac1 --storagectl "SATA Controller" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable pe shareable $ $ # Make shareable. $ VBoxManage modifyhd asm1.vdi --type shareable $ VBoxManage modifyhd asm2.vdi --type shareable $ VBoxManage modifyhd asm3.vdi --type shareable 13、重新開啟rac1,對硬盤進行分區 # fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 1305. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1305, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): Using default value 1305 Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1305 10482381 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. # 分區后的結果如下所示 [root@rac1 ~]# ls /dev/sd* /dev/sda /dev/sda2 /dev/sdb1 /dev/sdc /dev/sdd /dev/sda1 /dev/sdb /dev/sdb2 /dev/sdc1 /dev/sdd1 13、安裝配置ASM管理軟件和Cluster管理軟件 [root@rac1 ~]# uname -r 2.6.18-164.el5 到Oracle官網上下載 oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm oracleasmlib-2.0.4-1.el5.i386.rpm oracleasm-support-2.1.3-1.el5.i386.rpm linux_x86_11gR1_clusterware.zip #rpm -Uvh oracleasm*.rpm cd /your/path/to/grid/rpm rpm -Uvh cvuqdisk* 配置ASM # oracleasm configure -i Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: oracle Default group to own the driver interface []: dba Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: Writing Oracle ASM library driver configuration: done # 裝載內核 # /usr/sbin/oracleasm init Loading module "oracleasm": oracleasm Mounting ASMlib driver filesystem: /dev/oracleasm # 創建ASM文件系統 # /usr/sbin/oracleasm createdisk VOL1 /dev/sdc1 Writing disk header: done Instantiating disk: done # /usr/sbin/oracleasm createdisk VOL2 /dev/sdd1 Writing disk header: done Instantiating disk: done # /usr/sbin/oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... 14、創建裸設備 #vim /etc/sysconfig/rawdevices /dev/raw/raw1 /dev/sdb1 /dev/raw/raw2 /dev/sdb2 #vim /etc/udev/rules.d/50-udev.rules KERNEL=="raw[0-9]*",MODE="0660",GROUP="oinstall",OWNER="oracle",NAME="raw/%k" #shutdown -h now 至此第一臺虛擬機rac1配置完成,筆者以汗流浹背 創建第二臺虛擬機--rac2 在主機上執行 $ VBoxManage clonehd rac1.vdi rac2.vdi 注意,這里的虛擬機硬盤選擇“以存在的虛擬機硬盤”選擇 rac2.vdi $ VBoxManage storageattach rac2 --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable eable $ VBoxManage storageattach rac2 --storagectl "SATA Controller" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable pe shareable $ VBoxManage storageattach rac2 --storagectl "SATA Controller" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable pe shareable hostname: rac2.localdomain 配置rac2網絡如下 IP?? Address eth0: 192.168.2.102 (public address) Default? Gateway eth0: 192.168.2.1 (public address) IP?? Address eth1: 192.168.0.102 (private address) Default Gateway eth1:none
?
更改oracle用戶環境變量
以oracle用戶登錄
?
$vim .bash_profile
ORACLE_SID=RAC2; export ORACLE_SID
ORACLE_HOSTNAME=rac2.localdomain; export ORACLE_HOSTNAME
?
配置rac1和rac2的等價性
?
以oracle用戶登錄rac1的Xwindows,
?
mkdir?? .ssh
chmod 700 .ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
cat *.pub > authorized_keys
scp? authorized_keys rac2:/home/oracle/.ssh/keys_dbs
?
在rac2上執行
?
mkdir?? .ssh
chmod 700 .ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
cat *.pub > authorized_keys
cat? keys_dbs >> authorized_keys
scp? authorized_keys rac1:/home/oracle/.ssh/
?
在rac1和rac2分別執行
ssh rac1 ssh rac1-priv ssh rac2 ssh rac2-priv
安裝Clusterware群集管理軟件 安裝前測試 /mountpoint/clusterware/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
確保rac1和rac2處于開機狀態,以oracle用戶登錄rac1
su - root
/etc/init.d/rawdevices start
exit
?
./runInstall
?
進行安裝,進行到
?點擊“添加”
?繼續進行至
?進行至
Specify Oracle Cluster Register (OCR) Location
?
時,
選擇
External Redundancy
?
/dev/raw/raw1
?
進行至
Specify Voting Disk Location時
?
選擇
External Redundancy
/dev/raw/raw2
點擊下一步、安裝之至:出現提示框
在兩個節點上分別執行提示中的腳本,切忌,不能在兩個節點上同時執行,完成后點擊OK,安裝成功。
安裝Oracle Database
注意一下兩點即可:
選擇企業版安裝
選擇之安裝
一路回車到最后遇到提示框時,在兩個節點上分別執行提示中的腳本即可
至此,大公告成
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
