minamin's Blog

ゆるーく好きなモノ・興味あるコトについて書きます。技術系ネタは主にOracle DatabaseやCloudまわり。

OCI ExaDB-DのOS上のDB/GIパッチを1ノードずつ適用する方法

この記事はOracle Cloud Infrastructure Advent Calendar 2023 Day21の記事として書いています。

qiita.com

Oracle Cloud Infrastructure Advent Calendar 2023 Day20 の記事は、@takuya_0301 さんの記事「OKE上に展開したLLMでRAGやってみた」でした。

はじめに

2人の産休育休で前回の記事からだいぶあいてしまい、久々の記事です。

今回は、OCI Exadata Database Service on Dedicated Infrastructure (通称 : ExaDB-D)のDB/GIのパッチ適用(更新)を1ノードずつ行う方法を試したので、メモ書きとしてまとめます。

顧客が管理するVM内のOS、Oracle Database(DB)、Oracle Grid Infrastructure(GI)などのコンポーネントのメンテナンスは、顧客のタイミングで実施が可能です。コンソールやAPIからも簡単に適用可能ですが、その場合、VMクラスタ内の全ノードにローリングで適用されます。1ノードずつ適用したい場合は、コマンドツールで実行することで対応可能です。コンソールやAPI側で定期的に状態を監視しているので、コマンドラインで実行後も、タイムラグはあるものの検知されて反映されます。

なお、今回はdbaastools バージョン : 23.4.0.0.0での結果となります。定期的にdbaascliは更新されるので、実施する際には最新マニュアルをご確認ください。

適用方法

1ノードずつ実行したい場合は、VM内にプリインストールされているCLIを利用して行います。

  • Oracle Database : dbaascli dbhome patch
  • Grid Infrastructure : dbaascli grid patch
  • OS : patchmgr

今回は、DBとGIを対象に書くので、dbaascliの内容になります。 OCIドキュメントのExaDB-Dのdbaascliの章で、DBへのパッチ適用方法GIへのパッチ適用方法がまとめられている箇所がありますが、この例は全ノードを一気に実行する例なので、今回はdbaascli コマンド・リファレンスを見てみましょう

検証情報

  • ExaDB-D X9Mインフラストラクチャ上の 2ノードのVMクラスタ
  • dbaastools バージョン : 23.4.0.0.0
  • DB/GIともに19.20.0.0.0に対する RU 19.21.0.0.0 のパッチ適用

GIパッチ適用

クラウドのツールを利用したGIのパッチ適用(更新)方法は、in-placeになります。

準備

GIへのパッチ適用については、まずはマニュアルのコンソールからの適用の内容や流れを確認することをお勧めします。

・現在のGridホームの情報を表示

# dbaascli system getGridHomes
DBAAS CLI version 23.3.2.0.0
Executing command system getGridHomes
Job id: 12b968e9-f3aa-4c40-9036-aa69ebc12edc
Session log: /var/opt/oracle/log/system/getGridHomes/dbaastools_xxx.log
{
  "OraGiHome19000" : {
    "homePath" : "/u01/app/19.0.0.0/grid",
    "homeName" : "OraGiHome19000",
    "version" : "19.20.0.0.0",
    "createTime" : 1697731875000,
    "updateTime" : 1697731875000,
    "unifiedAuditEnabled" : false,
    "ohNodeLevelDetails" : {
      "<ノード1>" : {
        "nodeName" : "<ノード1>",
        "version" : "19.20.0.0.0"
      },
      "<ノード2>" : {
        "nodeName" : "<ノード2>",
        "version" : "19.20.0.0.0"
      }
    },
    "messages" : [ ]
  }
}

マニュアル dbaascli コマンド・リファレンス dbaascli system getGridHomes

・適用可能なパッチを確認

