この項には、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の値を変更せずインストールを置き換えることができます。