アップグレードのステップ - 例

既存のリリースから新しいリリースへのデータ・ストアのアップグレードは、一度に1つのストレージ・ノードに対して実行できます。以下の例には、アップグレードの様々なシナリオが取り込まれています。各例は、Oracle NoSQL Databaseソフトウェアを新しいリリースにアップグレードする方法を示しています。

例1: この例では、Oracle NoSQL Databaseをバージョン22.1.7からバージョン24.1.11にアップグレードします。データ・ストアは、容量が1、レプリケーション係数が1です。ここで、$KVHOME/var/kv/kv-22.1.7$KVROOT/var/kv/kv-22.1.7/kvroot$KVHOSTはストレージ・ノードのホスト名です。
  • runadminコマンドを起動して、ストレージ・ノードで管理コマンドライン・インタフェース(CLI)ユーティリティを起動します。このコマンドは、kvプロンプトを起動します。
    java -jar $KVHOME/lib/kvstore.jar runadmin -host $KVHOST
    -port 5000 -security $KVROOT/security/root.login
    pingコマンドを使用して、ストレージ・ノードの管理サービスおよびすべてのマネージド・サービスをリストします。
    kv→ping
    出力:
    Pinging components of store mystore based upon topology sequence #154
    150 partitions and 1 storage nodes
    Time: 2024-04-05 06:13:33 UTC   Version: 22.1.7
    Shard Status: healthy:1 writable-degraded:0 read-only:0 offline:0 total:1
    Admin Status: healthy
    Zone [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]  
    RN Status: online:1 read-only:0 offline:0
    Storage Node [sn1] on localhost:5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver:  2024-04-05 06:14:33 UTC  
    Build id: 1473c1dac49c Edition: Enterprise
            Admin [admin1]          Status: RUNNING,MASTER
            Rep Node [rg1-rn1]      Status: RUNNING,MASTER 
            sequenceNumber:330 haPort:5006 available storage size:1023 MB
  • ストレージ・ノードが、現行バージョンにアップグレードするために必要な前提条件となるソフトウェア・バージョン以上であることを確認します。
    kv-> verify prerequisite
    出力:
    Verify: starting verification of store mystore based upon topology sequence #154
    150 partitions and 1 storage nodes
    Time: 2024-04-05 09:27:43 UTC   Version: 22.1.7
    See localhost:/var/kv/kv-22.1.7/kvroot/mystore/log/mystore_{0..N}.log 
    for progress messages
    
    Verify prerequisite: Storage Node [sn1] on localhost: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 22.1.7 2024-04-05 16:36:54 UTC  Build id: 61b68fb1a3ec 
    Edition: Enterprise    isMasterBalanced: true 
    serviceStartTime: 2024-04-05 08:55:49 UTC
    Verification complete, no violations
  • データ・ストアをアップグレードするには、最新のソフトウェアをストレージ・ノードにインストールする必要があります。詳細は、NoSQLデータベース・インストールのインストールおよび検証を参照してください。
  • Oracle NoSQL Databaseストレージ・ノード・エージェントおよび現在のOracle NoSQL Databaseのルート・ディレクトリ(22.1.7)に関連するサービスを停止します。
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar stop 
    -root $KVROOT
  • 更新されたソフトウェア・リリース(24.1.11)を使用してストレージ・ノードを再起動します.ここで、$NEW_KVHOME/var/kv/kv-24.1.11$KVROOT/var/kv/kv-22.1.7/kvrootです
    nohup java -Xmx64m -Xms64m -jar $NEW_KVHOME/lib/kvstore.jar 
    start -root $KVROOT &
  • runadminコマンドを起動して、更新されたソフトウェア・リリースを現在実行しているストレージ・ノードで管理コマンドライン・インタフェース(CLI)ユーティリティを起動します。このコマンドは、kvプロンプトを起動します。
    java -Xmx64m -Xms64m -jar $NEW_KVHOME/lib/kvstore.jar
    runadmin -port 5000 -host $KVHOST 
    -security $KVROOT/security/root.login
  • ストア構成を検証して、アップグレードが正常に完了したかどうかを確認します。
    kv-> verify configuration
    出力:
    Verify: starting verification of store mystore based upon topology sequence #154
    150 partitions and 1 storage nodes
    Time: 2024-04-05 09:33:10 UTC   Version: 24.1.11
    See localhost:/var/kv/kv-22.1.7/kvroot/mystore/log/mystore_{0..N}.log for progress messages
    Verify: Shard Status: healthy: 1 writable-degraded: 0 read-only: 0 offline: 0 total: 1
    Verify: Admin Status: healthy
    Verify: Zone [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]   
    RN Status: online: 1 read-only: 0 offline: 0
    Verify: == checking storage node sn1 ==
    Verify: Storage Node [sn1] on localhost: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 24.1.11 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise    isMasterBalanced: true     
    serviceStartTime: 2024-04-05 09:32:29 UTC
    Verify:         Admin [admin1]          
    Status: RUNNING,MASTER  serviceStartTime: 2024-04-05 09:32:41 UTC       
    stateChangeTime: 2024-04-05 09:32:39 UTC        
    availableStorageSize: 2 GB
    Verify:  rg1-rn1: Storage directory on rg1-rn1 is running low 
    [/var/kv/test1 size: 1 GB available: 1023 MB]
    Verify:  Rep Node [rg1-rn1]      
    Status: RUNNING,MASTER sequenceNumber: 4,244 haPort: 5006 
    availableStorageSize: 1023 MB storageType: HD 
    serviceStartTime: 2024-04-05 09:32:52 UTC       
    stateChangeTime: 2024-04-05 09:32:56 UTC
    
    Verification complete, 0 violations, 1 note found.
    Verification note: [rg1-rn1]    
    Storage directory on rg1-rn1 is running low [/var/kv/test1 
    size: 1 GB available: 1023 MB].

