Skip to main content

Upgrade Oracle RAC Grid Infrastructure software from 11gR2 to 12cR1

This is a step by step article for upgrading Oracle Grid Infrastructure Software from 11gR2 (11.2.0.4) to 12c (12.1.0)

Current Environment details:

Node1 => oelracn1 [GI version - 11.2.0.4] 
Node2 => oelracn2 [GI version - 11.2.0.4]

> These nodes are running on Oracle Enterprise Linux 6.1 - 64 Bit
> Database running on these hosts is on version 11.2.0.4 (OELPROD - OELPROD1, OELPROD2)

High Level Steps  for upgrading Grid Infrastructure from 11gR2 to 12cR1:

1) Verify all services are up and running from 11gR2 GI Home

2) Perform backup of OCR, voting disk and Database

3) Create new directory structure on both RAC nodes for 12c SW INstallation

4) Run "runcluvfy.sh" to verify errors 

5) Install and upgrade GI from 11gR2 to 12cR1

6) Verify upgrade

1) Verify all services are running up and running from 11gR2 GI Home


- Verify version of CRS Home:

[root@oelracn1 bin]# ./crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
[root@oelracn1 bin]# 

2) Perform local backup of OCR:



3) Create new directory structure for 12c Grid Infrastructure SW:

> Create new directories for 12c Grid Infrastructure software with all required privileges

11gR2 GI Home Directory => "/u01/11g_grid"
12cR1 GI Home Directory => "/u01/grid_12c"

4) Run cluvfy utility to verify any errors:

- Before running cluvfy make sure that following entries are added in "/etc/resolve.conf" to avoid errors related to DNS

[root@oelracn1 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search oralabs.com
nameserver 192.168.1.1
options timeout:1 attempts:1 rotate #added for error PRVF-5636
[root@oelracn1 ~]# 

- Exeucte "runcluvfy.sh" from 12cR1 software:

[oracle@oelracn1 bin]$ ./runcluvfy.sh stage -pre crsinst -upgrade -n oelracn1,oelracn2 -rolling -src_crshome /u01/11g_grid -dest_crshome /u01/grid_12c -dest_version 12.1.0.1.0 -verbose

src_crshome    - Existing 11gR2 GI home
dest_crshome  - Target 12cR1 GI home

Output:

Performing pre-checks for cluster services setup 

Checking node reachability...

Check: Node reachability from node "oelracn1"
  Destination Node                      Reachable?              
  ------------------------------------  ------------------------
  oelracn1                              yes                     
  oelracn2                              yes                     
Result: Node reachability check passed from node "oelracn1"


Checking user equivalence...

Check: User equivalence for user "oracle"
  Node Name                             Status                  
  ------------------------------------  ------------------------
  oelracn2                              passed                  
  oelracn1                              passed                  
Result: User equivalence check passed for user "oracle"

Checking CRS user consistency
Result: CRS user consistency check successful
Checking ASM disk size consistency
All ASM disks are correctly sized

Checking node connectivity...

Checking hosts config file...
  Node Name                             Status                  
  ------------------------------------  ------------------------
  oelracn1                              passed                  
  oelracn2                              passed                  
[oracle@oelracn1 ~]$ more pre12c_CRS_upgrade
pre12c_CRS_upgrade_1.log  pre12c_CRS_upgrade.log    
[oracle@oelracn1 ~]$ more pre12c_CRS_upgrade_1.log 

Performing pre-checks for cluster services setup 

Checking node reachability...

Check: Node reachability from node "oelracn1"
  Destination Node                      Reachable?              
  ------------------------------------  ------------------------
  oelracn1                              yes                     
  oelracn2                              yes                     
Result: Node reachability check passed from node "oelracn1"


Checking user equivalence...

Check: User equivalence for user "oracle"
  Node Name                             Status                  
  ------------------------------------  ------------------------
  oelracn2                              passed                  
  oelracn1                              passed                  
Result: User equivalence check passed for user "oracle"

Checking CRS user consistency
Result: CRS user consistency check successful
Checking ASM disk size consistency
All ASM disks are correctly sized

Checking node connectivity...

Checking hosts config file...
  Node Name                             Status                  
  ------------------------------------  ------------------------
  oelracn1                              passed                  
  oelracn2                              passed                  

Verification of the hosts config file successful


Interface information for node "oelracn1"
 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU   
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth1   10.10.15.11     10.0.0.0        0.0.0.0         192.168.1.1     08:00:27:B0:DA:D8 1500  
 eth1   169.254.113.189 169.254.0.0     0.0.0.0         192.168.1.1     08:00:27:B0:DA:D8 1500  
 eth0   192.168.1.121   192.168.1.0     0.0.0.0         192.168.1.1     08:00:27:DF:17:C5 1500  
 eth0   192.168.1.131   192.168.1.0     0.0.0.0         192.168.1.1     08:00:27:DF:17:C5 1500  
 virbr0 192.168.122.1   192.168.122.0   0.0.0.0         192.168.1.1     52:54:00:E4:D7:42 1500  


Interface information for node "oelracn2"
 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU   
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth1   10.10.15.12     10.0.0.0        0.0.0.0         192.168.1.1     08:00:27:BE:74:DC 1500  
 eth1   169.254.251.65  169.254.0.0     0.0.0.0         192.168.1.1     08:00:27:BE:74:DC 1500  
 eth0   192.168.1.122   192.168.1.0     0.0.0.0         192.168.1.1     08:00:27:B4:1B:53 1500  
 eth0   192.168.1.132   192.168.1.0     0.0.0.0         192.168.1.1     08:00:27:B4:1B:53 1500  
 eth0   192.168.1.141   192.168.1.0     0.0.0.0         192.168.1.1     08:00:27:B4:1B:53 1500  
 virbr0 192.168.122.1   192.168.122.0   0.0.0.0         192.168.1.1     52:54:00:E4:D7:42 1500  


Check: Node connectivity using interfaces on subnet "192.168.1.0"

Check: Node connectivity of subnet "192.168.1.0"
  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  oelracn1[192.168.1.131]         oelracn2[192.168.1.141]         yes             
  oelracn1[192.168.1.131]         oelracn1[192.168.1.121]         yes             
  oelracn1[192.168.1.131]         oelracn2[192.168.1.122]         yes             
  oelracn1[192.168.1.131]         oelracn2[192.168.1.132]         yes             
  oelracn2[192.168.1.141]         oelracn1[192.168.1.121]         yes             
  oelracn2[192.168.1.141]         oelracn2[192.168.1.122]         yes             
  oelracn2[192.168.1.141]         oelracn2[192.168.1.132]         yes             
  oelracn1[192.168.1.121]         oelracn2[192.168.1.122]         yes             
  oelracn1[192.168.1.121]         oelracn2[192.168.1.132]         yes             
  oelracn2[192.168.1.122]         oelracn2[192.168.1.132]         yes             
Result: Node connectivity passed for subnet "192.168.1.0" with node(s) oelracn1,oelracn2


Check: TCP connectivity of subnet "192.168.1.0"
  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  oelracn1:192.168.1.131          oelracn2:192.168.1.141          passed          
  oelracn1:192.168.1.131          oelracn1:192.168.1.121          passed          
  oelracn1:192.168.1.131          oelracn2:192.168.1.122          passed          
  oelracn1:192.168.1.131          oelracn2:192.168.1.132          passed          
Result: TCP connectivity check passed for subnet "192.168.1.0"


Check: Node connectivity using interfaces on subnet "10.0.0.0"

Check: Node connectivity of subnet "10.0.0.0"
  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  oelracn1[10.10.15.11]           oelracn2[10.10.15.12]           yes             
Result: Node connectivity passed for subnet "10.0.0.0" with node(s) oelracn1,oelracn2


Check: TCP connectivity of subnet "10.0.0.0"
  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  oelracn1:10.10.15.11            oelracn2:10.10.15.12            passed          
Result: TCP connectivity check passed for subnet "10.0.0.0"

Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "10.0.0.0".
Subnet mask consistency check passed for subnet "192.168.1.0".
Subnet mask consistency check passed.

Result: Node connectivity check passed

Checking multicast communication...

Checking subnet "10.0.0.0" for multicast communication with multicast group "224.0.0.251"...
Check of subnet "10.0.0.0" for multicast communication with multicast group "224.0.0.251" passed.

Check of multicast communication passed.
Task ASM Integrity check started...


Starting check to see if ASM is running on all cluster nodes...

ASM Running check passed. ASM is running on all specified nodes

Starting Disk Groups check to see if at least one Disk Group configured...
Disk Group Check passed. At least one Disk Group configured

Task ASM Integrity check passed...

Checking OCR integrity...

OCR integrity check passed

Checking ASMLib configuration.
  Node Name                             Status                  
  ------------------------------------  ------------------------
  oelracn1                              passed                  
  oelracn2                              passed                  
Result: Check for ASMLib configuration passed.

Check: Total memory 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      4.0502GB (4246908.0KB)    4GB (4194304.0KB)         passed    
  oelracn1      4.0502GB (4246908.0KB)    4GB (4194304.0KB)         passed    
Result: Total memory check passed

Check: Available memory 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      2.7339GB (2866688.0KB)    50MB (51200.0KB)          passed    
  oelracn1      2.2893GB (2400484.0KB)    50MB (51200.0KB)          passed    
Result: Available memory check passed

Check: Swap space 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      8GB (8388600.0KB)         4.0502GB (4246908.0KB)    passed    
  oelracn1      8GB (8388600.0KB)         4.0502GB (4246908.0KB)    passed    
Result: Swap space check passed

Check: Free disk space for "oelracn2:/usr,oelracn2:/var,oelracn2:/etc,oelracn2:/sbin,oelracn2:/tmp" 
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /usr              oelracn2      /             4.1729GB      1.0635GB      passed      
  /var              oelracn2      /             4.1729GB      1.0635GB      passed      
  /etc              oelracn2      /             4.1729GB      1.0635GB      passed      
  /sbin             oelracn2      /             4.1729GB      1.0635GB      passed      
  /tmp              oelracn2      /             4.1729GB      1.0635GB      passed      
Result: Free disk space check passed for "oelracn2:/usr,oelracn2:/var,oelracn2:/etc,oelracn2:/sbin,oelracn2:/tmp"
Check: Free disk space for "oelracn1:/usr,oelracn1:/var,oelracn1:/etc,oelracn1:/sbin,oelracn1:/tmp" 
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /usr              oelracn1      /             3.9001GB      1.0635GB      passed      
  /var              oelracn1      /             3.9001GB      1.0635GB      passed      
  /etc              oelracn1      /             3.9001GB      1.0635GB      passed      
  /sbin             oelracn1      /             3.9001GB      1.0635GB      passed      
  /tmp              oelracn1      /             3.9001GB      1.0635GB      passed      
Result: Free disk space check passed for "oelracn1:/usr,oelracn1:/var,oelracn1:/etc,oelracn1:/sbin,oelracn1:/tmp"

Check: Free disk space for "oelracn2:/u01/11g_grid" 
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /u01/11g_grid     oelracn2      /u01          29.6562GB     6.9GB         passed      
Result: Free disk space check passed for "oelracn2:/u01/11g_grid"

Check: Free disk space for "oelracn1:/u01/11g_grid" 
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /u01/11g_grid     oelracn1      /u01          23.54GB       6.9GB         passed      
Result: Free disk space check passed for "oelracn1:/u01/11g_grid"

Check: User existence for "oracle" 
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  oelracn2      passed                    exists(500)             
  oelracn1      passed                    exists(500)             

Checking for multiple users with UID value 500
Result: Check for multiple users with UID value 500 passed 
Result: User existence check passed for "oracle"
Check: Group existence for "dbarac" 
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  oelracn2      passed                    exists                  
  oelracn1      passed                    exists                  
Result: Group existence check passed for "dbarac"

Check: Group existence for "dba" 
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  oelracn2      failed                    does not exist          
  oelracn1      failed                    does not exist          
Result: Group existence check failed for "dba"

Check: Membership of user "oracle" in group "dbarac" [as Primary]
  Node Name         User Exists   Group Exists  User in Group  Primary       Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn2          yes           yes           yes           yes           passed      
  oelracn1          yes           yes           yes           yes           passed      
Result: Membership check for user "oracle" in group "dbarac" [as Primary] passed

Check: Membership of user "oracle" in group "dba" 
  Node Name         User Exists   Group Exists  User in Group  Status          
  ----------------  ------------  ------------  ------------  ----------------
  oelracn2          yes           yes           no            failed          
  oelracn1          yes           yes           no            failed          
Result: Membership check for user "oracle" in group "dba" failed

Check: Run level 
  Node Name     run level                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      5                         3,5                       passed    
  oelracn1      5                         3,5                       passed    
Result: Run level check passed
Check: Hard limits for "maximum open file descriptors" 
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  oelracn2          hard          65536         65536         passed          
  oelracn1          hard          65536         65536         passed          
Result: Hard limits check passed for "maximum open file descriptors"

Check: Soft limits for "maximum open file descriptors" 
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  oelracn2          soft          1024          1024          passed          
  oelracn1          soft          1024          1024          passed          
Result: Soft limits check passed for "maximum open file descriptors"

Check: Hard limits for "maximum user processes" 
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  oelracn2          hard          16384         16384         passed          
  oelracn1          hard          16384         16384         passed          
Result: Hard limits check passed for "maximum user processes"

Check: Soft limits for "maximum user processes" 
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  oelracn2          soft          2047          2047          passed          
  oelracn1          soft          2047          2047          passed          
Result: Soft limits check passed for "maximum user processes"

There are no oracle patches required for home "/u01/11g_grid".

There are no oracle patches required for home "/u01/11g_grid".

Checking for suitability of source home "/u01/11g_grid" for upgrading to version "12.1.0.1.0".

Result: Source home "/u01/11g_grid" is suitable for upgrading to version "12.1.0.1.0".

Check: System architecture 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      x86_64                    x86_64                    passed    
  oelracn1      x86_64                    x86_64                    passed    
Result: System architecture check passed

Check: Kernel version 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      2.6.32-100.34.1.el6uek.x86_64  2.6.32                    passed    
  oelracn1      2.6.32-100.34.1.el6uek.x86_64  2.6.32                    passed    
Result: Kernel version check passed

Check: Kernel parameter for "semmsl" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          250           250           250           passed          
  oelracn2          250           250           250           passed          
Result: Kernel parameter check passed for "semmsl"

Check: Kernel parameter for "semmns" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          32000         32000         32000         passed          
  oelracn2          32000         32000         32000         passed          
Result: Kernel parameter check passed for "semmns"

Check: Kernel parameter for "semopm" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          100           100           100           passed          
  oelracn2          100           100           100           passed          
Result: Kernel parameter check passed for "semopm"

Check: Kernel parameter for "semmni" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          128           128           128           passed          
  oelracn2          128           128           128           passed          
Result: Kernel parameter check passed for "semmni"

Check: Kernel parameter for "shmmax" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          4398046511104  4398046511104  2174416896    passed          
  oelracn2          4398046511104  4398046511104  2174416896    passed          
Result: Kernel parameter check passed for "shmmax"

Check: Kernel parameter for "shmmni" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          4096          4096          4096          passed          
  oelracn2          4096          4096          4096          passed          
Result: Kernel parameter check passed for "shmmni"

Check: Kernel parameter for "shmall" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          1073741824    1073741824    424690        passed          
  oelracn2          1073741824    1073741824    424690        passed          
Result: Kernel parameter check passed for "shmall"

Check: Kernel parameter for "file-max" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          6815744       6815744       6815744       passed          
  oelracn2          6815744       6815744       6815744       passed          
Result: Kernel parameter check passed for "file-max"

Check: Kernel parameter for "ip_local_port_range" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          between 9000 & 65500  between 9000 & 65500  between 9000 & 65535  passed          
  oelracn2          between 9000 & 65500  between 9000 & 65500  between 9000 & 65535  passed          
Result: Kernel parameter check passed for "ip_local_port_range"

Check: Kernel parameter for "rmem_default" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          262144        262144        262144        passed          
  oelracn2          262144        262144        262144        passed          
Result: Kernel parameter check passed for "rmem_default"

Check: Kernel parameter for "rmem_max" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          4194304       4194304       4194304       passed          
  oelracn2          4194304       4194304       4194304       passed          
Result: Kernel parameter check passed for "rmem_max"

Check: Kernel parameter for "wmem_default" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          262144        262144        262144        passed          
  oelracn2          262144        262144        262144        passed          
Result: Kernel parameter check passed for "wmem_default"

Check: Kernel parameter for "wmem_max" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          1048576       1048576       1048576       passed          
  oelracn2          1048576       1048576       1048576       passed          
Result: Kernel parameter check passed for "wmem_max"

Check: Kernel parameter for "aio-max-nr" 
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  oelracn1          1048576       1048576       1048576       passed          
  oelracn2          1048576       1048576       1048576       passed          
Result: Kernel parameter check passed for "aio-max-nr"

Check: Package existence for "binutils" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      binutils-2.20.51.0.2-5.20.el6  binutils-2.20.51.0.2      passed    
  oelracn1      binutils-2.20.51.0.2-5.20.el6  binutils-2.20.51.0.2      passed    
Result: Package existence check passed for "binutils"

Check: Package existence for "compat-libcap1" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      compat-libcap1-1.10-1     compat-libcap1-1.10       passed    
  oelracn1      compat-libcap1-1.10-1     compat-libcap1-1.10       passed    
Result: Package existence check passed for "compat-libcap1"

Check: Package existence for "compat-libstdc++-33(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      compat-libstdc++-33(x86_64)-3.2.3-69.el6  compat-libstdc++-33(x86_64)-3.2.3  passed    
  oelracn1      compat-libstdc++-33(x86_64)-3.2.3-69.el6  compat-libstdc++-33(x86_64)-3.2.3  passed    
Result: Package existence check passed for "compat-libstdc++-33(x86_64)"

Check: Package existence for "libgcc(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      libgcc(x86_64)-4.4.5-6.el6  libgcc(x86_64)-4.4.4      passed    
  oelracn1      libgcc(x86_64)-4.4.5-6.el6  libgcc(x86_64)-4.4.4      passed    
Result: Package existence check passed for "libgcc(x86_64)"

Check: Package existence for "libstdc++(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      libstdc++(x86_64)-4.4.5-6.el6  libstdc++(x86_64)-4.4.4   passed    
  oelracn1      libstdc++(x86_64)-4.4.5-6.el6  libstdc++(x86_64)-4.4.4   passed    
Result: Package existence check passed for "libstdc++(x86_64)"

Check: Package existence for "libstdc++-devel(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      libstdc++-devel(x86_64)-4.4.5-6.el6  libstdc++-devel(x86_64)-4.4.4  passed    
  oelracn1      libstdc++-devel(x86_64)-4.4.5-6.el6  libstdc++-devel(x86_64)-4.4.4  passed    
Result: Package existence check passed for "libstdc++-devel(x86_64)"

Check: Package existence for "sysstat" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      sysstat-9.0.4-18.el6      sysstat-9.0.4             passed    
  oelracn1      sysstat-9.0.4-18.el6      sysstat-9.0.4             passed    
Result: Package existence check passed for "sysstat"

Check: Package existence for "gcc" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      gcc-4.4.5-6.el6           gcc-4.4.4                 passed    
  oelracn1      gcc-4.4.5-6.el6           gcc-4.4.4                 passed    
Result: Package existence check passed for "gcc"

Check: Package existence for "gcc-c++" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      gcc-c++-4.4.5-6.el6       gcc-c++-4.4.4             passed    
  oelracn1      gcc-c++-4.4.5-6.el6       gcc-c++-4.4.4             passed    
Result: Package existence check passed for "gcc-c++"

Check: Package existence for "ksh" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      ksh-20100621-6.el6        ksh-...                   passed    
  oelracn1      ksh-20100621-6.el6        ksh-...                   passed    
Result: Package existence check passed for "ksh"

Check: Package existence for "make" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      make-3.81-19.el6          make-3.81                 passed    
  oelracn1      make-3.81-19.el6          make-3.81                 passed    
Result: Package existence check passed for "make"

Check: Package existence for "glibc(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      glibc(x86_64)-2.12-1.25.el6  glibc(x86_64)-2.12        passed    
  oelracn1      glibc(x86_64)-2.12-1.25.el6  glibc(x86_64)-2.12        passed    
Result: Package existence check passed for "glibc(x86_64)"

Check: Package existence for "glibc-devel(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      glibc-devel(x86_64)-2.12-1.25.el6  glibc-devel(x86_64)-2.12  passed    
  oelracn1      glibc-devel(x86_64)-2.12-1.25.el6  glibc-devel(x86_64)-2.12  passed    
Result: Package existence check passed for "glibc-devel(x86_64)"

Check: Package existence for "libaio(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      libaio(x86_64)-0.3.107-10.el6  libaio(x86_64)-0.3.107    passed    
  oelracn1      libaio(x86_64)-0.3.107-10.el6  libaio(x86_64)-0.3.107    passed    
Result: Package existence check passed for "libaio(x86_64)"

Check: Package existence for "libaio-devel(x86_64)" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      libaio-devel(x86_64)-0.3.107-10.el6  libaio-devel(x86_64)-0.3.107  passed    
  oelracn1      libaio-devel(x86_64)-0.3.107-10.el6  libaio-devel(x86_64)-0.3.107  passed    
Result: Package existence check passed for "libaio-devel(x86_64)"

Check: Package existence for "nfs-utils" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      nfs-utils-1.2.3-7.el6     nfs-utils-1.2.3-15        failed    
  oelracn1      nfs-utils-1.2.3-7.el6     nfs-utils-1.2.3-15        failed    
Result: Package existence check failed for "nfs-utils"

Checking for multiple users with UID value 0
Result: Check for multiple users with UID value 0 passed 

Check: Current group ID 
Result: Current group ID check passed

Starting check for consistency of primary group of root user
  Node Name                             Status                  
  ------------------------------------  ------------------------
  oelracn2                              passed                  
  oelracn1                              passed                  

Check for consistency of root user's primary group passed

Check: Package existence for "cvuqdisk" 
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  oelracn2      cvuqdisk-1.0.9-1          cvuqdisk-1.0.9-1          passed    
  oelracn1      cvuqdisk-1.0.9-1          cvuqdisk-1.0.9-1          passed    
Result: Package existence check passed for "cvuqdisk"

Starting Clock synchronization checks using Network Time Protocol(NTP)...

NTP Configuration file check started...
Network Time Protocol(NTP) configuration file not found on any of the nodes. Oracle Cluster Time Synchronization Service(CTSS
) can be used instead of NTP for time synchronization on the cluster nodes
No NTP Daemons or Services were found to be running

Result: Clock synchronization check using Network Time Protocol(NTP) passed

Checking Core file name pattern consistency...
Core file name pattern consistency check passed.

Checking to make sure user "oracle" is not in "root" group
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  oelracn2      passed                    does not exist          
  oelracn1      passed                    does not exist          
Result: User "oracle" is not part of "root" group. Check passed

Check default user file creation mask
  Node Name     Available                 Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  oelracn2      0022                      0022                      passed    
  oelracn1      0022                      0022                      passed    
Result: Default user file creation mask check passed
Checking integrity of file "/etc/resolv.conf" across nodes

Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined
"domain" and "search" entries do not coexist in any  "/etc/resolv.conf" file
Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...
"domain" entry does not exist in any "/etc/resolv.conf" file
Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...
Checking file "/etc/resolv.conf" to make sure that only one search entry is defined
More than one "search" entry does not exist in any "/etc/resolv.conf" file
All nodes have same "search" order defined in file "/etc/resolv.conf"
Checking DNS response time for an unreachable node
  Node Name                             Status                  
  ------------------------------------  ------------------------
  oelracn1                              passed                  
  oelracn2                              passed                  
The DNS response time for an unreachable node is within acceptable limit on all nodes

Check for integrity of file "/etc/resolv.conf" passed


UDev attributes check for OCR locations started...
Result: UDev attributes check passed for OCR locations 


UDev attributes check for Voting Disk locations started...
Result: UDev attributes check passed for Voting Disk locations 

Check: Time zone consistency 
Result: Time zone consistency check passed
Checking VIP configuration.
Checking VIP Subnet configuration.
Check for VIP Subnet configuration passed.
Checking VIP reachability
Check for VIP reachability passed.

Checking Oracle Cluster Voting Disk configuration...

Oracle Cluster Voting Disk configuration check passed

Clusterware version consistency passed.

Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ...
Checking if "hosts" entry in file "/etc/nsswitch.conf" is consistent across nodes...
Checking file "/etc/nsswitch.conf" to make sure that only one "hosts" entry is defined
More than one "hosts" entry does not exist in any "/etc/nsswitch.conf" file
All nodes have same "hosts" entry defined in file "/etc/nsswitch.conf"
Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed


Checking daemon "avahi-daemon" is not configured and running

Check: Daemon "avahi-daemon" not configured
  Node Name     Configured                Status                  
  ------------  ------------------------  ------------------------
  oelracn2      yes                       failed                  
  oelracn1      yes                       failed                  
Daemon not configured check failed for process "avahi-daemon"

Check: Daemon "avahi-daemon" not running
  Node Name     Running?                  Status                  
  ------------  ------------------------  ------------------------
  oelracn2      yes                       failed                  
  oelracn1      yes                       failed                  
Daemon not running check failed for process "avahi-daemon"

Starting check for Reverse path filter setting ...
Reverse path filter setting is correct for all private interconnect network interfaces on node "oelracn2".
Reverse path filter setting is correct for all private interconnect network interfaces on node "oelracn1".

Check for Reverse path filter setting passed

Starting check for /dev/shm mounted as temporary file system ...

Check for /dev/shm mounted as temporary file system passed

Pre-check for cluster services setup was unsuccessful on all the nodes. 


Failures on:

a) avahi-daemon (can be fixed with Oui fixup scripts)
b) nfs-util package (can be ignored as package exists with lower version) -If this package can be Installed then its recommended to Install it.

5) Install and Upgrade GI from 11gR2 to 12cR1:

- Make sure that database Instances are down from both the nodes as this is not a rolling upgrade:

[oracle@oelracn1 ~]$ srvctl status database -d OELPROD
Instance OELPROD1 is not running on node oelracn1
Instance OELPROD2 is not running on node oelracn2
[oracle@oelracn1 ~]$  

- Execute "runInstaller" form 12cR1 GI software stage:



















- Execute fixup scripts on both noes:


[root@oelracn2 bin]# /tmp/CVU_12.1.0.1.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
[root@oelracn2 bin]# 

[root@oelracn1 bin]# /tmp/CVU_12.1.0.1.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
[root@oelracn2 bin]# 











- Run script "rootupgrade.sh" on both the nodes as listed.

[root@oelracn1 ~]# /u01/grid_12c/rootupgrade.sh
Performing root user operation for Oracle 12c 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/grid_12c

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/grid_12c/crs/install/crsconfig_params
2014/05/21 12:25:46 CLSRSC-363: User ignored prerequisites during installation


ASM upgrade has started on first node.

OLR initialization - successful
2014/05/21 12:27:41 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.conf'

CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
2014/05/21 12:31:41 CLSRSC-343: Successfully started Oracle clusterware stack

clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 11g Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2014/05/21 12:33:26 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

[root@oelracn1 ~]# 


[root@oelracn2 ~]# /u01/grid_12c/rootupgrade.sh
Performing root user operation for Oracle 12c 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/grid_12c

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/grid_12c/crs/install/crsconfig_params
2014/05/21 12:39:49 CLSRSC-363: User ignored prerequisites during installation

OLR initialization - successful
2014/05/21 12:40:58 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.conf'

CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
2014/05/21 12:44:51 CLSRSC-343: Successfully started Oracle clusterware stack

clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 12c Release 1.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Start upgrade invoked..
Started to upgrade the Oracle Clusterware. This operation may take a few minutes.
Started to upgrade the OCR.
Started to upgrade the CSS.
The CSS was successfully upgraded.
Started to upgrade Oracle ASM.
Started to upgrade the CRS.
The CRS was successfully upgraded.
Oracle Clusterware operating version was successfully set to 12.1.0.1.0
2014/05/21 12:47:58 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

[root@oelracn2 ~]#









6) Verify Upgrade:

[oracle@oelracn1 bin]$ ./crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [12.1.0.1.0]
[oracle@oelracn1 bin]$ 




There are no much difference in upgrading from to 12cR1 Grid Infrastructure home when compared to 11.2.0.1 to 11.2.0.2/11.2.0.3/11.2.0.4 GI upgrade.

If you are upgrading from 11.2.0.1/11.2.0.2/11.2.0.3 to 12cR1 then you may need to apply additional patches before you proceed with upgrade.

I hope this post will be helpful for all individuals who were looking for step by step article for upgrading thier Grid Infrastructure Software (RAC) from 11gR2 to 12cR1.

Thanks for reading.

regards,
X A H E E R 



Comments

Blogger said…
Strange "water hack" burns 2lbs overnight

More than 160 000 women and men are losing weight with a simple and SECRET "water hack" to lose 1-2 lbs each night as they sleep.

It's very easy and it works every time.

This is how to do it yourself:

1) Go get a clear glass and fill it up with water half full

2) Now use this weight loss hack

you'll become 1-2 lbs skinnier as soon as tomorrow!

Popular posts from this blog

Disable Firewall on Oracle Linux 8

In this blogpost we will see how we can stop/disable the firewall on Oracle Linux 8, the firewall command is same in both linux 7 an linux 8. The below listed is the procedure for stopping and disabling the  firewall on Oracle Linux 8. - Here we can see the firewall deamon in active state - Here when we stop the firewall in previous command, now the firewall daemon is dead - For permanent disabling the firewall on server, we can use "disable" option The following commands will be helpful: #systemctl status firewalld #systemctl stop firewalld #systemctl disable firewalld #systemctl enable firewalld #systemctl start firewalld Hope it helps !! Thanks for reading :) regards, X A H E E R

Enable Desktop on Oracle Solaris 11.4

Oracle Solaris 11 installation has multiple options to choose for installation of an Operating Environment, but mostly Oracle Solaris text install media is used and this installation media doesn't offer the GUI Desktop Environment by default after the installation. This blog post will explain how we can enable the desktop for Oracle Solaris 11.4 operating system, after the completion of installation. We have to install "solaris-desktop" package and reboot the machine and GUI desktop will be enabled for the Operating System. In this blog post my virtual machine is connected to the internet and hence I am able to use available pupblic repository for package installation, if in case internet is not available for the server/machine then we have configure the local/Server  repository for the installation. Follow the below steps for desktop package installation: After installation of dekstop package we are now able to login with GUI desktop environment...

Oracle Applications R12.2 Installation on Linux using virtual box

Oracle E-Business suite R12.2 is released a month ago. I received too many requests from my followers to demonstrate this Installation. This is a step by step detailed article for Installing Oracle E-business suite R12,2 on Oracle Enterprise Linux 5.7 (64-bit). I've used oracle virtual box for Installing Linux. Note:  This Installation is demonstrated on virtual machine with 8GB RAM and Installation completed in 7 hours. I am not sure whether this Installation will work with less than this .  My Virtual Machine configuration: CPU    = 1 core RAM   = 8 GB HDD   =  380 GB Software's Required: 1) Oracle Virtual Box 2) Oracle Enterprise Linux 5.7 (64-bit) 3) Oracle E-Business suite R12.2 for LinuxX86-64-bit Installation Steps: Hardware requirements Create virtual machine and Install operating system Operating System pre-requisites Prepare Stage Area Install Oracle EBS R12.2 software Verify Insta...