Wednesday, July 29, 2020

ORACLE RAC INTRODUCTION & RAC NODE SETUP


ORACLE RAC INTRODUCTION  & RAC NODE SETUP
----------------------------------------------------------------------


 Supports multiple instances in a clustered environment( upto 100 instances)

 Supports high availability and scalibility

 
To install Rac Two softwares needed
-------------------------------------

  Grid Infrastructure ($ GRID_HOME)  ---> Grid infrastucture bundles with both clusterware and ASM software with a separate home

                           /u01/app/12.1.0.1/grid/bin

                                       --->RDBMS Software(12cdb)(ORACLE_HOME)

                            /u01/app/12.1.0.1/rdbms/bin

                           part of grid software with the feature oracle restart  will manage the resources on start/stop 

                           grid to manage resorces (DB,LISTENER,SCAN) use to monitor and manage resources, clusterware software that provides interface  and services that enable and support a cluster

Oracle clusterware components:
-------------------------------------

   Two components in clusterware

    1. Voting disk : keep node membership inforamation when node joins or leaves is located on shared storage available for all nodes can be multiplexed upto 15 voting disks
             
                    # ./CRSCTL css votedisk
                 
         
    2. Oracle cluster Registry:OCR file resides on shared storage ,stores resources information that are database,listener,vip,scan,asm,instanaces can also be multiplexed upto 5 disks 
  
                    # ./OCRCHECK

Oracle Real Application Cluster
-------------------------------------

RAC start up sequnces
--------------------------

   1.lower stack ---->oracle high availability ---level0

                     will spawn ohasd-OHA-service daemon while we installed ,executed root.sh will add on entry in inittab to spawn ohasd service

                     # more/etc/inittab

                      following entry  /etc/init.d/init.ohasd run>/dev/null2 >&1</dev/null

   2.upper stack----->clusterware process ----> OHASD daemon then spawns additional clusterware process at each startup level

                      CRSD-->cluster ready services---->high availability operations in a cluster

                      OCSSD-->Cluster synchronization service--->manage node membership information when node joins or leaves

                      EVMD--->Event management service--->a bg process that publishes events that oracle clusterware creates

                      ONS---> Oracle Notifiation Service--> a publish and subscribe service for communicating fast application notification (FAN )events

                     OPROCD--->Oracle process monitor daemon--->periodically wakes up and checks that the interval since it last awake is with in the expected time if not oprocd resets the processor and restarts the node 

                            an oprocd failure results in oracle clusterware restarting the node

                         # ./crsctl check crs

                         # ./ crsctl check cssd

Rac Tools
------------
         
      CRSCTL--->root user --->cluster ready service control utility

      SRVCTL--->oracle user--->service control utility



RAC NODE SETUP
------------------------

Insatllation of SAN Software (we are using openfiler 64 bit san Software on vmware ,all the nodes create and access the centralized SAN storage ,we can download openfiler software 
from www.openfiler.com ,4 node set up cloning from 1 node to rest 4 nodes)



Node1
---------

1)Oracle linux installed operating system

2)Three Network Adapters

  public 

  private

  Asm 

  
3) vm configuration 

   4 gb ram

   processor 1
   
   hdd 100gb

4) adding kernel paameters

5)installing RPMS

6)asm libs

7)asm configure  fdisk ,label,scan,list

  oracle real application cluster 12c r1 grid installation(12cr1)


Node2
-----

# xhost +
# neat

 Network configuration   (we have taken from the node 1 cloning and network configuration and created delete old eth0.bkp,eth1.bkp.eth2.bkp  and configure to eth0,eth1,eth2 after that once deactivated and activate ethernetcard
 ----------------------
                       and DNS  search path  cluster.com   ,node2.cluster.com)
eth0   public ip
-----------------------

ip address     147.43.0.2
subnetmask  255.255.255.0


ip address     147.43.0.3
subnetmask  255.255.255.0



ip address     147.43.0.4
subnetmask  255.255.255.0

eth1  private ip
------------------

ip address    192.168.0.2
subnetmask  255.255.255.0


ip address    192.168.0.3
subnetmask  255.255.255.0



ip address    192.168.0.4
subnetmask  255.255.255.0


eth2 asm network
----------------

ip address   192.168.1.2
subnet mask  255.255.255.0

ip address   192.168.1.3
subnet mask  255.255.255.0


ip address   192.168.1.4
subnet mask  255.255.255.0


Node 1 : configure etc/hosts file  in vi editor and assign ip address of public ,private,asmip,vip,scanip and local host.localdomain
------

# cat etc/hosts

vi etc/hosts

      127.0.0.1                           localhost.localdomain                localhost

##  PUBLIC IP 

147.43.0.1                                  node1.cluster.com                    node1
147.43.0.2                                  node2.cluster.com                    node2
147.43.0.3                                  node3.cluster.com                    node3
147.43.0.4                                  node4.cluster.com                    node4

## PRIVATE IP
192.168.0.1                                 node1-pri.cluster                   node1-pri
192.168.0.2                                 node2-pri.cluster                   node2-pri
192.168.0.3                                 node3-pri.cluster                   node3-pri
192.168.0.4                                 node4-pri.cluster                   node4-pri

## ASM IP

192.168.1.1                                 node1-asm.cluster.com              node1-asm
192.168.1.2                                 node2-asm.cluster.com              node2-asm
192.168.1.3                                 node3-asm.cluster.com              node3-asm
192.168.1.4                                 node4-asm.cluster.com              node4-asm

##VIP

147.43.0.11                                 node1-vip.cluster.com            node1-vip 
147.43.0.12                                 node2-vip.cluster.com            node2-vip
147.43.0.13                                 node3-vip.cluster.com            node3-vip
147.43.0.14                                 node4-vip.cluster.com            node4-vip

## SCANIP 

147.43.0.51                                node-scan.cluster.com             node-scan
147.43.0.52                                node-scan.cluster.com             node-scan
147.43.0.53                                node-scan.cluster.com             node-scan

save and quit the file
  
copy the  /etc/hosts file to node 2,node3,node4 it will reflect all the nodes check wheter all the nodes are reflected or not and ll ip address are set or not using cat command
         

# scp /etc/hosts node2 : /etc/hosts


# cat etc/hosts

node1
------

To access san in gui web based administration throug node1

# firefox https://147.43.0.5:446/               (firefoz will open the san openfiler  and enter the username and password credintials

                     username : openfiler
                     pwd       :openfiler

 San information  :  san.cluster.com  (147.43.0.5)

 mount     type                  partition

/         ext3                   /dev/sd1
/var      ext3                   /dev/sd2
/tmp      ext3                   /dev/sd3
/usr      ext3                   /dev/sd5
/dev/sdm  tmpfs                  tmpfs

in san openfiler  menu  under systemtab

   Network interface configuration


interface     bootprotocol       ip address  network mask    speed  mtu link
eth0           static             147.43.0.5  255.255.255.0   100mbps


        Network access configuratioin

device  name            networkhost(publicip)     subnetmask               

node1.cluster.com        147.43.0.1        255.255.255.255

node2.cluster.com        147.43.0.2        255.255.255.255

node3.cluster.com        147.43.0.3        255.255.255.255

node4.cluster.com        147.43.0.4        255.255.255.255


adding all nodes in san network 

and after that click on -->volume tab  

create  a new volume group

     under block device management

/dev/sda   scsi  ata vmware virtual          12 gb --->creating san            6----> partion
/dev/sdb   scsi  vmware vmware virtual       60 gb                              0

click on dev/sdb  create a partion in dev/sdb

  click to create --->click on volume manager tab  --->volume group name--->volgroup -->/dev/sdb1  57.22 gb --->add volume group

click on services tab

          under ---->    manage services

 scsci   enabled --->start

click on  volume tab 

   create a volume in volgroup
             vol 1--->for rac 58560 -->file--> scsi

 Right click on Iscsi target
             |
             |-----------> add new Iscsi target

     click on LUN Mapping----->map the LUN   (logical unit number)

     click on null ---> click on Network & Acl

      node1.cluster.com 147.43.0.5-------> Allow
       node2.cluster.com 147.43.0.5------->Allow
      node3.cluster.com 147.43.0.5-------> Allow
      node4.cluster.com 147.43.0.5-------> Allow

    click on --->update

     log out SAN (openfiler)

Node1
------

# ISCSIADM -m discovery - t  st-p  147.43.0.5   (we have iscsi number should reflecton all nodes by using this command ,similarly command check  to all nodes node1,node2,node3,node4 to access the san)

Node1
-----

# service iscsi restart     (reset the iscsi services to all the access the partition)

Node1
----

# fdisk -l

/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
/dev/sda5
/dev/sda6
/dev/sda7


disk /dev/sdb

# fdisk /dev/sdb

primary partion p
partition number 1
using defaultvalue 1
last cylinder orsize +40g
command for help  n
 primary partition - p
partition number -2
lastcylinder size  +20g
save  w                               (creating the partions over)

check all nodes to fdisk -l to reflect the partion 40g and 20 g

node1
-----
# partprobe/dev/sdb


node1
-----

creating the users & groups

# userdel -r oracle
# groupdel oinstall
#id
#gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),101(pkcs11)
# groupdel dba

# groupadd -g 5001 Oinstall
# groupadd -g 5002  dba
# groupadd -g 5003  Oper
# groupadd -g 5004  asmdba
# groupadd -g 5005  asmadmin
# groupadd -g 5006  asmoper

# useradd -U 5007 -g Oinsatll -G asmadmin,asmdba,dba-d /u01/home -m grid
# chown  -R grid: Oinsatll/u01/home
# chmod -R  777 /u01/home

passwd grid

new passwd grid@123

all the users are groups should be craeted in all nodes node1,node2,node3,node4 and permissions to the users

copy all 6 ASM RPMS to all nodes

next step is the ASM RPMS to install all the RPMS to all the nodes copy all rpms to all nodes

node1
-------

# rpm -ivh oracleasmlib-2.0.4.1.el5_x86_64.rpm ..nodeps ..force 

# rpm -ivh oracleasmlib-2.0.4.1.el5_x86_64.rpm ..nodeps ..force 


# scp oracleasm* node2:/u01/home
# scp oracleasm* node3:/u01/home
# scp oracleasm* node4:/u01/home 

node2
-----

cd /uo1/home

ls

next step to configure the linux asm libraies

# oracleasm configure -h
# oracleasm -exec -path
# oracleasm -h
# oracleasm -v

# oracleasm configure -1
 default user driverinterface :grid
   deafult group to own the driver interface : Oinsatll
 start oracle asm library driver on boot : y
  scan for oracle asm disks on boot  : y
writting oracle asm library driver configuration : done

# oracleasm exit
# oarcleasm init
# oracleasm createdisk DATA/dev/sdb1
# oracleasm creatdisk  OCR_VD/dev/sdb2
# oracleasm listdisks

node2
-----

# oracleasm scandisks
# oracleasm configure -1

# oracleasm exit
# oracleasm init
# oracleasm listdisks
# oracleasm scandisks
# oracleasm listdisk

DATA
OCR_VD

same for node 3 and node4

node1
------
# mv /etc/ntp.conf/etc/ntp.conf_bkp
# service ntpd restart
# service ntpd restart
     failed

shuttingdown ntpd:

ssh setup connectivity passwordless connectivity in all nodes ssh setup is not establishement node1,node2,node3,node4 will not be get node information

node1
-----
# su -grid
# rm -rfv .ssh/

removed 'ssh/known-hosts*
removed directory '.ssh/*

ssh setup folder sshUserset.sh

# cd /mgt/hgfs/grid_12c/
 ls
# sshsetup
  ls
SShUsersetup.sh

#SShUsersetup.sh -hosts "node1" grid user    (ssh verification is completed for node1 who are allowed connected this command will used in all nodes)

# cd /u01/home
 cd .SSh/
ls
authorized_keys

$ vi authorized_keys

$ cd /mnt/hgfs/grid_12c
 ls
$ scp SShUsersetup.sh node2:/u01/home
$ scp SShUsersetup.sh node3:/u01/home
$ scp SShUsersetup.sh node4:/u01/home

copy all the sshusers setup 

node1
------

$ vi authorized_keys   (in authorized_keys open the file we found binary information and signature combine in this copied all the 4 nodes binary information and signature   like authorized_keys without password prompt we can connect to the any node these authorized_keys should be copied to all nodes like wise node2,node3 and node 4 we have to removethe authorized_keys and copy the fresh authorized_keys after that we have to connect with outpassword prompt  to all nodes authorized_keys look like this( ssh-rsa AAAAABBCl+fdvi6+n7yntps+=grid@node1.cluster.com) similar to node2,node3,node4)

$ scp authorized_keys node2:/u01.home/.ssh

node2
-----

$ rm -rfv authorized_keys

 removed authorized_keys

$ scp authorized_keys node3: /u01/home/.ssh


node3
-----

$ rm -rfv authorized_keys

 removed authorized_keys

$ scp authorized_keys node4: /u01/home/.ssh

grid@node1.ssh]ssh node4
grid@node4~] ssh node1

node1
------

cd/mnt/hgfs/grid_12c/
ls runCluvfy.sh        (in grid_12c folder runCluvfy.sh file is there performing pre checks for cluster services )

checking node reachability
checking node reachability check passed from node " node1"
checking user equivalence
user equivalency check passed to user grid
checking node conncectivity
checking multicast communication passed
checking asm lib configuration passed
package existence check
kernel parameters

node1
-----

xhost +

./runInstaller

skip software updates

install and configure oracle grid infrastructure for a cluster( 12c release1 oraclegrid infrastructure )

configure standard cluster

advanced installation

english

uncheck configure GNS

 cluster name: node-cluster
  scanname  :node-scan
 scanport :1521

public host name                   virtual host name 

node1.cluster.com                   node1-vip.cluster.com
node2.cluster.com                   node2-vip.cluster.com
node3.cluster.com                   node3-vip.cluster.com
node4.cluster.com                   node4-vip.cluster.com


