Practice makes perfect, but it does not have to be difficult. Please don’t short yourself by not trying to understand what is going on.
This is my third RAC install and I got tired of doing it the hard manual way; hence, decided to script what I can.
ASM will still need to be configured after rackiss:
oracleasm configure -i oracleasm init oracleasm createdisk asm01 /dev/sdb1 ... oracleasm scandisks oracleasm listdisks
Tested Configuration: Linux rac01.localdomain 2.6.39-200.24.1.el6uek.x86_64 using V33411-01.iso on Virtual Box 4.2.12r84980
Modify script based on network configuration for the following:
/etc/resolv.conf /etc/hosts /etc/dnsentries.txt
CUSTOMIZE MINIMAL INSTALL
Base System > Base > Client Management Tools Desktops > Desktop > Desktop Platform > Graphical Administration Tools > X Window System Applications > Internet Browser 740 packages NTP not configured KDUMP not enabled
Using GUI from VirtualBox Guest OS
Disaable Software Updates: System > Preferences > System > Software Updates Install Guest Additions Devices > Install Guest Additions (ISO)
SCRIPT: rackiss.sh
#/bin/sh { echo -e "\n******** Disable packagekit refresh ********" sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/refresh-packagekit.conf grep enabled /etc/yum/pluginconf.d/refresh-packagekit.conf echo -e "\n******** Disable avahi-daemon 1501093.1 ********" /etc/init.d/avahi-daemon stop chkconfig avahi-daemon off chkconfig avahi-daemon --list echo -e "\n******** Silent Install oracle-rdbms-server-11gR2-preinstall ********" yum install oracle-rdbms-server-11gR2-preinstall -q -y echo -e "\n********* Silent Install dnsmaq, oracleasm, kernel *********" yum install dnsmasq oracleasm-support oracleasmlib kernel-uek-devel-2.6.39-200.24.1.el6uek.x86_64 -q -y echo -e "\n******** Download oracleasmlib ********" wget http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el6.x86_64.rpm echo -e "\n******** Install oracleasmlib ********" yum localinstall oracleasmlib-2.0.4-1.el6.x86_64.rpm -y echo -e "\n******** Verify yum install ********" yum install oracle-rdbms-server-11gR2-preinstall -q -y yum install dnsmasq oracleasm-support oracleasmlib kernel-uek-devel-2.6.39-200.24.1.el6uek.x86_64 -q -y yum list install oracleasmlib-2.0.4-1.el6.x86_64 echo -e "\n******** Update rp_filter Note 1501093.1 ********" sed -i 's/rp_filter = 1/rp_filter = 0/g' /etc/sysctl.conf grep rp_filter /etc/sysctl.conf echo -e "\n******** Disable Firewall ********" service iptables save service iptables stop chkconfig iptables off chkconfig iptables --list echo -e "\n******** AutoStart dnsmasq ********" chkconfig dnsmasq on chkconfig dnsmasq --list echo -e "\n******** Update /etc/sysconfig/network ********" echo "NOZEROCONF=yes" >> /etc/sysconfig/network cat /etc/sysconfig/network echo -e "\n******** Update /etc/grub.conf ********" sed -i 's/quiet/quiet divider=10/g' /etc/grub.conf grep divider /etc/grub.conf echo -e "\n******** Update /etc/pam.d/login ********" echo "session required pam_limits.so" >> /etc/pam.d/login grep pam_limits.so /etc/pam.d/login echo -e "\n******** Disable SELINUX ********" sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config echo -e "\n******** Rename /etc/ntp.conf" mv /etc/ntp.conf /etc/ntp.conf.org ls -l /etc/ntp.conf.org chmod 0444 /etc/ntp.conf.org echo -e "\n******** Rename /etc/dnsmasq.conf ********" mv /etc/dnsmasq.conf /etc/dnsmasq.conf.org chmod 0444 /etc/dnsmasq.conf.org ls -l /etc/dnsmasq.conf.org echo -e "\n******** Configure /etc/hosts ********" echo "192.168.56.11 rac01 rac01.localdomain" >> /etc/hosts echo "192.168.56.12 rac02 rac02.localdomain" >> /etc/hosts echo "192.168.56.13 rac03 rac03.localdomain" >> /etc/hosts echo "192.168.56.21 rac01-vip rac01-vip.localdomain" >> /etc/hosts echo "192.168.56.22 rac02-vip rac02-vip.localdomain" >> /etc/hosts echo "192.168.56.23 rac03-vip rac03-vip.localdomain" >> /etc/hosts echo "10.10.10.11 rac01-priv rac02-priv.localdomain" >> /etc/hosts echo "10.10.10.12 rac02-priv rac02-priv.localdomain" >> /etc/hosts echo "10.10.10.13 rac03-priv rac03-priv.localdomain" >> /etc/hosts chmod 0444 /etc/hosts cat /etc/hosts echo -e "\n******** Configure /etc/dnsentries.txt for dnsmasq ********" echo "192.168.56.11 rac01.localdomain" > /etc/dnsentries.txt echo "192.168.56.12 rac02.localdomain" >> /etc/dnsentries.txt echo "192.168.56.13 rac03.localdomain" >> /etc/dnsentries.txt echo "192.168.56.31 dinh-scan.localdomain" >> /etc/dnsentries.txt echo "192.168.56.32 dinh-scan.localdomain" >> /etc/dnsentries.txt echo "192.168.56.33 dinh-scan.localdomain" >> /etc/dnsentries.txt chmod 0444 /etc/dnsentries.txt cat /etc/dnsentries.txt echo -e "\n******** Configure /etc/dnsmasq.conf for dnsmasq ********" echo "listen-address=127.0.0.1" > /etc/dnsmasq.conf echo "strict-order" >> /etc/dnsmasq.conf echo "domain-needed" >> /etc/dnsmasq.conf echo "bogus-priv" >> /etc/dnsmasq.conf echo "no-poll" >> /etc/dnsmasq.conf echo "no-hosts" >> /etc/dnsmasq.conf echo "local=/localdomain/" >> /etc/dnsmasq.conf echo "addn-hosts=/etc/dnsentries.txt" >> /etc/dnsmasq.conf echo "cache-size=150" >> /etc/dnsmasq.conf chmod 0444 /etc/dnsmasq.conf cat /etc/dnsmasq.conf echo -e "\n******** Configure /etc/resolv.conf for dnsmasq ********" echo "nameserver 127.0.0.1" > /etc/resolv.conf echo "nameserver 172.16.0.1" >> /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf echo "search localdomain" >> /etc/resolv.conf chattr +i /etc/resolv.conf cat /etc/resolv.conf echo -e "\n******** Start dnsmasq ********" service dnsmasq start echo -e "\n******** Test nslookup ********" nslookup rac01 nslookup rac02 nslookup rac03 nslookup dinh-scan nslookup dinh-scan nslookup dinh-scan nslookup www.google.com echo -e "\n******** Install Guest Additions ********" /media/VBOXADDITIONS_4.2.12_84980/VBoxLinuxAdditions.run echo -e "\n******** Add asmadmin asmdba ********" groupadd -g 54325 asmadmin groupadd -g 54326 asmdba echo -e "\n******** Update Oracle's group ********" usermod -g dba -G dba,asmadmin,asmdba,vboxsf oracle id oracle echo -e "\n******** Create directories ********" mkdir -p /u01/app/oraInventory mkdir -p /u01/app/11.2.0.3/grid mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/cfgtoollogs mkdir -p /u01/app/oracle/product/11.2.0.3/dbhome_1 chown -R oracle:dba /u01 chmod -R 775 /u01 find /u01 -type d -ls } > /tmp/rackiss.log 2>&1 echo -e "\n******** Check /tmp/rackiss.log for errors ********" exit
Verify mount for VBOXADDITIONS exist
[root@rac01 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg01-lv_root 28G 1.8G 25G 7% / tmpfs 1004M 100K 1004M 1% /dev/shm /dev/sda1 485M 55M 405M 12% /boot /dev/sr0 57M 57M 0 100% /media/VBOXADDITIONS_4.2.12_84980
Create and Run rackiss.sh
[root@rac01 ~]# vi rackiss.sh [root@rac01 ~]# chmod 755 rackiss.sh [root@rac01 ~]# time ./rackiss.sh ******** Check /tmp/rackiss.log for errors ******** real 33m43.730s user 0m49.952s sys 0m33.525s
Review Log
[root@rac01 ~]# cat /tmp/rackiss.log ******** Disable packagekit refresh ******** enabled=0 ******** Disable avahi-daemon 1501093.1 ******** Shutting down Avahi daemon: [ OK ] avahi-daemon 0:off 1:off 2:off 3:off 4:off 5:off 6:off ******** Silent Install oracle-rdbms-server-11gR2-preinstall ******** warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Importing GPG key 0xEC551F03: Userid: "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>" From : http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 ********* Silent Install dnsmaq, oracleasm, kernel ********* ******** Download oracleasmlib ******** --2013-05-19 20:35:49-- http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el6.x86_64.rpm Resolving download.oracle.com... 63.141.192.73, 63.141.192.10 Connecting to download.oracle.com|63.141.192.73|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13300 (13K) [application/x-redhat-package-manager] Saving to: âoracleasmlib-2.0.4-1.el6.x86_64.rpmâ 2013-05-19 20:35:50 (234 KB/s) - âoracleasmlib-2.0.4-1.el6.x86_64.rpmâ ******** Install oracleasmlib ******** Loaded plugins: security Setting up Local Package Process Examining oracleasmlib-2.0.4-1.el6.x86_64.rpm: oracleasmlib-2.0.4-1.el6.x86_64 Marking oracleasmlib-2.0.4-1.el6.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package oracleasmlib.x86_64 0:2.0.4-1.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: oracleasmlib x86_64 2.0.4-1.el6 /oracleasmlib-2.0.4-1.el6.x86_64 27 k Transaction Summary ================================================================================ Install 1 Package(s) Total size: 27 k Installed size: 27 k Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : oracleasmlib-2.0.4-1.el6.x86_64 1/1 Verifying : oracleasmlib-2.0.4-1.el6.x86_64 1/1 Installed: oracleasmlib.x86_64 0:2.0.4-1.el6 Complete! ******** Verify yum install ******** Package oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64 already installed and latest version Package dnsmasq-2.48-13.el6.x86_64 already installed and latest version Package oracleasm-support-2.1.8-1.el6.x86_64 already installed and latest version Package kernel-uek-devel-2.6.39-200.24.1.el6uek.x86_64 already installed and latest version Loaded plugins: security Installed Packages oracleasmlib.x86_64 2.0.4-1.el6 @/oracleasmlib-2.0.4-1.el6.x86_64 ******** Update rp_filter Note 1501093.1 ******** net.ipv4.conf.default.rp_filter = 0 ******** Disable Firewall ******** iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off ******** AutoStart dnsmasq ******** dnsmasq 0:off 1:off 2:on 3:on 4:on 5:on 6:off ******** Update /etc/sysconfig/network ******** NETWORKING=yes HOSTNAME=rac01.localdomain NOZEROCONF=yes ******** Update /etc/grub.conf ******** kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg01-lv_root rd_LVM_LV=vg01/lv_swap rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg01/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet divider=10 numa=off kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg01-lv_root rd_LVM_LV=vg01/lv_swap rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg01/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet divider=10 numa=off ******** Update /etc/pam.d/login ******** session required pam_limits.so ******** Disable SELINUX ******** SELINUX=disabled ******** Rename /etc/ntp.conf -rw-r--r--. 1 root root 1917 Jul 6 2010 /etc/ntp.conf.org ******** Rename /etc/dnsmasq.conf ******** -r--r--r--. 1 root root 21214 May 19 20:35 /etc/dnsmasq.conf.org ******** Configure /etc/hosts ******** 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.11 rac01 rac01.localdomain 192.168.56.12 rac02 rac02.localdomain 192.168.56.13 rac03 rac03.localdomain 192.168.56.21 rac01-vip rac01-vip.localdomain 192.168.56.22 rac02-vip rac02-vip.localdomain 192.168.56.23 rac03-vip rac03-vip.localdomain 10.10.10.11 rac01-priv rac02-priv.localdomain 10.10.10.12 rac02-priv rac02-priv.localdomain 10.10.10.13 rac03-priv rac03-priv.localdomain ******** Configure /etc/dnsentries.txt for dnsmasq ******** 192.168.56.11 rac01.localdomain 192.168.56.12 rac02.localdomain 192.168.56.13 rac03.localdomain 192.168.56.31 dinh-scan.localdomain 192.168.56.32 dinh-scan.localdomain 192.168.56.33 dinh-scan.localdomain ******** Configure /etc/dnsmasq.conf for dnsmasq ******** listen-address=127.0.0.1 strict-order domain-needed bogus-priv no-poll no-hosts local=/localdomain/ addn-hosts=/etc/dnsentries.txt cache-size=150 ******** Configure /etc/resolv.conf for dnsmasq ******** nameserver 127.0.0.1 nameserver 172.16.0.1 nameserver 8.8.8.8 search localdomain ******** Start dnsmasq ******** Starting dnsmasq: [ OK ] ******** Test nslookup ******** Server: 127.0.0.1 Address: 127.0.0.1#53 Name: rac01.localdomain Address: 192.168.56.11 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: rac02.localdomain Address: 192.168.56.12 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: rac03.localdomain Address: 192.168.56.13 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: dinh-scan.localdomain Address: 192.168.56.33 Name: dinh-scan.localdomain Address: 192.168.56.31 Name: dinh-scan.localdomain Address: 192.168.56.32 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: dinh-scan.localdomain Address: 192.168.56.31 Name: dinh-scan.localdomain Address: 192.168.56.32 Name: dinh-scan.localdomain Address: 192.168.56.33 Server: 127.0.0.1 Address: 127.0.0.1#53 Name: dinh-scan.localdomain Address: 192.168.56.32 Name: dinh-scan.localdomain Address: 192.168.56.33 Name: dinh-scan.localdomain Address: 192.168.56.31 Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: www.google.com Address: 74.125.224.177 Name: www.google.com Address: 74.125.224.178 Name: www.google.com Address: 74.125.224.179 Name: www.google.com Address: 74.125.224.180 Name: www.google.com Address: 74.125.224.176 ******** Install Guest Additions ******** Verifying archive integrity... All good. Uncompressing VirtualBox 4.2.12 Guest Additions for Linux............ VirtualBox Guest Additions installer Copying additional installer modules ... Installing additional modules ... Removing existing VirtualBox non-DKMS kernel modules [ OK ] Building the VirtualBox Guest Additions kernel modules The headers for the current running kernel were not found. If the following module compilation fails then this could be the reason. The missing package can be probably installed with yum install kernel-uek-devel-2.6.39-200.24.1.el6uek.x86_64 Building the main Guest Additions module [ OK ] Building the shared folder support module [ OK ] Building the OpenGL support module [ OK ] Doing non-kernel setup of the Guest Additions [ OK ] Starting the VirtualBox Guest Additions [ OK ] Installing the Window System drivers Installing X.Org Server 1.10 modules [ OK ] Setting up the Window System to use the Guest Additions [ OK ] You may need to restart the hal service and the Window System (or just restart the guest system) to enable the Guest Additions. Installing graphics libraries and desktop services componen[ OK ] ******** Add asmadmin asmdba ******** ******** Update Oracle's group ******** uid=54321(oracle) gid=54322(dba) groups=54322(dba),54323(vboxsf),54325(asmadmin),54326(asmdba) ******** Create directories ******** 654346 4 drwxrwxr-x 3 oracle dba 4096 May 19 21:06 /u01 654347 4 drwxrwxr-x 5 oracle dba 4096 May 19 21:06 /u01/app 654349 4 drwxrwxr-x 3 oracle dba 4096 May 19 21:06 /u01/app/11.2.0.3 654350 4 drwxrwxr-x 2 oracle dba 4096 May 19 21:06 /u01/app/11.2.0.3/grid 654351 4 drwxrwxr-x 4 oracle dba 4096 May 19 21:06 /u01/app/oracle 654352 4 drwxrwxr-x 2 oracle dba 4096 May 19 21:06 /u01/app/oracle/cfgtoollogs 654353 4 drwxrwxr-x 3 oracle dba 4096 May 19 21:06 /u01/app/oracle/product 654354 4 drwxrwxr-x 3 oracle dba 4096 May 19 21:06 /u01/app/oracle/product/11.2.0.3 654355 4 drwxrwxr-x 2 oracle dba 4096 May 19 21:06 /u01/app/oracle/product/11.2.0.3/dbhome_1 654348 4 drwxrwxr-x 2 oracle dba 4096 May 19 21:06 /u01/app/oraInventory [root@rac01 ~]#