# dbaascli cswlib showImages --product grid
DBAAS CLI version 23.3.2.0.0
Executing command cswlib showImages --product grid
Job id: b7f5132b-d2c1-4354-b895-25422e22173e
Session log: /var/opt/oracle/log/cswLib/showImages/dbaastools_xxx.log
Log file location: /var/opt/oracle/log/cswLib/showImages/dbaastools_xxx.log

############ List of Available grid Artifacts  #############

1.IMAGE_TAG=grid_19.20.0.0.0
  VERSION=19.20.0.0.0
  DESCRIPTION=19c JUL 2023 GI Image
2.IMAGE_TAG=grid_19.18.0.0.0
  VERSION=19.18.0.0.0
  DESCRIPTION=19c JAN 2023 GI Image
3.IMAGE_TAG=grid_19.19.0.0.0
  VERSION=19.19.0.0.0
  DESCRIPTION=19c APR 2023 GI Image
4.IMAGE_TAG=grid_19.21.0.0.0
  VERSION=19.21.0.0.0
  DESCRIPTION=19c OCT 2023 GI Image
Images can be downloaded using their image tags. For details, see help using 'dbaascli cswlib download --help'.
dbaascli execution completed

マニュアル データベースおよびグリッド・インフラストラクチャで使用可能なソフトウェア・イメージおよびバージョンのリスト

プリチェック

・19.21.0.0.0を適用できる状態かをチェック

# dbaascli grid patch --targetVersion 19.21.0.0.0 --executePrereqs

実行ログ

# dbaascli grid patch --targetVersion 19.21.0.0.0 --executePrereqs
DBAAS CLI version 23.3.2.0.0
Executing command grid patch --targetVersion 19.21.0.0.0 --executePrereqs
Job id: 61416363-e8fb-4994-9126-894473b7bea2
Session log: /var/opt/oracle/log/grid/patch/dbaastools_2023-10-31_02-51-05-PM_1403.log
Loading PILOT...
Session ID of the current execution is: 68
Log file location: /var/opt/oracle/log/grid/patch/pilot_2023-10-31_02-51-08-PM_1891
-----------------
Running initialization job
Completed initialization job
-----------------
Running validate_nodes job
Completed validate_nodes job
-----------------
Running validate_target_version job
Completed validate_target_version job
-----------------
Running validate_backup_locations job
Completed validate_backup_locations job
-----------------
Running validate_source_home job
Completed validate_source_home job
-----------------
Running validate_creg_file_existence job
Completed validate_creg_file_existence job
-----------------
Running validate_crs_stack_state job
Completed validate_crs_stack_state job
-----------------
Running validate_databases job
Completed validate_databases job
-----------------
Running validate_disk_space job
Completed validate_disk_space job
-----------------
Running validate_perm_on_dir job
Completed validate_perm_on_dir job
-----------------
Running validate_users_umask job
Completed validate_users_umask job
-----------------
Running unpackage_patches job
Completed unpackage_patches job
-----------------
Running remove_zipped_patches job
Completed remove_zipped_patches job
-----------------
Running replace_opatch job
Completed replace_opatch job
-----------------
Running check_patch_conflicts job
Completed check_patch_conflicts job
-----------------
Running restore_opatch_prereqs_only job
Completed restore_opatch_prereqs_only job
-----------------
Running cleanup_prereqs_only job
Completed cleanup_prereqs_only job
dbaascli execution completed

マニュアル Oracle Grid Infrastructureパッチ適用の事前チェック

ノード指定でのパッチ適用

--targetVersion で適用するバージョン、--nodeList で適用するノードのホスト名を指定します。 --nodesで指定するノードに含まれるノードから実行してください。 例)ノード1に対しての実行はノード1上から、ノード2・3に対しての実行はノード2・3いずれかから

# dbaascli grid patch --targetVersion 19.21.0.0.0 --nodeList <適用するノードのホスト名>

実行ログ

# dbaascli grid patch --targetVersion 19.21.0.0.0 --nodeList <ノード1>
DBAAS CLI version 23.3.2.0.0
Executing command grid patch --targetVersion 19.21.0.0.0 --nodeList <ノード1>
Job id: 4c79c36e-c8e8-4f06-b0c7-1e96fe3aab7a
Session log: /var/opt/oracle/log/grid/patch/dbaastools_2023-10-31_04-13-34-PM_22831.log
Loading PILOT...
Session ID of the current execution is: 75
Log file location: /var/opt/oracle/log/grid/patch/pilot_2023-10-31_04-13-37-PM_23308
-----------------
Running initialization job
Completed initialization job
-----------------
Running validate_nodes job
Completed validate_nodes job
-----------------
Running validate_target_version job
Completed validate_target_version job
-----------------
Running validate_backup_locations job
Completed validate_backup_locations job
-----------------
Running validate_source_home job
Completed validate_source_home job
-----------------
Running validate_creg_file_existence job
Completed validate_creg_file_existence job
-----------------
Running validate_crs_stack_state job
Completed validate_crs_stack_state job
-----------------
Running validate_databases job
Completed validate_databases job
-----------------
Running validate_disk_space job
Completed validate_disk_space job
-----------------
Running validate_perm_on_dir job
Completed validate_perm_on_dir job
-----------------
Running validate_users_umask job
Completed validate_users_umask job
-----------------
Running unpackage_patches job
Completed unpackage_patches job
-----------------
Running remove_zipped_patches job
Completed remove_zipped_patches job
-----------------
Running replace_opatch job
Completed replace_opatch job
-----------------
Running check_patch_conflicts job
Completed check_patch_conflicts job
Acquiring write lock: _u01_app_19.0.0.0_grid
Acquiring write lock: provisioning
-----------------
Running pre_patch_lock_manager job
Completed pre_patch_lock_manager job
-----------------
Running create_global_backup_loc job
Completed create_global_backup_loc job
-----------------
Running rotate_image_backup job
Completed rotate_image_backup job
-----------------
Running backup_image job
Completed backup_image job
-----------------
Running rotate_config_backup job
Completed rotate_config_backup job
-----------------
Running backup_config-<ノード1> job
Completed backup_config-<ノード1> job
-----------------
Running save_local_backup-<ノード1> job
Completed save_local_backup-<ノード1> job
-----------------
Running stop_db_instances-<ノード1> job
Completed stop_db_instances-<ノード1> job
-----------------
Running run_rootcrs_prepatch-<ノード1> job
Completed run_rootcrs_prepatch-<ノード1> job
-----------------
Running stop_tfa-<ノード1> job
Completed stop_tfa-<ノード1> job
-----------------
Running check_processes-<ノード1> job
Completed check_processes-<ノード1> job
-----------------
Running rollback_conflicting_patches-<ノード1> job
Completed rollback_conflicting_patches-<ノード1> job
-----------------
Running apply_gi_oneoffs_prepatch-<ノード1> job
Completed apply_gi_oneoffs_prepatch-<ノード1> job
-----------------
Running apply_ru-<ノード1> job
Completed apply_ru-<ノード1> job
-----------------
Running stop_processes-<ノード1> job
Completed stop_processes-<ノード1> job
-----------------
Running apply_gi_oneoffs_postpatch-<ノード1> job
Completed apply_gi_oneoffs_postpatch-<ノード1> job
-----------------
Running rootadd_rdbms_script-<ノード1> job
Completed rootadd_rdbms_script-<ノード1> job
-----------------
Running run_rootcrs_postpatch-<ノード1> job
Completed run_rootcrs_postpatch-<ノード1> job
-----------------
Running start_db_instances-<ノード1> job
Completed start_db_instances-<ノード1> job
-----------------
Running update_opatch_log_ownership-<ノード1> job
Completed update_opatch_log_ownership-<ノード1> job
-----------------
Running disable_diagsnap-<ノード1> job
Completed disable_diagsnap-<ノード1> job
-----------------
Running restore_tfa_status-<ノード1> job
Completed restore_tfa_status-<ノード1> job
-----------------
Running remove_local_backup-<ノード1> job
Completed remove_local_backup-<ノード1> job
-----------------
Running cleanup-<ノード1> job
Completed cleanup-<ノード1> job
-----------------
Running cleanup_patched_home_backup job
Completed cleanup_patched_home_backup job
-----------------
Running post_patch_validation job
Completed post_patch_validation job
-----------------
Running update_creg job
Completed update_creg job
-----------------
Running post_patch_lock_manager job
Completed post_patch_lock_manager job
Releasing lock: _u01_app_19.0.0.0_grid
Releasing lock: provisioning
-----------------
Running generate_system_details job
Acquiring native write lock: global_dbsystem_details_generation
Releasing native lock: global_dbsystem_details_generation
Completed generate_system_details job
dbaascli execution completed

参考: ノード2に対して、ノード1から適用しようとした時のエラー

-----------------
Running validate_nodes job
Execution of validate_nodes failed
[FATAL] [DBAAS-70064] Specified cluster nodes '[<ノード2>]' does not include local node name '[<ノード1>]'.
   ACTION: Local node needs to be part of cluster nodes to perform the operation.
*** Executing jobs which need to be run always... ***

マニュアル dbaascli コマンド・リファレンス dbaascli grid patch

適用後の情報

$ opatch lspatches

35762404;OCW Interim patch for 35762404
35763448;ENFORCE V2 CHECKS ONLY FOR CLIENT CLOUD MNEMONIC QUERIES
34697081;NOT SHIPPING LIBAUTH_SDK_IAM.SO IN 23 SHIPHOME INSTALL
35638318;JDK BUNDLE PATCH 19.0.0.0.231017
35652062;ACFS RELEASE UPDATE 19.21.0.0.0 (35652062)
35643107;Database Release Update : 19.21.0.0.231017 (35643107)
35553096;TOMCAT RELEASE UPDATE 19.0.0.0.0 (35553096)
35099674;DSTV41 UPDATE - TZDATA2022G - NEED OJVM FIX
35050341;OJVM RELEASE UPDATE: 19.19.0.0.230418 (35050341)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)

OPatch succeeded.

・一部のノードでしか適用していない状態で、GIの情報を確認

[root@vmem-6gl0h1 opc]# dbaascli system getGridHomes
DBAAS CLI version 23.3.2.0.0
Executing command system getGridHomes
Job id: 9124f1cd-9130-4ed4-9466-42e2199b23ba
Session log: /var/opt/oracle/log/system/getGridHomes/dbaastools_2023-10-31_05-01-56-PM_175719.log
{
  "OraGiHome19000" : {
    "homePath" : "/u01/app/19.0.0.0/grid",
    "homeName" : "OraGiHome19000",
    "version" : "19.0.0.0.0",
    "createTime" : 1698737961000,
    "updateTime" : 1698737961000,
    "unifiedAuditEnabled" : false,
    "ohNodeLevelDetails" : {
      "<ノード1>" : {
        "nodeName" : "<ノード1>",
        "version" : "19.21.0.0.0"
      },
      "<ノード2>" : {
        "nodeName" : "<ノード2>",
        "version" : "19.20.0.0.0"
      }
    },
    "messages" : [ ]
  }
}
dbaascli execution completed

・全ノードで適用した状態で、GIの情報を確認

# dbaascli system getGridHomes
DBAAS CLI version 23.3.2.0.0
Executing command system getGridHomes
Job id: e941a44b-28b2-4da7-8495-6df39a08e01a
Session log: /var/opt/oracle/log/system/getGridHomes/dbaastools_2023-10-31_06-51-03-PM_295053.log
{
  "OraGiHome19000" : {
    "homePath" : "/u01/app/19.0.0.0/grid",
    "homeName" : "OraGiHome19000",
    "version" : "19.21.0.0.0",
    "createTime" : 1698737961000,
    "updateTime" : 1698737961000,
    "unifiedAuditEnabled" : false,
    "ohNodeLevelDetails" : {
      "v<ノード1>" : {
        "nodeName" : "<ノード1>,
        "version" : "19.21.0.0.0"
      },
      "<ノード2>" : {
        "nodeName" : "<ノード2>",
        "version" : "19.21.0.0.0"
      }
    },
    "messages" : [ ]
  }
}
dbaascli execution completed