ssh connectivity

os user : grid   os password : grid@123

click on -->next 

eth0   147.43.0.0       public
eth1   192.168.0.0      private
eth2   192.168.1.0      asm

click on--> next

configure grid infrastucture management repository

use standard asm for storage

use oracle flex asm for storage--click on this 

select disk group

disk group name  DATA

redundancy   -->external

candidate disk

 ORCLDATA---->click on this
 ORCLODB_VD

use same password

oraclebase   /u01/home/grid

software location : /u01/home/12.1.0/grid

inventory location : /u01/home/oraInventory

automatically run configuration scripts   ( run installer scripts will automatically run in 12c in all nodes)

use root use credintials --->select this

# /tmp/cvu_12.1.0.1.0_grid/runfixup.sh ( this script wil run all nodes)

grid infrasture is completed


node1
-----

# pwd
/root

vi grid.env

export GRID_HOME =/u01/home/12.1.0./grid
export PATH =$ gRID_HOME/bin: $PATh:

save and exit

# chown -r grid:oinstall grid.env
# chown -R grid: oinstall grid.env
#chmod - R 777 grid.env

now copygrid.env file to all nodes grid home loaction


# scp grid.env node2 :/u01/home/12.1.0/grid
# scp grid.env node3 :/u01/home/12.1.0/grid
# scp grid.env node4 :/u01/home/12.1.0/grid

# cp grid.env /u01/home/12.1.0/grid/

# su - grid

$ cd /u01/home/12.1.0/grid/

 ls
$ .grid.env

# crsctl check cluster -all
$ cd bin /
# crsctl check cluster -all

cluster ready service
cluster synchronization
event management


# crsctl stat res -t

grid@node1 bin]$ srvctl status asm
 asm is running on node 1,node2,node2

$ ps - ef | grep -i smon


node2
-----

su - grid

cd 12.1.0/grid
$.grid.env

$ ps - ef | grep - i  smon  

Insatlled SAN storage added two disks ISCI shared storage linux installed on

oarcle 12c database software installation in cluster environment 

node1
-----

# su - grid

$ cd /u01/home/12.1.0/grid

$ .grid.env

$ asmca

$ asmca   (by using this command runs the asm configuration assistant)

disk group name  size

DATA

click on create

disk group name  OCR

external

ORCLOCR_VD click on this 

disk group OCR created   ( high ---> 3copies normal ---> 2 copies extended---> no copies

DATA
OCR

node1
------

# useradd - U 5008 -g oinstall -G dba,asmdba,oracle

#chown -R oracle: oinstall/u01/home    (Repeat the same steps user creation permissions to this oracle in all nodes) 

# chmod -R 777 /u01/home/

# passwd oracle

install the oracle soft login as a oracle user

# su - oracle 

cd /mgt/hgfs/
ls
grid12c  grid 12c database

ls

./runInstaller     (launch oracle universal installer 12crelease 1)


skip software update

install database software only

oracle real application cluster database installation  by deafault local node is always selected

node 2
node 3
node 4
select all nodes

ssh connectivity 

os oracle user  pwd  ----
 password ssh set up  (establish ssh connectivity between the selected nodes)

click on next

 product language : english

enterprise edition

oracle base  /u01/home/oracle

software location  /u01/home/oracle/12.1.0/db_home_1

privileged operating system group

osdba ---> dba
osoper----> oper,dba

installing the 12cdatabase
 
node1
-----
$ login as a rootuser 
 /u01/home/oracle/12.1.0/db_home_1/rrot.sh  (login as a root user runInstaller will run the scriprt in all nodes manually)


node1
-----

vi rdbms.env

export ORACLE_HOME=/u01/home/oracle/12.1.0/dbhome_1
export PATH = $ORACLE_HOME/bin:$PATH:

cat rdbms.env

# chown oracle:oinstall rdbms.env
# chmod -R 777 rdbms.env

# scp rdbms.env node2:/u01/home/oracle/12.1.0/dbhome_1   

copy rdbms.env file to all nodes

# su - oracle

cd /u01/home/oracle/12.1.0/dbhome_1/
ls
# cp rdbms.env /u01/home/12.1.0/dbhome_1/

su - oracle
cd /u01/home/oracle/12.1.0/dbhome_1/

ls
 rdbms.env

$ dbca  database configuration assistant will assist the installation process 



Note : info on Rac node setup it may be different on your environment like production,testing,development, ipaddress,directory structures,




THANK YOU FOR VIEWING MY BLOG FOR MORE UPDATES FOLLOW ME 

     

















     


ITIL Process

ITIL Process Introduction In this Blog i am going to explain  ITIL Process, ITIL stands for Information Technology Infrastructure Library ...