Tuesday, December 4, 2012

11g RAC Script

How to Configure Oracle 11g R2 RAC using Openfiler.


######### Change IP Addresses According to Your Enviroment ######
cat  >>  /etc/hosts <<EOF
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost                 localhost
# Public Network - (eth0)
192.168.3.191    linux1           linux1
192.168.3.192    linux2           linux2
# Private Interconnect - (eth1)
192.168.4.11    linux1-priv      linux1-priv
192.168.4.12    linux2-priv      linux2-priv
# Public Virtual IP (VIP) addresses - (eth0:1)
192.168.3.251    linux1-vip       linux1-vip
192.168.3.252    linux2-vip       linux2-vip
# Private Storage Network for Openfiler - (eth1)
192.168.3.13    openfiler         openfiler
#SCAN
192.168.3.151    rac-scan        rac-scan
EOF

####Kernel Parameters Changing##########
cat >>  /etc/sysctl.conf <<EOF
###########RAC Configuration #######
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
EOF


cat >> /etc/security/limits.conf <<EOF
##########RAC CONFIGURATION###########
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

cat >> /etc/pam.d/login <<EOF
##########RAC CONFIGURATION#########
session    required     pam_limits.so
EOF



sysctl -p



service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.org


chkconfig --level 35 nscd on
service nscd start

groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid

passwd grid
groupadd -g 1300 dba
groupadd -g 1301 oper

useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
passwd oracle

mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01




cat >> /home/grid/asm.env <<EOF

#ORACLE_SID
ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java; export JAVA_HOME
GRID_BASE=/u01/app/grid; export GRID_BASE
ORACLE_BASE=$GRID_BASE; export ORACLE_BASE
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
ORACLE_HOME=$GRID_HOME; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/dba_scripts/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$GRID_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$GRID_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:$JAVA_HOME/db/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/oracle/dba_scripts/bin
export PATH
LD_LIBRARY_PATH=$GRID_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$GRID_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$GRID_HOME/JRE
CLASSPATH=${CLASSPATH}:$GRID_HOME/jlib
CLASSPATH=${CLASSPATH}:$GRID_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/oc4j/ant/lib/ant.jar
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/oc4j/ant/lib/ant-launcher.jar
CLASSPATH=${CLASSPATH}:$JAVA_HOME/db/lib/derby.jar
CLASSPATH=${CLASSPATH}:$GRID_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
EOF

chmod -R 775 /home/grid/asm.env

~

cat >> /home/oracle/db.env <<EOF

#ORACLE_SID
# ---------------------------------------------------
ORACLE_SID=racdb1; export ORACLE_SID
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/dba_scripts/sql:$ORACLE_HOME/rdbms/admin; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:$JAVA_HOME/db/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/oracle/dba_scripts/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/oc4j/ant/lib/ant.jar
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/oc4j/ant/lib/ant-launcher.jar
CLASSPATH=${CLASSPATH}:$JAVA_HOME/db/lib/derby.jar
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
EOF

rpm -Uvh /media/RHEL_5.5\ x86_64\ DVD/Server/createrepo-0.4.11-3.el5.noarch.rpm

chmod -R 775 /home/oracle

mkdir -p /backup/dvd/yum
cd /media/RHEL_5.5\ x86_64\ DVD/Server/
cp *.* /backup/dvd/yum/
createrepo /backup/dvd/yum/

cat >> /etc/yum.repos.d/yum.repo << EOF
[RHEL5]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Debug
baseurl=file:///backup/dvd/yum/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/R
EOF

rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


yum install binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 libaio-devel-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libgcc-4.1.2 libstdc++-4.1.2 libstdc++-4.1.2 libstdc++-devel 4.1.2 make-3.81 pdksh-5.2.14 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-2.2.11 unixODBC-devel-2.2.11 unixODBC-devel-2.2.11



chkconfig --level 35 sendmail off
chkconfig --level 35 pcmcia off
chkconfig --level 35 cups off
chkconfig --level 35 hpoj off
chkconfig --level 35 iptables off
chkconfig --level 35 exim off
chkconfig --level 35 postfix off
chkconfig --level 35 FreeWnn off
chkconfig --level 35 httpd off
chkconfig --level 35 rhnsd off
chkconfig --level 35 smartd off
chkconfig --level 35 canna off
chkconfig --level 35 iiim off

######### ISCSI RPM Installation ####################
rpm -Uvh /media/RHEL_5.5\ x86_64\ DVD/Server/iscsi-initiator-utils-*


######## ISCSI SERVICE START #######################
service iscsid start
chkconfig iscsid on
chkconfig iscsi on

iscsiadm -m discovery -t sendtargets -p openfiler
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs -p 192.168.3.195 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data -p 192.168.3.195 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra -p 192.168.3.195 -l


iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs -p 192.168.3.195 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data -p 192.168.3.195 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra -p 192.168.3.195 --op update -n node.startup -v automatic


###################  DNS CONFIGURATION ######################
yum install bind-libs bind bind-utils system-config-bind



cat >>    /etc/named.conf    <<EOF
    options {
        // Set IP address correctly.
        listen-on port 53 { 127.0.0.1; 192.168.3.191; };

        //
        // Leave the rest of the config as it is.
        //

        // My Additions
        // Forwarder: Anything this DNS can't resolve gets forwarded to my ISPs DNS.
        forwarders { 194.168.3.1; 194.168.3.250; };
    // End My Additions
};

EOF

cat >> /var/named/localdomain.zone <<EOF

$TTL    86400
@               IN SOA  localhost root.localhost (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           localhost
localhost       IN A            127.0.0.1
rac1            IN A    192.168.3.191
rac2            IN A    192.168.3.192
rac1-priv       IN A    192.168.4.191
rac2-priv       IN A    192.168.4.192
rac1-vip        IN A    192.168.3.111
rac2-vip        IN A    192.168.3.112
rac-scan        IN A    192.168.3.121
rac-scan        IN A    192.168.3.122
rac-scan        IN A    192.168.3.123


EOF

cat >> /var/named/3.168.192.in-addr.arpa  <<EOF

$ORIGIN 3.168.192.in-addr.arpa.
$TTL 1H
@       IN      SOA     maggie.localdomain.     root.maggie.localdomain. (      2
                                                3H
                                                1H
                                                1W
                                                1H )
3.168.192.in-addr.arpa.         IN NS      maggie.localdomain.

191     IN PTR  linux1.localdomain.
192     IN PTR  linux2.localdomain.
111     IN PTR  linux1-vip.localdomain.
112     IN PTR  linux2-vip.localdomain.
121     IN PTR  rac-scan.localdomain.
122     IN PTR  rac-scan.localdomain.
123     IN PTR  rac-scan.localdomain.

EOF



2 comments: