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:
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
- Exeucte "runcluvfy.sh" from 12cR1 software:
src_crshome - Existing 11gR2 GI home
dest_crshome - Target 12cR1 GI home
Output:
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:
- Execute "runInstaller" form 12cR1 GI software stage:
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
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!