17.2.12 アップグレード失敗後のリストア

アップグレードがどの時点で失敗しても、次のステップを使用してOracle Access Management (OAM) 12cデプロイメントにリストアできます:
  1. 次のコマンドを使用して、OAM 14cデプロイメントを停止します:
     kubectl patch domain <domain> -n <domain_namespace> --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"Never\"}}"
    例:
     kubectl patch domain accessdomain -n oamns --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"Never\"}}"
    出力は次のようになります:
    domain.weblogic.oracle/accessdomain patched
  2. 次のkubectlコマンドを実行して、ポッドを表示します:
    kubectl get pods -n <domain_namespace>
    
    例:
    kubectl get pods -n oamns
    出力は次のようになります:
    
    NAME                                                     READY   STATUS        RESTARTS   AGE
    accessdomain-adminserver                                 1/1     Running       0          3h52m
    accessdomain-oam-policy-mgr1                             1/1     Running       0          3h44m
    accessdomain-oam-server1                                 1/1     Terminating   0          3h44m
    

    管理サーバー・ポッドおよび管理対象サーバー・ポッドは、TerminatingSTATUSに移行します。

    数分後、コマンドを再度実行し、ポッドが消失していることを確認してから続行します。

  3. アップグレード前に取得したバックアップから永続ボリュームをリストアします:
    sudo cp -rp <persistent_volume>/accessdomainpv <persistent_volume>/accessdomain_bkp14c
    sudo rm -rf <persistent_volume>/accessdomainpv
    sudo cp -rp <persistent_volume>/accessdomainpv_bkp12c <persistent_volume>/accessdomain
    例:
    sudo cp -rp /nfs_volumes/oam/accessdomainpv /nfs_volumes/oam/accessdomain_bkp14c
    sudo rm -rf /nfs_volumes/oam/accessdomainpv
    sudo cp -rp /nfs_volumes/oam/accessdomainpv_bkp12c /nfs_volumes/oam/accessdomain
  4. アップグレード前に取得したバックアップからOracle Databaseをリストアします。
  5. 次のコマンドを実行して、前に使用したOAM 12cコンテナ・イメージでデプロイメントを更新します:
    kubectl patch domain %DOMAIN_UID% -n %NAMESPACE% --type merge  -p '{"spec":{"image":"%WEBLOGIC_IMAGE%"}}'
    
    例:
    • OAMコンテナ・イメージにOracle Container Registryまたは独自のコンテナ・レジストリを使用する場合:
      kubectl patch domain accessdomain -n oamns \
      --type merge  -p '{"spec":{"image":"container-registry.oracle.com/middleware/oam_cpu:12.2.1.4-jdk8-ol8-<YYMMDD>"}}'
      
    • コンテナ・レジストリを使用せずに、各ワーカー・ノードにイメージをロードしている場合:
      kubectl patch domain accessdomain -n oamns \
      --type merge  -p '{"spec":{"image":"oracle/oam:12.2.1.4.0"}}'
      
      出力は次のようになります:
      domain.weblogic.oracle/accessdomain patched
      
  6. WebLogic Kubernetes OperatorをOAM 12cでサポートされているバージョンにダウングレードします。「WebLogic Kubernetes Operatorの更新」の手順に従いますが、OAM 12cでサポートされているオペレータを使用します。
  7. 次のコマンドを実行して、OAMドメインを起動します:
    kubectl patch domain.v9.weblogic.oracle "%DOMAIN_UID%" -n "%NAMESPACE%" \
    --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"IfNeeded\"}}"
    例:
    kubectl patch domain.v9.weblogic.oracle "accessdomain" -n "oamns" \
    --type=merge --patch "{\"spec\": {\"serverStartPolicy\": \"IfNeeded\"}}"
    出力は次のようになります:
    domain.weblogic.oracle/accessdomain patched
  8. 次のコマンドを実行して、ポッドを表示します:
    kubectl get pods -n %NAMESPACE%
    例:
    kubectl get pods -n oamns
    
    出力は次のようになります:
    NAME                                                     READY   STATUS        RESTARTS   AGE
    accessdomain-introspector-jwqxw                          1/1     Running     0          10s
    
    イントロスペクト・ジョブが開始され、その後に管理サーバー・ポッド、OAMサーバー・ポッドの順に起動します。このプロセスには数分かかるため、すべてのポッドがREADYステータス1/1で実行されるまで、コマンドの実行を続けます:

    ノート:

    別の方法として、監視フラグ-wを追加すると、変更時にポッドのステータスを監視できます。
    NAME                                                     READY   STATUS      RESTARTS   AGE  
    accessdomain-adminserver                                 1/1     Running     0          10m
    accessdomain-oam-policy-mgr1                             1/1     Running     0          7m35s
    accessdomain-oam-server1                                 1/1     Running     0          7m35s
    
  9. すべてが実行されたら、「ドメインURLの検証」に従ってコンソールにアクセスできることを確認します。