この項には、Oracle NoSQL Databaseのすべてのバージョンに一般的に当てはまるアップグレード情報が含まれています。特定のリリースに関するアップグレードの手順および注意事項は、その後の項に記載されています。
Oracle NoSQL Databaseが初めてインストールされる際、コンピュータごと、または必要に応じて複数のストレージ・ノードによって(NFSを使用するなどして)共有されるKVHOMEディレクトリに配置されます。ここでは、この既存のKVHOMEの場所をOLD_KVHOMEと呼びます。
インストールでリリース番号を含める規則をKVHOMEに使用すると、便利です。つまり、/var/kv/kv-M.N.O(M.N.Oはrelease.major.minor番号)のようなKVHOMEの場所を常に使用します。これは、単にディストリビューションを一般的なディレクトリ(この例では、/var/kv)に展開するだけで簡単に行えます。
新規ソフトウェアをインストールする場合、各ノードを再起動する必要があります。Oracle NoSQL Databaseはレプリケートされたシステムであるため、過度なフェイルオーバー・イベントを防ぐには、マスターとして稼働しているノードは、レプリカとマークされているすべてのノードの後に再起動することをお薦めします。次のコマンドによって、マスター・ノードとレプリカ・ノードを区別できます。
java -Xmx256m -Xms256m \ -jar KVHOME/lib/kvstore.jar ping -host <hostname> -port <port>
プロセスをデバッグしやすくするために、ノードをアップグレード中にストレージ・ノードが停止しているときに、KVROOTおよびKVROOT/<storename>/logにある既存のログ・ファイルを他のディレクトリに移動しておく必要があります。
ストア内のアクティブなノードのホストとレジストリ・ポートを使用します。たとえば、次の例ではrg1-rn1およびrg2-rn1がMASTERとして実行しているため、最後に再起動する必要があります。
java -Xmx256m -Xms256m \
-jar KVHOME/lib/kvstore.jar ping -port 5000 -host node01
Pinging components of store mystore based upon topology sequence #315
300 partitions and 6 storage nodes
Time: 2015-06-11 04:49:17 UTC Version: 12.1.3.4.0
Shard Status: healthy:2 writable-degraded:0 read-only:0 offline:0
Admin Status: healthy
Zone [name=Boston id=zn1 type=PRIMARY]
RN Status: online:6 offline:0 maxDelayMillis:1 maxCatchupTimeSecs:0
Storage Node [sn1] on node01:5000
Zone: [name=Boston id=zn1 type=PRIMARY] Status: RUNNING
Ver: 12cR1.3.4.0 2015-05-29 12:09:04 UTC Build id: db9ec397225c
Admin [admin1] Status: RUNNING,MASTER
Rep Node [rg1-rn1] Status: RUNNING,MASTER
sequenceNumber:327 haPort:5011
Storage Node [sn2] on node02:6000
Zone: [name=Boston id=zn1 type=PRIMARY] Status: RUNNING
Ver: 12cR1.3.4.0 2015-05-29 12:09:04 UTC Build id: db9ec397225c
Rep Node [rg1-rn2] Status: RUNNING,REPLICA
sequenceNumber:327 haPort:6010 delayMillis:1 catchupTimeSecs:0
Storage Node [sn3] on node03:7000
Zone: [name=Boston id=zn1 type=PRIMARY] Status: RUNNING
Ver: 12cR1.3.4.0 2015-05-29 12:09:04 UTC Build id: db9ec397225c
Rep Node [rg1-rn3] Status: RUNNING,REPLICA
sequenceNumber:327 haPort:7010 delayMillis:1 catchupTimeSecs:0
Storage Node [sn4] on node04:8000
Zone: [name=Boston id=zn1 type=PRIMARY] Status: RUNNING
Ver: 12cR1.3.4.0 2015-05-29 12:09:04 UTC Build id: db9ec397225c
Rep Node [rg2-rn1] Status: RUNNING,MASTER
sequenceNumber:327 haPort:8010
Storage Node [sn5] on node05:9000
Zone: [name=Boston id=zn1 type=PRIMARY] Status: RUNNING
Ver: 12cR1.3.4.0 2015-05-29 12:09:04 UTC Build id: db9ec397225c
Rep Node [rg2-rn2] Status: RUNNING,REPLICA
sequenceNumber:327 haPort:9010 delayMillis:1 catchupTimeSecs:0
Storage Node [sn6] on node06:10000
Zone: [name=Boston id=zn1 type=PRIMARY] Status: RUNNING
Ver: 12cR1.3.4.0 2015-05-29 12:09:04 UTC Build id: db9ec397225c
Rep Node [rg2-rn3] Status: RUNNING,REPLICA
sequenceNumber:327 haPort:10010 delayMillis:1 catchupTimeSecs:0
ストアのアップグレード時に、管理サービスを実行しているストレージ・ノード上の新規KVHOMEディレクトリに、更新されたソフトウェアを配置します。ここでは、新規KVHOMEディレクトリはNEW_KVHOMEとします。KVHOMEおよびNEW_KVHOMEディレクトリが複数のストレージ・ノードによって共有されている場合、(たとえばNFSを使用して)、アップグレードの進行中も両方の場所を維持しておく必要があります。アップグレードが完了すれば、元のKVHOMEディレクトリは必要なくなります。この場合、NEW_KVHOMEの値を参照して新しいソフトウェアが使用されるように、各ノードでの起動手順を変更する必要があります。
各ノードにソフトウェアのコピーがインストールされている場合、KVHOMEの値を変更せずインストールを置き換えることができます。