例2: Oracle NoSQL Databaseを非常に古いバージョンから現在のバージョンに直接アップグレードするときにエラーが発生しました。

この例では、Oracle NoSQL Databaseをバージョン19.5.9からバージョン24.1.11にアップグレードします。ここで、$KVHOME/var/kv/kv-19.5.9$KVROOT /var/kv/kv-19.5.9/kvrootです。

次の例は、バージョン19.5.9からバージョン24.1.11にアップグレードしようとしたときに発生したエラーを示しています。
  • データ・ストアをアップグレードするには、最新のソフトウェアをストレージ・ノードにインストールする必要があります。詳細は、NoSQLデータベース・インストールのインストールおよび検証を参照してください。
  • Oracle NoSQL Databaseストレージ・ノード・エージェントおよび現在のOracle NoSQL Databaseのルート・ディレクトリ(19.5.9)に関連するサービスを停止します。
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar stop 
    -root $KVROOT
  • 更新されたソフトウェア・リリース(24.1.11)を使用してストレージ・ノードを再起動します.
    nohup java -Xmx64m -Xms64m -jar $NEW_KVHOME/lib/kvstore.jar start
    -root $KVROOT &
    次に示すように、エラーが発生したことを示す出力が表示されます。
    [1]+  Exit 1 nohup java -Xmx64m -Xms64m -jar 
    /var/kv/kv-24.1.11/lib/kvstore.jar start 
    -root /var/kv/kv-19.5.9/kvroot
    nohup.outファイルを開いてエラーを表示します。
    vi nohup.out
    Failed to start SNA: The previous software version 19.5.9 does not satisfy
    the prerequisite for 24.1.11 which requires version 20.1.12 or later.
    このエラーを回避するには、データ・ストアを19.5.9から任意の20.*.*リリースにアップグレードしてから、24.1.11にアップグレードする必要があります。

例3: 複数のストレージ・ノードを持つデータ・ストアをアップグレードします。