マニュアル dbaascli コマンド・リファレンス dbaascli system getGridHomes

無事コンソール上でも、適用後のバージョンに情報が反映されていました

DBパッチ適用

まず、DBのパッチ適用(更新)方法としては、in-placeのOracleホーム(DBホーム)へのパッチ適用と、out-of-placeのDBの移動がありますが、1ノードずつ実行したい場合はin-placeのOracleホームへのパッチ適用になります

マニュアル: dbaascli dbHome patch

準備

Oracleホームの情報を確認 パッチ適用のコマンド dbaascli dbHome patch --oracleHome で指定するOracleホームのパスを確認します。

マニュアルには、dbaascli dbHome patchでターゲットのOracleホームを --oracleHome か --oracleHomeName パラメータで指定するように書かれているのですが、コンソールから確認できるのは、--oracleHome = Oracleホームのパスの情報なので、今回は簡単に確認できる--oracleHome を使用します。

ちなみに、--oracleHomeName は、--oracleHome の名前がわかっている上でdbaascli dbHome getDetailsを実行すると確認できる "homeName"です。

# dbaascli dbHome getDetails --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5
DBAAS CLI version 23.4.1.0.0
Executing command dbHome getDetails --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5
Job id: 8ada5970-9a63-4b74-b1cc-1511df61864e
Session log: /var/opt/oracle/log/dbHome/getDetails/dbaastools_2023-11-17_02-19-27-PM_121372.log
{
  "homePath" : "/u02/app/oracle/product/19.0.0.0/dbhome_5",
  "homeName" : "OraHome6",
  "version" : "19.20.0.0.0",
  "createTime" : 1700188575000,
  "updateTime" : 1700188575000,
  "unifiedAuditEnabled" : false,
  "ohNodeLevelDetails" : {
    "<ノード1>" : {
      "nodeName" : "<ノード1>",
      "version" : "19.20.0.0.0"
    },
    "<ノード1>" : {
      "nodeName" : "<ノード2>",
      "version" : "19.20.0.0.0"
    }
  },
  "messages" : [ ]
}
dbaascli execution completed

マニュアル dbaascli コマンド・リファレンス dbaascli dbHome getDetails

プリチェック

・19.21.0.0.0を適用できる状態かをチェック

# dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5 --targetVersion 19.21.0.0.0 --executePrereqs

実行ログ

# dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5 --targetVersion 19.21.0.0.0 --executePrereqs
DBAAS CLI version 23.4.1.0.0
Executing command dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5 --targetVersion 19.21.0.0.0 --executePrereqs
Job id: b3acc326-c719-4353-b2f9-5279124cd4c3
Session log: /var/opt/oracle/log/dbHome/patch/dbaastools_2023-11-17_02-27-05-PM_162325.log
Loading PILOT...
Session ID of the current execution is: 951
Log file location: /var/opt/oracle/log/dbHome/patch/pilot_2023-11-17_02-27-08-PM_163064
-----------------
Running initialization job
Completed initialization job
-----------------
Running validate_user_input job
Completed validate_user_input job
-----------------
Running validate_nodes job
Completed validate_nodes job
-----------------
Running validate_oracle_home job
Completed validate_oracle_home job
-----------------
Running validate_source_version job
Completed validate_source_version job
-----------------
Running validate_target_version job
Completed validate_target_version job
-----------------
Running validate_creg_file_existence job
Completed validate_creg_file_existence job
-----------------
Running validate_diag_perm job
Completed validate_diag_perm job
-----------------
Running validate_backup_loc job
Completed validate_backup_loc job
-----------------
Running validate_patch_across_nodes job
Completed validate_patch_across_nodes job
-----------------
Running validate_users_umask job
Completed validate_users_umask job
-----------------
Running validate_gold_image_url job
Completed validate_gold_image_url job
-----------------
Running validate_disk_space job
Completed validate_disk_space job
-----------------
Running validate_audit_files_in_source_home job
Completed validate_audit_files_in_source_home job
-----------------
Running download_gold_image job
Completed download_gold_image job
-----------------
Running validate_gold_image job
Completed validate_gold_image job
-----------------
Running run_installer_prereqs job
Completed run_installer_prereqs job
-----------------
Running check_patch_conflict job
Completed check_patch_conflict job
-----------------
Running remove_unzip_loc job
Completed remove_unzip_loc job
dbaascli execution completed

