Monday, April 14, 2014

Big Data Oracle NoSQL in No Time - It is time to Upgrade

Big Data Oracle NoSQL in No Time - It is time to Upgrade 
Oracle NoSQL upgrade from 11gR2 to 12cR1 ( 2.0 to 3.0 )

Index
Big Data Oracle NoSQL in No Time - Getting Started Part 1
Big Data Oracle NoSQL in No Time - Startup & Shutdown Part 2

Big Data Oracle NoSQL in No Time - Setting up 1x1 Topology Part 3
Big Data Oracle NoSQL in No Time - Expanding 1x1 to 3x1 Topology Part 4
Big Data Oracle NoSQL in No Time - From 3x1 to 3x3 Topology Part 5
Big Data Oracle NoSQL in No Time - Smoke Testing Part 6
Big Data Oracle NoSQL in No Time - Increasing Throughput Read/Write Part 7
Big Data Oracle NoSQL in No Time - It is time to Upgrade
Big Data Oracle NoSQL in No Time - It is time to Load Data for a Simple Use Case

The upgrade is simple , nosql is brilliant with its simplicity.














The below are the steps

  • verify prerequisite - here we verify that the storage nodes are meeting the required prerequisite for upgrading.
  • show upgrade-order - here we get the list of storage nodes in order that can be upgraded
  • replace the software - unzip the new software
  • verify upgrade - we verify if the storage nodes are upgraded to the version that we downloaded.
In our scenario we have 4x4 deployment topology with one admin node and here we will upgrade from 11gR2 to 12cR1
First let us upgrade on of the admin node.