この例では、Oracle NoSQL Databaseをバージョン22.1.7からバージョン24.1.11にアップグレードします。データ・ストアは、容量が1、レプリケーション係数が2です。データ・ストアに2つのストレージ・ノードがあります。ここで、$KVHOME/var/kv/kv-22.1.7$KVROOT/var/kv/kv-22.1.7/kvroot$KVHOSTは最初のストレージ・ノードのホスト名です。
  • runadminコマンドを起動して、既存のソフトウェア・リリース(22.1.7)を現在実行しているストレージ・ノードで管理コマンドライン・インタフェース(CLI)ユーティリティを起動します。このコマンドは、kvプロンプトを起動します。
    java -jar $KVHOME/lib/kvstore.jar runadmin -host $KVHOST 
    -port 5000 -security $KVROOT/security/root.login 
  • pingコマンドを使用して、データ・ストアのランタイム・エンティティに関する情報を返します。
    kv→ping
    出力:
    Pinging components of store mystore based upon topology sequence #156
    150 partitions and 2 storage nodes
    Time: 2024-04-05 15:21:02 UTC   Version: 22.1.7
    Shard Status: healthy: 1 writable-degraded: 0 read-only: 0 offline: 0 total: 1
    Admin Status: healthy
    Zone [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
    RN Status: online: 2 read-only: 0 offline: 0 maxDelayMillis: 1 maxCatchupTimeSecs: 0
    Storage Node [sn1] on <XX>.com: 5000
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 22.1.7 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise isMasterBalanced: true serviceStartTime: 2024-04-05 10:29:33 UTC
            Admin [admin1] Status: RUNNING,MASTER  serviceStartTime: 2024-04-05 10:29:44 UTC
            stateChangeTime: 2024-04-05 10:29:42 UTC availableStorageSize: 2 GB
            Rep Node [rg1-rn1] Status: RUNNING,MASTER sequenceNumber: 4,259 haPort: 5006 
            availableStorageSize: 1023 MB storageType: HD 
            serviceStartTime: 2024-04-05 10:29:56 UTC  
            stateChangeTime: 2024-04-05 13:29:29 UTC
    Storage Node [sn2] on <XX>.com: 5000
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 22.1.7 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise  isMasterBalanced: true  serviceStartTime: 2024-04-05 13:29:18 UTC
            Admin [admin2] Status: RUNNING,REPLICA serviceStartTime: 2024-04-05 13:29:24 UTC
            stateChangeTime: 2024-04-05 13:29:23 UTC availableStorageSize: 2 GB
            Rep Node [rg1-rn2] Status: RUNNING,REPLICA sequenceNumber: 4,259 haPort: 5006
            availableStorageSize: 99 MB storageType: HD  
            serviceStartTime: 2024-04-05 13:29:25 UTC  
            stateChangeTime: 2024-04-05 13:29:29 UTC delayMillis: 1 
            catchupTimeSecs: 0
  • ストレージ・ノードが、現行バージョンにアップグレードするために必要な前提条件となるソフトウェア・バージョン以上であることを確認します。
    kv-> verify prerequisite
    出力:
    Verify: starting verification of store mystore based upon topology sequence #156
    150 partitions and 2 storage nodes
    Time: 2024-04-05 15:30:45 UTC   Version: 22.1.7
    See <XX>.com:/var/kv/kv-22.1.7/kvroot/mystore/log/mystore_{0..N}.log for progress messages
    Verify prerequisite: Storage Node [sn1] on <XX>.com: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 22.1.7 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise isMasterBalanced: true serviceStartTime: 2024-04-05 10:29:33 UTC
    
    Verify prerequisite: Storage Node [sn2] on <XX>.com: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 22.1.7 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise    isMasterBalanced: true   
    serviceStartTime: 2024-04-05 13:29:18 UTC
    
    Verification complete, no violations. 
  • データ・ストアをアップグレードするには、最新のソフトウェアをすべてのストレージ・ノードにインストールする必要があります。最初のストレージ・ノード(sn1)で、新しいバージョンのソフトウェアをインストールします。詳細は、NoSQLデータベース・インストールのインストールおよび検証を参照してください。
  • Oracle NoSQL Databaseストレージ・ノード・エージェントおよび現在のOracle NoSQL Databaseのルート・ディレクトリ(22.1.7)に関連するサービスを停止します。
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar stop
    -root $KVROOT
  • 更新されたソフトウェア・リリース(24.1.11)を使用して最初のストレージ・ノードを再起動します。ここで、$NEW_KVHOME/var/kv/kv-24.1.11$KVROOT/var/kv/kv-22.1.7/kvrootです。
    nohup java -Xmx64m -Xms64m -jar $NEW_KVHOME/lib/kvstore.jar start
    -root $KVROOT &
  • runadminコマンドを起動して、更新されたソフトウェア・リリースを現在実行しているストレージ・ノードで管理コマンドライン・インタフェース(CLI)ユーティリティを起動します。このコマンドは、kvプロンプトを起動します。
    java -Xmx64m -Xms64m -jar $NEW_KVHOME/lib/kvstore.jar
    runadmin -port 5000 -host $KVHOST -security
    $KVROOT/security/root.login
  • ストア構成を検証して、最初のストレージ・ノード(sn1)のアップグレードが正常に完了したかどうかを確認します。
    kv-> verify upgrade
    出力:
    Verify: starting verification of store mystore based upon topology sequence #156
    150 partitions and 2 storage nodes
    Time: 2024-04-05 10:35:44 UTC   Version: 24.1.11
    See <XX>.com:/var/kv/kv-22.1.7/kvroot/mystore/log/mystore_{0..N}.log for progress messages
    Verify upgrade: Storage Node [sn1] on <XX>.com: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
    Status: RUNNING   Ver: 24.1.11 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise    isMasterBalanced: true 
    serviceStartTime: 2024-04-05 10:29:33 UTC
    Verify: sn2: Node needs to be upgraded from 22.1.7 to version 24.1.11 or newer
    Verify upgrade: Storage Node [sn2] on <XX>.com: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
    Status: RUNNING   Ver: 22.1.7 2024-04-05 16:36:54 UTC  Build id: 61b68fb1a3ec 
    Edition: Enterprise    isMasterBalanced: true 
    serviceStartTime: 2024-04-05 10:18:09 UTC
    
    Verification complete, 0 violations, 1 note found.
    Verification note: [sn2]        
    Node needs to be upgraded from 22.1.7 to version 24.1.11 or newer
  • アップグレードするストレージ・ノードの順序付きリストを取得します。次の出力は、ストレージ・ノードsn2をアップグレードする必要があることを示しています。
    kv-> show upgrade-order
    出力:
    Calculating upgrade order,target version: 24.1.11,prerequisite: 20.1.12
    sn2
  • 2番目のストレージ・ノード(sn2)で、新しいバージョンのソフトウェアをインストールします。詳細は、NoSQLデータベース・インストールのインストールおよび検証を参照してください。

    ノート:

    ソフトウェア(kv-24.1.11.zip)は、ストレージ・ノードsn1からストレージ・ノードsn2にすでにコピーされています。
  • Oracle NoSQL Databaseストレージ・ノード・エージェントおよび現在のOracle NoSQL Databaseのルート・ディレクトリ(22.1.7)に関連するサービスを停止します。
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar stop
    -root $KVROOT
  • 更新されたソフトウェア・リリース(24.1.11)を使用して2番目のストレージ・ノードを再起動します。ここで、$NEW_KVHOME/var/kv/kv-24.1.11$KVROOT/var/kv/kv-22.1.7/kvrootです。
    nohup java -Xmx64m -Xms64m -jar $NEW_KVHOME/lib/kvstore.jar start 
    -root $KVROOT &
  • runadminコマンドを起動して、更新されたソフトウェア・リリースを現在実行しているストレージ・ノードで管理コマンドライン・インタフェース(CLI)ユーティリティを起動します。ここで、$KVHOSTは最初のストレージ・ノード(sn1)のホスト名です。
    java -Xmx64m -Xms64m -jar $NEW_KVHOME/lib/kvstore.jar 
    runadmin -port 5000 -host $KVHOST -security
    $KVROOT/security/root.login
  • ストア構成を検証して、2番目のストレージ・ノード(sn2)のアップグレードが正常に完了したかどうかを確認します。
    kv-> verify upgrade
    出力:
    Verify: starting verification of store mystore based upon topology sequence #156
    150 partitions and 2 storage nodes
    Time: 2024-04-05 13:32:24 UTC   Version: 24.1.11
    See <XX>.com:/var/kv/kv-22.1.7/kvroot/mystore/log/mystore_{0..N}.log for progress messages
    Verify upgrade: Storage Node [sn1] on <XX>.com: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 24.1.11 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise    isMasterBalanced: true    
    serviceStartTime: 2024-04-05 10:29:33 UTC
    Verify upgrade: Storage Node [sn2] on <XX>.com: 5000    
    Zone: [name=zone1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]    
    Status: RUNNING   Ver: 24.1.11 2024-04-05 21:25:44 UTC  Build id: 477e7f102ab4 
    Edition: Enterprise    isMasterBalanced: true   
    serviceStartTime: 2024-04-05 13:29:18 UTC
    
    Verification complete, no violations.
  • 他のストレージ・ノードをアップグレードする必要があるかどうかを確認します。
    kv-> show upgrade-order
    Calculating upgrade order, target version: 24.1.11,
    prerequisite: 20.1.12
    There are no nodes that need to be upgraded
    出力には、すべてのストレージ・ノードのアップグレードが完了したことが示されます。