マニュアル dbaascli コマンド・リファレンス dbaascli dbHome patch

ノード指定でのパッチ適用

--targetVersionで適用するバージョン、--nodesで適用対象のノードのホスト名を指定します。 コマンドは、--nodesで指定するノードに含まれるノードから実行してください。 例)ノード1に対しての実行はノード1上から、ノード2・3に対しての実行はノード2・3いずれかから

# dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5 --targetVersion 19.21.0.0.0 --nodes <ノード名>

実行ログ

# date;dbaascli dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5 --targetVersion 19.21.0.0.0 --nodes <ノード1>
DBAAS CLI version 23.4.1.0.0
Executing command dbHome patch --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5 --targetVersion 19.21.0.0.0 --nodes <ノード1>
Job id: 62702836-eee6-4b21-8fed-910e645621de
Session log: /var/opt/oracle/log/dbHome/patch/dbaastools_2023-11-17_02-34-43-PM_213714.log
Loading PILOT...
Session ID of the current execution is: 952
Log file location: /var/opt/oracle/log/dbHome/patch/pilot_2023-11-17_02-34-46-PM_214321
-----------------
Running initialization job
Completed initialization job
-----------------
Running validate_user_input job
Completed validate_user_input job
-----------------
Running validate_nodes job
Completed validate_nodes job
-----------------
Running validate_oracle_home job
Completed validate_oracle_home job
-----------------
Running validate_source_version job
Completed validate_source_version job
-----------------
Running validate_target_version job
Completed validate_target_version job
-----------------
Running validate_creg_file_existence job
Completed validate_creg_file_existence job
-----------------
Running validate_diag_perm job
Completed validate_diag_perm job
-----------------
Running validate_backup_loc job
Completed validate_backup_loc job
-----------------
Running validate_patch_across_nodes job
Completed validate_patch_across_nodes job
-----------------
Running validate_users_umask job
Completed validate_users_umask job
-----------------
Running validate_gold_image_url job
Completed validate_gold_image_url job
-----------------
Running validate_disk_space job
Completed validate_disk_space job
-----------------
Running validate_audit_files_in_source_home job
Completed validate_audit_files_in_source_home job
-----------------
Running download_gold_image job
Completed download_gold_image job
-----------------
Running validate_gold_image job
Completed validate_gold_image job
-----------------
Running run_installer_prereqs job
Completed run_installer_prereqs job
-----------------
Running check_patch_conflict job
Completed check_patch_conflict job
Acquiring write lock: _u02_app_oracle_product_19.0.0.0_dbhome_5
-----------------
Running pre_patch_lock_manager job
Completed pre_patch_lock_manager job
-----------------
Running copy_image-<ノード1> job
Completed copy_image-<ノード1> job
-----------------
Running detach_home-<ノード1> job
Completed detach_home-<ノード1> job
-----------------
Running move_home-<ノード1> job
Completed move_home-<ノード1> job
-----------------
Running move_image_to_home_loc-<ノード1> job
Completed move_image_to_home_loc-<ノード1> job
-----------------
Running setup_db_home-<ノード1> job
Completed setup_db_home-<ノード1> job
-----------------
Running update_inventory-<ノード1> job
Completed update_inventory-<ノード1> job
-----------------
Running root_script_execution-<ノード1> job
Completed root_script_execution-<ノード1> job
-----------------
Running move_config_files-<ノード1> job
Completed move_config_files-<ノード1> job
-----------------
Running backup_old_home job
Completed backup_old_home job
-----------------
Running post_patch_lock_manager job
Completed post_patch_lock_manager job
Releasing lock: _u02_app_oracle_product_19.0.0.0_dbhome_5
-----------------
Running cleanup job
Completed cleanup job
-----------------
Running generate_dbsystem_details job
Acquiring native write lock: global_dbsystem_details_generation
Releasing native lock: global_dbsystem_details_generation
Completed generate_dbsystem_details job
dbaascli execution completed