$ export KVHOME=$KVBASE/server1/oraclesoftware/kv-2.0.39
$ java -jar $KVHOME/lib/kvstore.jar stop -root $KVBASE/server1/storage
$ cd $KVBASE/server1/oraclesoftware
$ cp -Rf $KVBASE/stage/kv-3.0.5 .
$ export KVHOME=$KVBASE/server1/oraclesoftware/kv-3.0.5
$ nohup java -jar $KVHOME/lib/kvstore.jar start -root $KVBASE/server1/storage &
$ nohup: appending output to `nohup.out'
$ java -jar $KVHOME/lib/kvstore.jar runadmin -port 5000 -host server1
kv-> verify prerequisite
Verify: starting verification of mystore based upon topology sequence #84
30 partitions and 4 storage nodes. Version: 12.1.3.0.5 Time: 2014-04-14 08:33:50 UTC
See server1:$KVBASE/server1/storage/mystore/log/mystore_{0..N}.log for progress messages
Verify prerequisite: Storage Node [sn3] on server3:5200    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 11gR2.2.0.39 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn4] on server4:5300    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 11gR2.2.0.39 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn1] on server1:5000    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn2] on server2:5100    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 11gR2.2.0.39 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verification complete, no violations.
kv->
kv-> show upgrade-order
Calculating upgrade order, target version: 12.1.3.0.5, prerequisite: 11.2.2.0.23
sn3
sn4
sn2
kv->

In our case the upgrade order is determined to be sn3,sn4 and then sn2. We can verify the upgrade order at each stage.

Now let us upgrade SN3

$ export KVHOME=$KVBASE/server3/oraclesoftware/kv-2.0.39
$ java -jar $KVHOME/lib/kvstore.jar stop -root $KVBASE/server3/storage
$
$ cd $KVBASE/server3/oraclesoftware
$ cp -Rf $KVBASE/stage/kv-3.0.5 .
$ export KVHOME=$KVBASE/server3/oraclesoftware/kv-3.0.5
$ nohup java -jar $KVHOME/lib/kvstore.jar start -root $KVBASE/server3/storage &
$

kv->  verify prerequisite
Verify: starting verification of mystore based upon topology sequence #84
30 partitions and 4 storage nodes. Version: 12.1.3.0.5 Time: 2014-04-14 08:40:31 UTC
See server1:$KVBASE/server1/storage/mystore/log/mystore_{0..N}.log for progress messages
Verify prerequisite: Storage Node [sn3] on server3:5200    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn4] on server4:5300    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 11gR2.2.0.39 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn1] on server1:5000    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn2] on server2:5100    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 11gR2.2.0.39 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verification complete, no violations.
kv->
kv-> show upgrade-order
Calculating upgrade order, target version: 12.1.3.0.5, prerequisite: 11.2.2.0.23
sn4
sn2

kv->


Now let us upgrade SN4

$  export KVHOME=$KVBASE/server4/oraclesoftware/kv-2.0.39
$ java -jar $KVHOME/lib/kvstore.jar stop -root $KVBASE/server4/storage
$
$ cd $KVBASE/server4/oraclesoftware
$ cp -Rf $KVBASE/stage/kv-3.0.5 .
$ export KVHOME=$KVBASE/server4/oraclesoftware/kv-3.0.5
$ nohup java -jar $KVHOME/lib/kvstore.jar start -root $KVBASE/server4/storage &
$

kv-> verify prerequisite
Verify: starting verification of mystore based upon topology sequence #84
30 partitions and 4 storage nodes. Version: 12.1.3.0.5 Time: 2014-04-14 08:42:30 UTC
See server1:$KVBASE/server1/storage/mystore/log/mystore_{0..N}.log for progress messages
Verify prerequisite: Storage Node [sn3] on server3:5200    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn4] on server4:5300    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn1] on server1:5000    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn2] on server2:5100    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 11gR2.2.0.39 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verification complete, no violations.
kv->

kv-> show upgrade-order
Calculating upgrade order, target version: 12.1.3.0.5, prerequisite: 11.2.2.0.23
sn2

kv->

Now let us upgrade the last pending storage node SN2

$ export KVHOME=$KVBASE/server2/oraclesoftware/kv-2.0.39
$ java -jar $KVHOME/lib/kvstore.jar stop -root $KVBASE/server2/storage
$
$ cd $KVBASE/server2/oraclesoftware
$ cp -Rf $KVBASE/stage/kv-3.0.5 .
$ export KVHOME=$KVBASE/server2/oraclesoftware/kv-3.0.5
$ nohup java -jar $KVHOME/lib/kvstore.jar start -root $KVBASE/server2/storage &
$

kv-> verify prerequisite
Verify: starting verification of mystore based upon topology sequence #84
30 partitions and 4 storage nodes. Version: 12.1.3.0.5 Time: 2014-04-14 08:44:12 UTC
See server1:$KVBASE/server1/storage/mystore/log/mystore_{0..N}.log for progress messages
Verify prerequisite: Storage Node [sn3] on server3:5200    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn4] on server4:5300    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn1] on server1:5000    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify prerequisite: Storage Node [sn2] on server2:5100    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verification complete, no violations.
kv->

kv-> show upgrade-order
Calculating upgrade order, target version: 12.1.3.0.5, prerequisite: 11.2.2.0.23
There are no nodes that need to be upgraded
kv->

Let us quickly verify the upgrade process

kv-> verify upgrade
Verify: starting verification of mystore based upon topology sequence #84
30 partitions and 4 storage nodes. Version: 12.1.3.0.5 Time: 2014-04-14 08:44:27 UTC
See server1:$KVBASE/server1/storage/mystore/log/mystore_{0..N}.log for progress messages
Verify upgrade: Storage Node [sn3] on server3:5200    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify upgrade: Storage Node [sn4] on server4:5300    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify upgrade: Storage Node [sn1] on server1:5000    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407
Verify upgrade: Storage Node [sn2] on server2:5100    Zone: [name=datacenter1 id=zn1 type=PRIMARY]    Status: RUNNING   Ver: 12cR1.3.0.5 2014-03-27 10:00:25 UTC  Build id: cc4ac0e66407

Verification complete, no violations.
kv->


As a Oracle DBA I know the complexity in upgrade but upgrading NoSQL is different.


Popular Posts