マニュアル dbaascli コマンド・リファレンス dbaascli dbHome patch

適用後の情報

・一部のノードでしか適用していない状態で、Oracleホームの情報を確認

# dbaascli dbHome getDetails --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5

DBAAS CLI version 23.4.1.0.0
Executing command dbHome getDetails --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5
Job id: 82f27e9e-5cd7-4958-a8bf-c7b974fece66
Session log: /var/opt/oracle/log/dbHome/getDetails/dbaastools_2023-11-17_02-55-56-PM_312093.log
{
  "homePath" : "/u02/app/oracle/product/19.0.0.0/dbhome_5",
  "homeName" : "OraHome6",
  "version" : "19.0.0.0.0",
  "createTime" : 1700188575000,
  "updateTime" : 1700199519000,
  "unifiedAuditEnabled" : false,
  "ohNodeLevelDetails" : {
    "<ノード1>" : {
      "nodeName" : "<ノード1>",
      "version" : "19.21.0.0.0"
    },
    "<ノード2>" : {
      "nodeName" : "<ノード2>",
      "version" : "19.20.0.0.0"
    }
  },
  "messages" : [ ]
}
dbaascli execution completed

一部のノードだけだと、コンソール上には反映されず

・全ノードで適用した状態で、Oracleホームの情報を確認

[root@exaem-i704n2 opc]# dbaascli dbHome getDetails --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5
DBAAS CLI version 23.4.1.0.0
Executing command dbHome getDetails --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_5
Job id: 9136e244-cc24-4124-a53b-06fac39db7c7
Session log: /var/opt/oracle/log/dbHome/getDetails/dbaastools_2023-11-17_03-09-16-PM_31151.log
{
  "homePath" : "/u02/app/oracle/product/19.0.0.0/dbhome_5",
  "homeName" : "OraHome6",
  "version" : "19.21.0.0.0",
  "createTime" : 1700188575000,
  "updateTime" : 1700200875000,
  "unifiedAuditEnabled" : false,
  "ohNodeLevelDetails" : {
    "<ノード1>" : {
      "nodeName" : "<ノード1>",
      "version" : "19.21.0.0.0"
    },
    "<ノード2>" : {
      "nodeName" : "<ノード2>",
      "version" : "19.21.0.0.0"
    }
  },
  "messages" : [ ]
}
dbaascli execution completed

マニュアル dbaascli コマンド・リファレンス dbaascli dbHome getDetails

無事コンソール上でも、適用後のバージョンに情報が反映されていました

さいごに

dbaascliを利用すると、コンソール/APIで実施するよりも細かい指定が可能です。 注意点としては、コンソール/APIから実施する場合には、実行ができないまたは影響がでる可能性がある処理を行おうとすると、画面での選択がグレーアウト or 実行時に別の処理が実行中というエラーで、別の処理との同時実行によるトラブルを防止する仕組み(ロック)になっていますが、dbaascliで更新作業中はコンソール/APIにはそのロックがかからないので、同時実行してしまうとどちらかの処理が失敗もしくは影響を及ぼする可能性があります。そのため、コマンドツールでの実行時は、別の作業者が作業しないように調整していただいた方が良いかと思います。