20 データベース・フリート・メンテナンス

この章では、多数のデータベースに最小限の停止時間で自動的にパッチ適用および更新を行うことによってデータベース環境を標準化する手順について説明します。

この章の内容は、次のとおりです。

データベース・フリート・メンテナンスについて

データベース・フリート・メンテナンスを使用すると、管理者は、四半期ごとのセキュリティ・パッチ更新(SPU/CPU)、パッチセット更新(PSU)、リリース更新(RU)およびリリース更新リビジョン(RUR)を含む仮の個別パッチを含むデータベース更新を適用することで、Oracleホームおよび関連するデータベースのグループまたはプールを保守できます。

新規データベース・パッチおよび更新は、イメージの形式で使用可能になります。イメージ(ゴールド・イメージまたはソフトウェアの最終状態とも呼ぶ)は、必要なレベルにパッチ適用されるソフトウェア・バイナリを表します。特定のデータベース・バージョンについて新規パッチから新規に作成された各イメージは、新しいバージョンです。たとえば、Oracle Databaseバージョン18.3のイメージには、異なるパッチ・レベルのゴールド・イメージ(Ver. 1、Ver. 2など)が含まれています。

パッチ適用には、主に次の3種類があります。
  1. 特定のOracle Databaseにパッチを適用します。
  2. コンテナ・データベース(CDB)とそのプラガブル・データベース(PDB)にパッチを適用します。
  3. パッチが適用されたOracleホームから実行されている新しいCDBに再配置することで、PDBに個別にパッチを適用します。
データベース・フリート・メンテナンスは次のものに使用できます。
  • 単一インスタンスのOracleホームおよび関連するデータベース

    ノート:

    Enterprise Manager 13.4リリース更新9以降、フリート・メンテナンスでは、Windowsプラットフォームの単一インスタンス・パッチ適用がサポートされます。
  • RAC Oracleホームおよび関連するデータベース
  • グリッド・インフラストラクチャ・ホームおよび関連するグリッド・インスタンス
  • Oracle Restartホーム(スタンドアロン・サーバーのグリッド・インフラストラクチャ)および関連するデータベース
  • スタンバイ・データベース(単一インスタンスおよびRAC)
  • RAC One Node。
フリート・メンテナンスでは次のステップを行います。
  • ソフトウェア標準化アドバイザを使用して構成の汚染を確認します。
  • 参照環境を作成します。参照環境は、ゴールド・イメージを作成するための前提条件です。各パッチ適用サイクル中に、ターゲットDBへの展開が要求されるパッチ・セットで参照環境にパッチが適用されます。
  • 参照環境を使用してゴールド・イメージを作成し、追加の変更のためにそれらをバージョニングします。
  • 適切なパッチが適用されているゴールド・イメージに、データベースおよびクラスタをサブスクライブします。
  • イメージをデプロイし、関連するターゲットを古いOracleホームから新しいOracleホームに切り替えます。
このメンテナンス・アクティビティは、新しいバージョンのゴールド・イメージが使用可能になったときに実行できます。

ノート:

  • Oracleは、My Oracle Support Webサイト(https://support.oracle.com、My Oracle SupportノートID 2435251.1)でフリート・メンテナンスを使用したデータベースのパッチ適用およびアップグレードに関する最新の更新内容およびベスト・プラクティスを提供しています。
  • 12.2リリース以降では、ライフサイクル管理グラフィカル・ユーザー・インタフェースを使用したクラシック・パッチは非推奨となりました。データベースおよびGI環境にパッチを適用するには、データベース・フリート・メンテナンス機能を使用する必要があります。

データベース・フリート・メンテナンスの概要

次の図に、データベース・フリート・メンテナンスの実行に必要なステップを示します。これは、Data Guard付きまたはData GuardなしのRACデータベースおよび単一インスタンス・データベース、Oracle Restart、RAC One Node、Grid Infrastructureホームなどの様々な構成に使用できます。

図20-1 フリート・メンテナンス操作のライフサイクルの概要

フリート・メンテナンス操作のライフサイクルの概要

Oracle Enterprise Managerフリート・メンテナンスを使用したOracleデータベースへのパッチ適用のビデオでは、Oracle Databaseのパッチ適用の概要および単一インスタンス・データベースへのパッチ適用の例を示します。

前提条件の確認

フリート・メンテナンス操作を開始する前に、次の前提条件が満たされていることを確認する必要があります。

  • Enterprise Managerソフトウェア・ライブラリが設定および構成されていること。インフラストラクチャの設定の開始を参照してください。
  • パッチを適用するデータベースおよびクラスタのターゲットがEnterprise Managerで検出されていること。Autonomous Databaseの検出およびデータベース・ターゲットの検出と追加を参照してください。
  • ターゲットの状態を表す参照環境(データベースおよびOracleホーム)が、Enterprise Managerで検出されている。この参照環境はゴールド・イメージを作成するために必要となります。参照環境の作成の詳細は、ゴールド・イメージの作成を参照してください。
  • パッチを適用するホストに使用可能な領域がある。
  • OMSサーバー上のエージェント・ポートを開いて、ターゲット・サーバーとOMSサーバー間の通信を可能にする必要があります。
Enterprise Manager 13.4以降、単一インスタンス・データベース・フリート・メンテナンス操作をWindowsベースのデプロイメントで実行できるようになりました。特定のWindowsの前提条件を確認するには、Windowsでフリートメンテナンスを実行するための前提条件を参照してください。
Windowsでフリート・メンテナンスを実行するための前提条件

Enterprise Manager 13.4リリース更新9以降、単一インスタンス・データベース・フリート・メンテナンス操作をWindowsベースのデプロイメントで実行できるようになりました。このセクションでは、Windows環境でフリート・メンテナンスを使用する場合にのみ必要な特定の前提条件について説明します。

  • デプロイ、移行、アップグレード、ロールバックなどのフリート・メンテナンス操作を実行するには、ソース・データベースが使用しているものと同じユーザー・アカウントおよび資格証明を使用する必要があります。詳細は、Oracle Databaseインストレーション・ガイド 18c for Microsoft Windowsジョブ・システムをOracle Enterprise Managerで機能させるための資格証明の設定を参照してください。
  • ユーザーの詳細が、Enterprise Manager名前付き資格証明を介してフリート・メンテナンスEM CLI操作に渡されます。一般的なユーザー構成の例は次の2つです。
    • Oracleホーム所有者でもある単一のインストール所有者が存在するインストール。この単一所有者の資格証明は、宛先データベースのフリート操作に渡されます。
    • インストール所有者(ローカル管理者)が存在し、Oracleホームを所有する管理者権限を持たない別のローカル・ユーザーが存在するインストール。両方のユーザーの資格証明が、宛先データベースのフリート操作に渡されます。
  • フリート・メンテナンス操作を正しく機能させるには、オペレーティング・システム・ユーザー(前述)に、特定のホストに対する特定のWindows OSレベルの権限を付与する必要があります。詳細は、Oracle Enterprise Manager Cloud Control基本インストレーション・ガイドEnterprise Manager Cloud Control用のオペレーティング・システム・グループおよびユーザーの作成を参照してください。
  • Windowsデプロイメントでゴールド・イメージを作成するには、CYGWINをインストールする必要があります。詳細は、Oracle Enterprise Manager Cloud Control基本インストレーション・ガイドCygwinのインストールおよびSSHデーモンの起動を参照してください。

フリート・メンテナンスのユーザー・ロールと権限

このトピックでは、すべてのフリート・メンテナンス操作を実行できるようにするために、ユーザーに必要なロールと権限について説明します。

フリート・メンテナンス操作に必要なロールは、EM_PATCH_OPERATORです。このロールを付与するには、Enterprise Managerから「設定」に移動して、「セキュリティ」「管理者」の順に選択します。「作成」ボタンをクリックし、ユーザー名とパスワードを入力します。

表20-1 各種Oracleホームのユーザー・ロールと権限

Oracleホームのタイプ ロール ターゲット権限 リソース権限
単一インスタンス・データベース EM_PATCH_OPERATOR リスナーの権限:
  • ターゲットの構成
  • ブラックアウト・ターゲット
使用対象: 宛先ターゲットのデータベースとリスナー。
操作に使用する通常および特権資格証明の「資格証明の表示」
Oracle Restart (HAS) EM_PATCH_OPERATOR リスナーの権限:
  • ターゲットの構成
  • ブラックアウト・ターゲット
使用対象: パッチを適用するOracleホームから実行している自動ストレージ管理およびOracle可用性サービスのターゲット。
操作に使用する通常および特権資格証明の「資格証明の表示」
RACデータベース EM_PATCH_OPERATOR リスナーの権限:
  • ターゲットの構成
  • ブラックアウト・ターゲット
使用対象: パッチを適用するOracleホームから実行しているRACデータベース・インスタンスおよびリスナー・ターゲット。
操作に使用する通常および特権資格証明の「資格証明の表示」
グリッド・インフラストラクチャ・クラスタ EM_PATCH_OPERATOR リスナーの権限:
  • ターゲットの構成
  • ブラックアウト・ターゲット
使用対象: 宛先ターゲットの自動ストレージ管理、クラスタおよびOracle高可用性サービスの各ターゲット。
操作に使用する通常および特権資格証明の「資格証明の表示」

構成の汚染の検出

製品のライフサイクルにおいて難しいフェーズの1つは、パッチの適用です。複数のパッチ・サイクルおよび様々なデータベース構成を使用する場合は、ユーザーのパッチ適用のニーズを満たすために、個別のパッチ計画が必要となります。これに対処するには、管理者はまず具体的なデータベース構成のニーズを把握し、環境に施行される標準の構成を選択します。

Enterprise Manager Oracle Databaseプラグインを使用すると、管理者は、すべてのターゲットのデータベース構成をスキャンして既存の環境のレポート(オンデマンド)を生成するソフトウェア標準化アドバイザを使用できます。このレポートで、一意の構成の数(プラットフォーム+バージョン+データベース・タイプ+パッチ)が特定され、各構成のOracleホームとデータベースが一覧表示されます。

たとえば、12.1.0.2 Linux-64 2ノードRAC環境では、3つの異なるグループのパッチが適用されている場合があります。これらのグループのそれぞれには、複数のOracleホームおよびそれらに関連付けられたデータベースがある場合があります。この要件を満たすために、管理者は環境の単純化に役立つ標準の構成を定義できます。

また、ソフトウェア標準化アドバイザは、標準化された構成のリストを推奨し、構成が適用されるすべてのOracleホームを一覧表示します。管理者がこのレポートを四半期ごとに実行してデータベース構成の状態を把握することをお薦めします。このリストはフリート・メンテナンスの基礎になります。

ソフトウェア標準化アドバイザを使用するには、次のステップに従います。
  1. 管理権限のあるEnterprise Managerコンソールにログインします。
  2. 「ターゲット」メニューから「データベース」を選択します。
  3. 「管理」メニューから、「ソフトウェア標準化アドバイザ」を選択します。
  4. 関連するタブ「データベース」 または「グリッド・インフラストラクチャ」 を選択し、「実行/再実行」をクリックして分析を実行します。
  5. スプレッドシートとしてレポートを生成するには、「レポートを生成」 をクリックします。

環境の例を次に示します。
ソフトウェア標準化アドバイザ

現在のシステム構成を次に示します。

製品 リリース プラットフォーム Oracleホームの数 現在のパッチ構成 データベースの数 データベース
OracleDatabase12c 12.1.0.2.0 Linuxx86–64 2 19769480;20299023;20415564. 1 SI:[salesCDB.localdomain]
OracleDatabase12c 12.1.0.2.0 Linuxx86–64 3 19769480;20299023. 2 SI:[fm1.oracle.com;HRdb0000]
OracleDatabase12c 12.1.0.2.0 Linuxx86–64 3 パッチ未適用 3 SI:[fm2.oracle.com;db01;FINdb000]

推奨されるシステム構成を次に示します。

製品 リリース プラットフォーム Oracleホームの数 現在のパッチ構成 データベースの数 データベース
OracleDatabase12c 12.1.0.2.0 Linuxx86–64 8 19769480;20299023;20415564. 6 SI:[HRdb0000;fm2.oracle.com;salesCDB.localdomain;fm1.oracle.com;FINdb000;db01]

フリート操作用の前処理および後処理カスタム・スクリプト

各種のフリート・メンテナンス操作に対して自動化されたメンテナンス・アクティビティをサポートするために、各種操作に応じた前処理および後処理スクリプトを構成するためのサポートが実装されています。前処理および後処理スクリプトは、フリート・メンテナンス操作に使用する前に、EMソフトウェア・ライブラリ・エンティティ(ディレクティブ)としてアップロードしておく必要があります。前処理および後処理スクリプトの使用は、DEPLOY、UPDATE、CLEANUPおよびROLLBACKの各操作でサポートされています。

カスタム前処理/後処理スクリプトの作成と使用:

  1. 前処理/後処理スクリプトを開発する場合は、「カスタム・スクリプトの考慮事項」を参照してください。
  2. ソフトウェア・ライブラリにカスタム・スクリプトをアップロードする場合は、「スクリプトをアップロードするためのソフトウェア・ライブラリ・エンティティ」を参照してください。
  3. ソフトウェア・ライブラリ・エンティティのURNを取得します(「SWLIBエンティティのURNの取得方法」を参照)。
  4. EMCLI入力ファイルで、前処理および後処理スクリプトのソフトウェア・ライブラリURNエンティティを指定します(「前処理/後処理スクリプトの使用方法」を参照)。
カスタム・スクリプトの考慮事項

ユーザーが用意したスクリプトは、複数のパラメータがキーと値のペアの形式で含まれている入力パラメータ・ファイルへの絶対パスを単一の引数で渡すことでフリート・メンテナンス操作中に起動されます。この入力パラメータ・ファイル(scriptInputFile.txt)はプロシージャ・アクティビティの一環として生成され、関連するDP変数がこのファイルに追加されます。これらのキーと値ペアは、このファイルから前処理および後処理スクリプトで読み取ることができ、カスタム・スクリプトで自動化するメンテナンス操作のために使用します。入力パラメータ・ファイルには、現在のoracleホームや新しいoracleホームなどのパラメータ値が含まれています。

また、前処理および後処理スクリプトは、それぞれinput_file内でRUN_PRE_SCRIPT_AS_ROOT=trueフラグおよびRUN_POST_SCRIPT_AS_ROOT=trueフラグを設定することで通常どおりに実行できます。デフォルトでは、これらのフラグはfalseに設定されていて、不要な場合は省略できます。これらのフラグは、それぞれCUSTOM_PRE_SCRIPTS_URNフラグおよびCUSTOM_POST_SCRIPTS_URNフラグとともに渡した場合にのみ適用されます。前処理および後処理のフラグは、DEPLOYUPDATEROLLBACKおよびCLEANUPのフリート・メンテナンス操作に使用できます。

次に、サンプルの入力パラメータ・ファイルを示します。

CLEANUP_SOFTWAREのサンプル・コード

MAINTENANCE_PURPOSE=CLEANUP_SOFTWARE 
CUSTOM_PRE_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:74A730047930C5FDE053DF0FC40A3E69:0.1 
ORACLE_HOME_TARGET_DETAILS=abc01def.example.com:/scratch/cuser/app/cuser/product/13.4.1/dbhome_1; 
CUSTOM_POST_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:74A730047935C5FDE053DF0FC40A3E69:0.1 
DEPLOY_TYPE=SIDB 
ORACLE_HOME_NORMAL_CRED_NAME=CUSER:SYSMAN 
SOURCE_HOST=abc01def.example.com 
ORACLE_HOME_ROOT_CRED_NAME=ORACLE_ROOT:SYSMAN
RUN_PRE_SCRIPT_AS_ROOT=true

DEPLOY_DB_SOFTWAREのサンプル・コード

MAINTENANCE_PURPOSE=DEPLOY_DB_SOFTWARE 
SOURCE_HOME_LOCATION=/scratch/cuser/app/cuser/product/12.2.0/dbhome_2 
target_type=oracle_database 
target_name=sidb122
NOT_WINDOWS=true 
ORACLE_HOME_NORMAL_CREDSET_NAME=HostCredsNormal 
DISPATCHER_LOC=/tmp 
GOLD_IMAGE_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB_OracleDB:74AA263BE602CF3BE053DF0FC40A2ED6:0.1 
ROOT_SCRIPT_LOC=/tmp/1311624666555972//MASSDB-194177ce43d441b89a504584d146aafb 
CUSTOM_PRE_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:74A730047930C5FDE053DF0FC40A3E69:0.1 
CUSTOM_POST_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:74A730047935C5FDE053DF0FC40A3E69:0.1 
ORACLE_HOME_TARGET_DETAILS=den01nre.example.com:OraDB12Home2_4_den01nre.example.com_3012; 
WORK_DIR_LOC=/tmp/1311624666555972//1311626758529303/ 
DEPLOY_TYPE=SIDB 
CREDSET_TARGET_TYPE=OracleHome 
ORACLE_HOME_ROOT_CREDSET_NAME=HostCredsPriv 
RUN_POST_SCRIPT_AS_ROOT=true
NEW_ORACLE_HOME_LIST=/scratch/cuser/app/cuser/product/13.4.1/dbhome_Dep2 
スクリプトをアップロードするためのソフトウェア・ライブラリ・エンティティ

ディレクティブ・タイプのソフトウェア・ライブラリ・エンティティを作成します(EMにカスタム・スクリプトをアップロードするため)。

  1. 「エンタープライズ」→「プロビジョニングとパッチ適用」→「ソフトウェア・ライブラリ」を選択します。
  2. ソフトウェア・ライブラリ・エンティティを作成するディレクトリを選択します。
  3. 「アクション」→「エンティティの作成」→「ディレクティブ」をクリックします。
  4. 「ディレクティブ」画面で、すべての基本詳細を指定します。
  5. 「構成」画面の「コマンドライン引数」の下にある「追加」をクリックします。
  6. 次のリストに示すように、INPUT_FILEを追加します。「OK」をクリックします。
    • Argument Prefix="
    • Argument Suffix="
    • Property Name=INPUT_FILE
  7. 「次」をクリックします。
  8. 「ソースの指定」「追加」をクリックして、「ファイルの選択」画面でカスタム・スクリプトをアップロードするためのスクリプト・ファイルを選択します。メイン・ファイルとしてドライバ・スクリプトを選択します。
  9. 「次」をクリックします。
  10. 「保存とアップロード」をクリックします。
  11. ソフトウェア・ライブラリにエンティティが正常に作成されます。
SWLIBエンティティのURNの取得方法

EMCLIからSWLIBのURNを取得するには:

$OMS_HOME/bin/emcli list_swlib_entities -show_entity_rev_id -name="<Name of SWLIB entity>"

EM UIからSWLIBのURNを取得するには:

  1. 「エンタープライズ」→「プロビジョニングとパッチ適用」→「ソフトウェア・ライブラリ」を選択します。
  2. 「表示表示」→「列」→「内部ID」をクリックします。このオプションを選択します。
  3. アップロードしたエンティティに移動して、そのエンティティの「内部ID」をコピーします。この内部IDがURNです。
前処理/後処理スクリプトの使用方法

カスタム・スクリプトを実行するには、フリート・コマンドに<-input_file>オプションを使用して、前の手順で作成した前処理/後処理スクリプトのSWLIBエンティティのURNを指定します。

emcli db_software_maintenance 
-performOperation -name="Deploy 12.2 Home”
-purpose="DEPLOY_DB_SOFTWARE"
-target_type=oracle_database
-target_list="DB122" 
-normal_credential="ORACLE:SYSMAN" 
-privilege_credential="ORACLE_ROOT:SYSMAN" 
-input_file="data:/scratch/input_dbOH.prop"
Contents of input_dbOH.prop file:
NEW_ORACLE_HOME_LIST=/scratch/cuser/app/cuser/product/12.1.0/dbhome_Dep1
CUSTOM_PRE_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:74A730047930C5FDE053DF0FC40A3E69:0.1
CUSTOM_POST_SCRIPTS_URN=oracle:defaultService:em:provisioning:1:cmp:COMP_Directives:none:74A730047935C5FDE053DF0FC40A3E69:0.1

イメージおよびサブスクリプションのタスク

前提条件を確認してフリート管理を開始する準備ができたら、次のイメージおよびサブスクリプションのタスクを実行して環境を準備する必要があります。

ゴールド・イメージの作成
「構成の汚染の検出」の項に記載されている標準の構成は、ゴールド・イメージと呼ばれます。これは、ベース・ソフトウェア・バージョンと追加パッチに関する情報を含む、最終状態のソフトウェア定義です。最終状態の定義は論理的な用語です。最終状態を表す物理的なソフトウェア・バイナリ・コンポーネントは、ゴールド・イメージと呼ばれます。(ゴールドは、ソフトウェア構成の理想的な標準またはレベルを示す修飾語句です)。次の図は、ゴールド・イメージの作成方法を示しています。

図20-2 ゴールド・イメージの作成

イメージの作成
次に示すEM CLIコマンドを使用して、データベースまたはグリッド・インフラストラクチャ・ホームのイメージを作成できます。このイメージはEnterprise Managerソフトウェア・ライブラリに格納され、プロビジョニングに使用されます。
前提条件:
  • Enterprise Managerソフトウェア・ライブラリがセットアップおよび構成されている。
  • パッチ適用するデータベースおよびクラスタ・ターゲットがEnterprise Managerで検出されている。
  • ターゲットの状態を表す参照環境(データベースおよびOracleホーム)が、Enterprise Managerで検出されている必要があります。この参照環境はゴールド・イメージを作成するために必要となります。

db_software_maintenanceのサンプル:

emcli db_software_maintenance -createSoftwareImage -input_file="data:/tmp/create_gldimg.properties

create_gldimg.properties入力ファイルには、次に説明する変数が含まれています。db_software_maintenanceファミリの動詞の入力変数の詳細は、Enterprise Managerコマンドライン・リファレンス・ガイドdb_software_maintenanceを参照してください。

入力変数の説明

入力変数の詳細は次のとおりです。
  • IMAGE_NAME: ゴールド・イメージの名前。この名前はイメージ全体で一意である必要があります。
  • IMAGE_DESCRIPTION: イメージの説明。
  • REF_TARGET_NAME: このゴールド・イメージの作成に使用されるOracleホーム・ターゲット。これは、要求されるパッチのセットを適用した既存の環境のデータベースまたはGrid InfrastructureのOracleホームです。たとえば、18cフリートのデータベースに最新のリリース更新(RU)でパッチを適用する場合は、18c RUが適用されている参照OracleホームのOracleホーム・ターゲット名を指定する必要があります。参照ターゲット名を見つけるには、Enterprise Managerリポジトリに次の問合せを入力します。
    SELECT distinct target_name FROM mgmt$target_properties WHERE target_name IN
    SELECT target_name FROM mgmt_targets WHERE target_type='oracle_home' AND host_name=<Host Name of this Oracle Home> 
    AND property_name='INSTALL_LOCATION' AND property_value=<path of Oracle Home>
  • IMAGE_SWLIB_LOC: ゴールド・イメージのペイロードが格納されるソフトウェア・ライブラリのパス。
  • REF_HOST_CREDENTIALS: これはデータベース・ゴールド・イメージにのみ適用されます。これは<Named Credential: Credential Owner>という形式で入力する必要があります。
    • <Named Credential>: 参照Oracleホームが配置されているホストの名前付き資格証明です。このユーザーはOracleホームの所有者である必要があります。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザーです。

      ノート:

      REF_HOST_CREDENTIALSパラメータは、データベース・ゴールド・イメージにのみ適用されます。グリッド・インフラストラクチャまたはOracle Restartホームでは、このパラメータはREF_GI_CREDENTIALSとして表示されます。
  • WORKING_DIRECTORY: 参照Oracleホーム・ターゲットのホスト上の一時的な場所。
  • STORAGE_TYPE_FOR_SWLIB: ソフトウェア・ライブラリの記憶域タイプ。OMS共有またはOMSエージェント・ファイル・システムを指定できます。
  • STORAGE_NAME_FOR_SWLIB: ソフトウェア・ライブラリの記憶域名。この記憶域名を取得するには、「エンタープライズ」メニューから、「プロビジョニングとパッチ適用」を選択し、「ソフトウェア・ライブラリ」を選択します。「ソフトウェア・ライブラリ」ページで、「アクション」メニューから「管理」を選択します。このページで、「名前」列の値をチェックして、ソフトウェア・ライブラリの記憶域名を取得します。
  • VERSION_NAME: 1つのイメージは複数のバージョンを持つことができます。デフォルト・バージョンのイメージが作成され、さらにバージョンを追加できます。

サンプル出力

次のような出力結果が表示されます。
'Create Gold Image Profile deployment procedure has been submitted successfully with the instance name: 'CreateGoldImageProfile_TESTSUPERADMIN_12_08_2015_05_09_AM' and execution_guid='25F92D9A00164A45E053D903C40A9B4B

The operation is performed using a deployment procedure, and user needs to wait for its completion before performing next steps. Status of the Gold Image creation can be checked using the following command:

emcli get_instance_status -exec=25F92D9A00164A45E053D903C40'

Oracleホームへのパッチ適用によるゴールド・イメージの作成

ゴールド・イメージは、Oracleホームにパッチを適用することで作成することもできます。パッチ・リストが特定されてダウンロードされると、管理者は、次のシナリオのいずれかでゴールド・イメージ・バージョンを作成できます。
  1. 既存のデプロイメントから新しいバージョンを作成します。管理者には、すべての必要なパッチがデプロイされた既存のテスト環境があります。すべての必要なパッチが含まれている準備済のOracleホームをポイントして、それらを新しいゴールド・イメージOracleホームにコピーします。
    開始するには、すべての必要なパッチが含まれている準備済のOracleホームをポイントします。
    emcli db_software_maintenance -createSoftwareImage -input_file="data:/home/user/input_file"
    このユースケースでは、次の内容がinput_fileに含まれている必要があります。
    IMAGE_ID=<ID of existing Gold Image in which a new version is to be created>
    REF_TARGET_NAME=<ORACLE_HOME source target>
    IMAGE_SWLIB_LOC=<Image Location>
    REF_HOST_CREDENTIALS=USER:TESTSUPERADMIN 
    WORKING_DIRECTORY=/tmp
    DESTN_SAME_AS_SRC=<True/False>
    STORAGE_TYPE_FOR_SWLIB=OmsShared
    STORAGE_NAME_FOR_SWLIB=swlib
    PATCH_LIST=<List of patches to deploy, comma separated>
    VERSION_NAME=Version1
  2. このユースケースでは、管理者がテスト環境を変更しないことを求めています。このユースケースでは、ホームをクローニングし、パッチを適用してからゴールド・イメージを作成する必要があります。元のテスト環境のホームは、変更されません。このユースケースのタスクは、テスト環境のクローニング、パッチの適用およびゴールド・イメージの作成です。
    開始するには、すべての必要なパッチが含まれている準備済のOracleホームをポイントします。
    emcli db_software_maintenance -createSoftwareImage -input_file="data:/home/user/input_file"
    このユースケースのために、input_fileの2つの例(RAC用とGRID用)を示します。
    • RACホーム用に、クローニング、パッチ適用およびゴールド・イメージの作成を実行する場合の入力ファイル:
      IMAGE_NAME=<Unique name to identify operation>
      IMAGE_DESCRIPTION=<Description of image>
      REF_TARGET_NAME=<Oracle_Home source target>
      IMAGE_SWLIB_LOC=<Image Location>
      REF_HOST_CREDENTIALS=USER:TESTSUPERADMIN 
      REF_HOST_ROOT_CREDENTIALS=USER_ROOT:TESTSUPERADMIN 
      WORKING_DIRECTORY=/tmp
      STORAGE_TYPE_FOR_SWLIB=OmsShared
      STORAGE_NAME_FOR_SWLIB=sl
      VERSION_NAME=<Patch version name>
      PATCH_LIST=<List of patches to deploy, comma separated>
      DESTN_HOME_LOCATION=<Location of the destination Oracle Home target>
    • GRIDホーム用に、クローニング、パッチ適用およびゴールド・イメージの作成を実行する場合の入力ファイル:
      IMAGE_NAME=<Unique name to identify operation>
      IMAGE_DESCRIPTION=<Description of image>
      REF_TARGET_NAME=<Oracle_Home source target>
      REF_GI_CREDENTIALS=USER:TESTSUPERADMIN
      IMAGE_SWLIB_LOC=<Image Location>
      REF_HOST_CREDENTIALS=USER:TESTSUPERADMIN
      REF_HOST_ROOT_CREDENTIALS=USER_ROOT:TESTSUPERADMIN
      WORKING_DIRECTORY=/tmp
      STORAGE_TYPE_FOR_SWLIB=OmsShared
      STORAGE_NAME_FOR_SWLIB=sl
      VERSION_NAME=<Patch version name>
      DESTN_HOME_LOCATION=<Location of the destination Oracle Home target>
      PATCH_LIST=<List of patches to deploy, comma separated>
  3. テスト環境自体を変更します。この場合、管理者は指定のホームにパッチを適用してから、ゴールド・イメージを作成する必要があります。
    最初に、新しいパッチでパッチ適用されるOracleホームをポイントして、新しいゴールド・イメージを作成します
    emcli db_software_maintenance -createSoftwareImage -input_file="data:/home/user/input_file"
    ソースと宛先の両方が変更される入力ファイル:
    IMAGE_NAME=<Unique name to identify operation>
    IMAGE_DESCRIPTION=<Description of image>
    REF_TARGET_NAME=<Oracle_Home source target>
    IMAGE_SWLIB_LOC=<Image Location>
    REF_HOST_CREDENTIALS=USER:TESTSUPERADMIN
    REF_HOST_ROOT_CREDENTIALS=USER_ROOT:TESTSUPERADMIN
    WORKING_DIRECTORY=/tmp
    STORAGE_TYPE_FOR_SWLIB=OmsShared
    STORAGE_NAME_FOR_SWLIB=sl
    VERSION_NAME=<Patch version name>
    PATCH_LIST=<List of patches to deploy, comma separated>
    DESTN_SAME_AS_SRC=true
  4. 排他的なステージング環境またはテスト環境を持たないEnterprise Managerデプロイメント。このユースケースでは、CURRENT (デフォルト)バージョンのイメージをデプロイし、パッチを適用してからゴールド・イメージを作成します。
    開始するには、すべての必要なパッチが含まれている準備済のOracleホームをポイントします。
    emcli db_software_maintenance -createSoftwareImage -input_file="data:/home/user/input_file"
    テスト環境がないユースケースの入力ファイルの例:
    IMAGE_ID=<ID of existing Gold Image in which a new version is to be created>
    DESTN_HOME_LOCATION=<Location of the destination Oracle Home target>
    DESTN_HOST=<host target name> 
    DISPATCHER_LOCATION=<Dispatch location of the scripts>                         
    SKIP_PREREQUISITE_CHECKS=<true/false>
    SKIP_CVU_CHECK=<true/false>                                            
    REF_HOST_CREDENTIALS=USER:SUPERADMIN
    WORKING_DIRECTORY=/tmp
    IMAGE_SWLIB_LOC=<Image Location>
    STORAGE_TYPE_FOR_SWLIB=OmsShared
    STORAGE_NAME_FOR_SWLIB=swlib
    VERSION_NAME=<Patch version name>
    PATCH_LIST=<List of patches to deploy, comma separated> 
Enterprise Managerのデプロイメント間でのフリート・メンテナンス・ゴールド・イメージの移行

フリート・メンテナンスでは、フリート・デプロイメント間でゴールド・イメージを移行することで、Enterprise Managerの個別のインストール間で更新、ソフトウェア・イメージおよびそのメタ・データを送信できます。このユースケースは、開発用と本番用の2つのEnterprise Managerのインストールがある場合に特に役立ちます。開発インスタンスでパッチ適用とソフトウェア・イメージをテストして、問題がなければ、すべてのソフトウェア・イメージとそのメタ・データを本番Enterprise Managerに移動できます。これにより、すべてのソフトウェア・イメージを本番Enterprise Managerで再作成する必要がなくなります。インストール済のホームからソフトウェア・イメージを作成すると時間がかかります。

フリート・メンテナンス・ゴールド・イメージの移行のステップ

フリート・メンテナンス・ゴールド・イメージ、そのソフトウェア・イメージとメタデータの移行は、次の3つの主なステップに分けることができます。
  1. ゴールド・イメージのエクスポート・コマンドを使用して、ソースのEnterprise Managerソフトウェア・ライブラリからステージングの場所にゴールド・イメージをエクスポートします。
  2. オプションとして、宛先のEnterprise Managerエージェントがアクセスできる場所にゴールド・イメージをコピーします。
  3. ゴールド・イメージのインポート・コマンドを実行して、宛先のEnterprise Managerソフトウェア・ライブラリにゴールド・イメージ・ファイルをインポートします。対応するメタ・データが、フリート・ブックキーピング表とビューに書き込まれます。

フリート・メンテナンス・ゴールド・イメージのエクスポートおよびインポートの前提条件

Enterprise Managerのインストール間でゴールド・イメージを移行する前に、まず、次の項目を確認してください。
  • 指定した移行元と移行先のホストが、Enterprise Managerで認識可能なターゲットであることを確認します。
  • 指定した移行先ホストが、Enterprise Manager内の管理対象ターゲットであることを確認します。
  • 指定した記憶域の場所が有効であることを確認します。

フリート・メンテナンス・ゴールド・イメージのフリート・ファイルをエクスポートおよびインポートするステップ

  1. 最初に、次のパラメータを使用して、export_gldimg.propファイルを作成する必要があります。
    • IMAGE_NAME: エクスポートする必要があるイメージの名前。
    • IMAGE_ID: エクスポートする必要があるイメージのID。

      ノート:

      IMAGE_NAMEまたはIMAGE_IDは必須です。
    • VERSION_NAME: エクスポートする必要があるイメージ・バージョンの名前(必須)。
    • VERSION_ID: エクスポートする必要があるイメージ・バージョンのID (オプション)。
    • DEST_HOST_NAME: ゴールド・イメージ・バンドルを格納するホスト名(必須)。
    • DEST_HOST_CRED: ホストの通常資格証明(必須)。
    • GOLD_IMAGE_BUNDLE_LOCATION: ゴールド・イメージ・バンドルを格納する場所(必須)。
    • GOLD_IMAGE_BUNDLE_NAME: ゴールド・イメージ・バンドルの名前(オプション)。
    • WORKING_DIRECTORY: デフォルトでは、/tmpが作業ディレクトリです(オプション)。

    ノート:

    移行先ホストの名前、移行先ホストの資格証明、イメージIDまたはイメージ名、ゴールド・イメージ・バンドルの場所は必須パラメータです。こうしたパラメータは実行時にチェックされ、またはNullの場合はエラーを戻します。
    export_gldimg.propファイルのサンプルは、次のようになります。
    IMAGE_ID=8BBCE9315DEB1C27E05388947B0AF101
    IMAGE_NAME=18.3 patched SI Home
    VERSION_ID=8BBCC9E029AF7B18E05388947B0AB627
    DEST_HOST_NAME=example.sample.com
    DEST_HOST_CRED=USER1:SYSMAN
    GOLD_IMAGE_BUNDLE_LOCATION=/scratch/<file_path>/goldimage
    GOLD_IMAGE_BUNDLE_NAME=ExportGoldImage.zip
  2. export_gldimg.propを作成したら、exportSoftwareImageフラグを指定して、db_software_maintenance EM CLI動詞を実行します。次の例を参照してください。
    emcli db_software_maintenance -exportSoftwareImage
        -input_file=”data:<file_path>/export_gldimg.prop”

    ノート:

    問題を回避するために、Windowsフリート・メンテナンス操作では短いファイル・パスを使用することをお薦めします。入力ファイル内の作業ディレクトリの場所は、WORK_DIR_LOC=C:\tempのような短いファイル・パスで渡すことができます。
    完了すると、フリート・メンテナンス・ゴールド・イメージは正常にエクスポートされています。
  3. インポートを開始するには、まず、次のパラメータでimport_gldimg.propファイルを作成する必要があります。
    • IMAGE_NAME: インポートしたイメージに使用するゴールド・イメージ名(必須)。
    • HOST_NAME:ゴールド・イメージ・バンドルを格納するホスト名(必須)
    • HOST_CREDENTIAL: ホストの通常資格証明(必須)。
    • GOLD_IMAGE_BUNDLE_NAME: ゴールド・イメージzipファイルのバンドル名(必須)。
    • GOLD_IMAGE_BUNDLE_LOCATION: ゴールド・イメージ・バンドルの場所(必須)。
    • IMAGE_DESCRIPTION: インポートしたイメージの説明(オプション)。
    • IMAGE_SWLIB_LOC: ソフトウェア・ライブラリ内のイメージ・コンポーネントの場所(必須)。
    • WORKING_DIRECTORY: デフォルトでは、/tmpが作業ディレクトリです。別のパスが必要な場合に指定します(オプション)。
    • STORAGE_TYPE_FOR_SWLIB: ソフトウェア・ライブラリの記憶域のタイプ(必須)。
    • STORAGE_NAME_FOR_SWLIB: ソフトウェア・ライブラリの記憶域の名前(必須)。
    • VERSION_NAME: インポートしたイメージのバージョン名(オプション)。

    ノート:

    ゴールド・イメージ・バンドルの名前、場所、ホストの名前と資格証明、記憶域の名前、タイプと場所、作業ディレクトリは必須パラメータです。こうしたパラメータは実行時にチェックされ、またはNullの場合はエラーを戻します。
    import_gldimg.propファイルのサンプルは、次のようになります。
    IMAGE_NAME=18.3 SI Home import1
    HOST_NAME=example.sample.com
    HOST_CREDENTIAL=USER1:SYSMAN
    GOLD_IMAGE_BUNDLE_LOCATION=/scratch/<file_path>/goldimage183
    GOLD_IMAGE_BUNDLE_NAME=ExportGoldImage183.zip
    IMAGE_DESCRIPTION=Gold Image for 18.3 SI Home - import
    IMAGE_SWLIB_LOC=Database ProvisioningProfiles/<db version>/linux_x64
    WORKING_DIRECTORY=/tmp
    STORAGE_TYPE_FOR_SWLIB=OmsShared
    STORAGE_NAME_FOR_SWLIB=swlib
    VERSION_NAME=18.3 SI home-import1
  4. import_gldimg.propを作成したら、importSoftwareImageフラグを指定して、db_software_maintenance EM CLI動詞を実行します。次の例を参照してください。
    emcli db_software_maintenance -importSoftwareImage
        -input_file=”data:<file_path>/import_gldimg.prop”
    完了すると、フリート・メンテナンス・ゴールド・イメージは正常にインポートされています。
使用可能なゴールド・イメージのリストの取得

ノート:

次に示すEM CLIコマンドの出力をフォーマットするには、emctlプロパティの- oracle.sysman.dbprov.gis.emcli.verbs.tableLengthを端末の幅に設定します。

次に例を示します。

emctl set property -name oracle.sysman.dbprov.gis.emcli.verbs.tableLength -value 160
イメージが正常に作成されると、次のコマンドで、使用可能なイメージのリストを取得できます。
$ emcli db_software_maintenance -getImages [-columnName=<Comma-separated variable list>]
Image Id Image Name Description 
Version 
72D9D7C656A11AB2E053BC3A41  RACS_12.1_RAC_12.1.0.2.180  
12.1.0.2.0 12CRACS 0A7A43 

入力変数の説明:

  • -getImages: 本番ステータスのイメージのリストを表示します。失敗または非アクティブ・ステータスのリストを取得するには、次を使用します: -getImages
  • columnName: 出力の列数を制限するために使用できるオプションのカンマ区切りリスト・パラメータです。サポートされる値は、image_idimage_nameimage_versionおよびimage_descriptionです。例: -columnName: image_id, image_name

サンプル出力

Image Id Image Name Description

Version Platform Name Creation Date Owner Modified By

FE55AD7AB28974EFE04313B2F00AD4A0 11.2.0.4.0 RAC DB Gold Image for 112040 RAC DB Homes

11.2.0.4.0 Linux x86-64 2015-12-28 13:22:42.0 TESTSUPERADMIN TESTSUPERADMIN

Verb getImages completed successfully

イメージのバージョンのリスト

使用可能なイメージのリストを取得した後、次のコマンドで、特定のイメージに使用可能なバージョンのリストを表示できます。

emcli db_software_maintenance -getVersions -image_id=<image_id>
[-columnName=<column names>]

入力変数の説明

  • columnName: 出力の列数を制限するために使用できるオプションのカンマ区切りリスト・パラメータです。サポートされる値は、image_idimage_nameimage_versionおよびimage_descriptionです。

サンプル出力

*************************************************************************************************************************************
POSITION                        VERSION ID                      VERSION NAME        STATUS           DATE CREATED 
EXTERNAL ID                     HASHCODE                       
*************************************************************************************************************************************
1                               277DF28F2D30393BE053D903C40AC6  CUSTOMER 112044     VERSION ACTIVE   2015-12-22  05:54:45.0  
ORACLE:DEFAULTSERVICE:EM:PROVI  C3448035451:B1400395227         
SIONING:1:CMP:COMP_COMPONENT:S  10 
UB_ORACLEDB:277DF28F2D2C393BE0
53D903C40AC610:0.1   
************************************************************************************************************************************
2                               277E39B74D684C6BE053D903C40A59  CUSTOMER 112047     VERSION CURRENT  2015-12-22 06:14:40.0    
ORACLE:DEFAULTSERVICE:EM:PROVI  C3448035451:B3881579444         
IONING:1:CMP:COMP_COMPONENT:S   EB
UB_ORACLEDB:277E39B74D664C6BE0
53D903C40A59EB:0.1 
                                  
*************************************************************************************************************************************
TOTAL ROWS:2

イメージの説明

イメージのコンテンツ(パッチ/バグ)を表示するには、次のEM CLIコマンドを実行します。特定のversion_idを指定していない場合は、指定したイメージの現在のバージョンがデフォルトで表示されます。
emcli db_software_maintenance –describeImage –image_id=<Image Id> [-version_id=<version id>] [-bugs=true]

サンプル出力

# PATCH# PATCH DESCRIPTION
1 23054319 OCW Patch Set Update : 11.2.0.4.160719 (23054319)
2 19769489 Database Patch Set Update : 11.2.0.4.5 (19769489)
3 21352635 Database Patch Set Update : 11.2.0.4.8 (21352635)
イメージが適用可能であるかどうかの確認

このステップは、指定されたデータベース・ターゲットにパッチを適用するためにイメージを使用できるかどうかを確認します。これは、データベース・ターゲットの現在のOracleホームおよびイメージで使用可能なバグ修正を比較することによって行われます。

サンプル・コード:
emcli db_software_maintenance -checkApplicability -image_id=<image_id> 
-target_list=<target_list> -target_type=<target_type>
入力変数の説明
  • target_list: データベースまたはグリッド・インフラストラクチャのホーム、またはOracle Restartホームのターゲット・リスト
  • target_type: エンティティ・タイプに基づくEM CLIコマンド入力の表を参照してください。

:

RACデータベース
emcli db_software_maintenance –checkApplicability -image_id= FE55AD7AB28974EFE04313B2F00AD4A0 
-target_list=RACDB1 -target_type=rac_database
Oracle Restart
emcli db_software_maintenance –checkApplicability -image_id=2EA08B6339234B7E053BC3A410A2826 
-target_list=HAS1 -target_type=has

グリッド・インフラストラクチャ

emcli db_software_maintenance -checkApplicability -image_id=72F8E4FCDE017B99E053BC3A410AF226 
-target_list=CLUSTER1 -target_type=cluster

単一インスタンス

emcli db_software_maintenance -checkApplicability -image_id=6E4EA63DDC00535CE0531636B10ABA1A 
-target_list=DB1 -target_type=oracle_database

サンプル出力

Checking applicability for target [DB1]...
Image is applicable
このコマンドでは、次のいずれかの結果が表示されます。
  • Applicable: イメージおよびデータベース・ターゲットには、同じセットのバグ修正が含まれています。指定したターゲットにイメージを適用できます。
  • Applicable and Image has more bug fixes: イメージには、データベースに適用されているものより多くのバグ修正が含まれています。データベースにないバグのリストが表示されます。指定したターゲットにイメージを適用できます。
  • Not Applicable: データベースには、イメージに含まれているものより多くのバグ修正が含まれています。欠落しているバグのリストが表示されます。管理者は、データベースに同じものを取り込む前に、欠落しているバグを含む新しいバージョンのイメージを作成する必要があります。
イメージまたはイメージのバージョンの削除

イメージのバージョンの削除

既存のイメージのバージョンを削除するには、次のコマンドを使用します。

emcli db_software_maintenance –deleteVersion –version_id=<version_id> [-reportOnly=true|false]
入力変数の説明

入力変数は、次のとおりです。

  • version_id: 削除する必要があるバージョンのID。
  • reportOnly: オプションのパラメータです。デフォルト値は、falseに設定されています。trueとして指定すると、削除されるバージョンの詳細が表示されますが、操作は名前が示すようには実行されません。これは、バージョンを実際に削除する前の予備ステップとして使用されます。

イメージの削除

イメージを削除して、すべてのバージョンのイメージとサブスクリプションやソフトウェア・ライブラリ・コンポーネントなどのイメージに関連するすべてのメタデータを削除するには、次のコマンドを使用します。
emcli db_software_maintenance –deleteImage –image_id=<image_id> [-reportOnly=true|false]
入力変数の説明

入力変数は、次のとおりです。

  • Image_id: 削除する必要があるバージョンのID。
  • reportOnly: オプションのパラメータです。デフォルト値は、falseに設定されています。trueとして指定すると、削除されるバージョンの詳細が表示されますが、操作は名前が示すようには実行されません。これは、バージョンを実際に削除する前の予備ステップとして使用されます。
選択したイメージへのターゲットのサブスクライブ

標準化を実現するには、Oracleホームがそのイメージにサブスクライブされる必要があります。グリッド・インフラストラクチャ・ホームのグループは、参照グリッド・インフラストラクチャ・ホームで作成されたイメージにサブスクライブできます。ターゲットを一度にサブスクライブできるゴールド・イメージは1つのみです。

構文:
emcli db_software_maintenance -subscribeTarget -target_name=<target_name> 
-target_type=<target_type> -image_id=<image_id>
サンプル:
emcli db_software_maintenance -subscribeTarget -target_name=ORCL1910.abc.sample.com  
-target_type=oracle_database -image_id=A344EFAD4A9D7

説明:

ノート:

ターゲットがプライマリ・データベースの場合は、スタンバイ・データベース・ターゲットが自動的に同じイメージにサブスクライブされます。

サンプル出力

Target 'RACDB1' subscribed successfully.
Verb subscribeTarget completed successfully
サブスクリプションの確認

構文:

特定のイメージにサブスクライブされているすべてのターゲットのリストを表示できます。大規模なデータ・センターでは、これらの各イメージにサブスクライブされている複数のイメージおよび複数のターゲットがある場合があります。たとえば、次の図は、3つのイメージと、3つのイメージのそれぞれにサブスクライブされている複数のターゲットを示しています。

emcli db_software_maintenance -getImageSubscriptions -image_id=<image_id>

サンプル出力:

**************************************************************************************

TARGETNAME  TARGETTYPE   VERSIONNAME      DATESUBSCRIBED 

CLUSTER1    CLUSTER      112044 Version   2015-12-22 06:59:08.0

**************************************************************************************

Total Rows:1

サブスクリプションをターゲット・レベルで確認するには、次のコマンドを使用します:

emcli db_software_maintenance -getTargetSubscriptions -target_name=<target_name> -target_type=<target_type>

入力変数の説明

  • target_name: ターゲットの名前。
  • target_type: エンティティ・タイプに基づくEM CLIコマンド入力の表を参照してください
  • version_name: これは空になる場合があります。ターゲットの既存のOracleホームに既存のゴールド・イメージ・バージョンと同じパッチ・セットがある場合に値が表示されます。

サンプル出力

TARGET NAME TARGET TYPE IMAGE ID IMAGE NAME VERSION ID VERSION NAME PARENT NAME PARENT TYPE DATE SUBSCRIBED
=========================================================================================================================================================
DB1 oracle_database 48B75BB7B5E0462 SIDB_11204 48B78E3967D56BE PSU Jan17 <null> <null> Jan 2017-02-21

コンテナ・データベースのPDBパッチのサブスクリプションを確認するには、次のコマンドを使用します:

emcli db_software_maintenance -getSubscriptionsForContainer -target_name=<CDB_TARGET_NAME> 
-target_type=<target_type> -image_id=<image_id>

サンプル出力

emcli db_software_maintenance -getSubscriptionsForContainer 
TARGET NAME TAREGT TYPE IMAGE ID
==================================================================
conttarget oracle_database 73659339F2364E7CE053BC3A410A2016
イメージからのターゲットのサブスクライブ解除
ターゲットをイメージからサブスクライブ解除するには、次のコマンドを使用します。
emcli db_software_maintenance -unsubscribeTarget -target_name=<target_name> 
-target_type=<target_type> -image_id=<image_id>
説明:
  • target_name: パッチを適用する必要があるRACデータベース・ターゲットの名前です。
  • target_type: エンティティ・タイプに基づくEM CLIコマンド入力の表を参照してください。
  • image_id: このターゲットにパッチ適用されるゴールド・イメージのIDです。image_idは、emcliコマンドを実行することで取得できます。このコマンドの詳細は、「使用可能なゴールド・イメージのリストの取得」を参照してください。
更新されたバージョンのイメージの作成
選択したイメージにすべてのターゲットがサブスクライブされたことを確認したら、新しいバージョンのイメージを作成する必要があります。これはデータベースがパッチ適用されるターゲット・バージョンです。

構文: emcli db_software_maintenance -createSoftwareImage -input_file=data:"<input_file_path>"

入力ファイルの詳細は、「ゴールド・イメージの作成」を参照してください。

: emcli db_software_maintenance -createSoftwareImage -input_file="data:/home/user/input_rac"

RACデータベースの場合、input_fileには次の内容が含まれています。

IMAGE_ID=<ID of the existing gold image under which the version is to be created> 
REF_TARGET_NAME=<Oracle home target name for 112044 Oracle home>
<IMAGE_SWLIB_LOC=Oracle Home Provisioning Profiles/11.2.0.4.4/linux_x64
REF_HOST_CREDENTIALS=REF_HOST_CREDS:SYSMAN
WORKING_DIRECTORY=/tmp
STORAGE_TYPE_FOR_SWLIB=OmsShared
STORAGE_NAME_FOR_SWLIB=swlib
VERSION_NAME=PSU 112044 Version

サンプル出力

Create Gold Image Profile deployment procedure has been submitted successfully with the instance name: 'CreateGoldImageProfile_SYSMAN_12_08_2015_05_09_AM' and execution_guid='25F92D9A00164A45E053D903C40A9B4B'
バージョン・ステータスをCurrentに変更する

更新されたバージョンのイメージが作成されたら(ゴールド・イメージの作成を参照)、この新しいバージョンを「Current」としてマークする必要があります。これは、フリート操作の最後にデータベースがパッチ適用されるターゲット・バージョンであることを示します。

emcli db_software_maintenance -updateVersionStatus -version_id=<version_id> -status=CURRENT

version_idはデータベースがパッチ適用されるターゲット・バージョンです。

サンプル出力

Version ID '269EA1638D1D7472E053D903C40ABF1B' updated successfully.

Verb updateVersionStatus completed successfully.

フリート・メンテナンス・ソフトウェアの操作

フリートメンテナンスでは、簡単なEM CLIコマンドでフリート全体に対する操作を実行できます。フリート・メンテナンスを使用すると、対象の環境全体にわたるソフトウェア構成の標準化を簡素にできます。

次の表に、サポートされているターゲット・タイプおよびemcliコマンドのtarget_typeフィールドと-purposeフィールドに指定する必要がある値を示します。

エンティティ Target_type デプロイ操作 更新操作 ロールバック操作 ソフトウェア操作のクリーン・アップ
単一インスタンス・データベース

ノート:

Windowsプラットフォームでサポートされるようになりました
oracle_database DEPLOY_DB_SOFTWARE UPDATE_DB

MIGRATE_LISTENER (詳細はリスナーの移行を参照)

ROLLBACK_DB CLEANUP_SOFTWARE
RACデータベース rac_database DEPLOY_RAC_SOFTWARE UPDATE_RACDB ROLLBACK_RACDB CLEANUP_SOFTWARE
Oracle Restart has DEPLOY_SIHA_SOFTWARE UPDATE_SIHA ROLLBACK_SIHA CLEANUP_SOFTWARE
グリッド・インフラストラクチャ cluster DEPLOY_GI_SOFTWARE UPDATE_GI ROLLBACK_GI CLEANUP_SOFTWARE
PDB oracle_pdb DEPLOY_DB_SOFTWARE/DEPLOY_RAC_SOFTWARE/+DEPLOY_CDB/ATTACH_CDB UPDATE_PDB ROLLBACK_PDB 該当なし
CDB/RAC CDB oracle_database/ rac_database DEPLOY_DB_SOFTWARE/DEPLOY_RAC_SOFTWARE/+DEPLOY_CDB/ATTACH_CDB UPDATE_DB/ UPDATE_RACDB ROLLBACK_DB/ ROLLBACK_RACDB CLEANUP_SOFTWARE

ノート:

上の表のすべての値は大/小文字が区別されます。

フリート管理を使用した単一インスタンス・データベースへのパッチ適用の詳細なチュートリアルは、Oracle Enterprise Managerフリート・メンテナンスを使用した単一インスタンス・データベースへのパッチ適用を参照してください。

db_software_maintenanceの一般的なコード・レイアウトと情報

emcli db_software_maintenance -performOperation 
-name=<User Specified Operation>
-purpose=<Operation Type> 
-target_type=<target type> 
-target_list=<list of targets> 
-normal_credential=<credential name> 
-privilege_credential=<credential name> 
-rolling=<true/false> 
-input_file="data:<location of input file>"
  • name: これは操作の一意の名前です。
  • purpose: エンティティ・タイプに基づくEM CLIコマンド入力の表を参照してください。
  • target_type: エンティティ・タイプに基づくEM CLIコマンド入力の表を参照してください。
  • target_list: これはパッチを適用する必要があるターゲットのカンマ区切りのリストです。

    同種のタイプのターゲットは、単一のフリート操作でサポートされます。

  • normal_credential: <Named Credential: Credential Owner>の形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
  • privilege_credential: これは<Named Credential: Credential Owner>という形式で入力する必要があります。ここで、
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
    これらの資格証明は、スクリプトをルートとして実行するために使用されます。
  • rolling: これはオプションのフラグであり、デフォルト値はtrueです。更新プロシージャはデフォルトでは「ローリング・パッチ」モードで動作しますが、必要に応じてそれをオーバーライドできます。ゴールド・イメージにOJVMパッチがある場合は、この値をfalseとマークする必要があり、これにより、RAC DBのすべてのインスタンスが更新のために停止します。このオプションは、(グリッド・インフラストラクチャまたはOracle Restartではなく) DBパッチ適用にのみ適用されます。
  • input_file: これはオプション・パラメータです。ここで指定できるパラメータは、workingDir =<Name of temp directory>です。
デプロイ操作
デプロイ操作は、フリート・メンテナンス内で実行して、データベースのデプロイメントを単純化します。これが短時間で実行できる理由は、ゴールド・イメージ(現行の標準を示す「Current」のマークが付いているバージョンのイメージ)は、パラレルOracleホームにコピーされてから、パッチ適用済の新しいOracleホームになるためです。このコマンドは、パラレルOracleホームを作成してそこにゴールド・イメージをコピーするために使用します。言い換えると、このコマンドを使用すると、サブスクライブしているOracleホーム上で新しいOracleホームをステージングおよびデプロイできます。デプロイコマンドは、新しいOracleホームの作成時にCURRENTバージョンのサブスクライブ・イメージを自動的に使用します。このトピックでは、各種のデプロイメント操作の例について説明します。

EM CLI動詞db_software_maintenanceのデプロイ演算子の詳細は、Enterprise Managerコマンドライン・インタフェースdb_sm_performoperation_deployに関する項を参照してください。

デプロイ命令の一般的なレイアウトは、次のとおりです。

emcli db_software_maintenance 
-performOperation
-name=<User specified Operation name>
-purpose=<Operation Type>
-target_type=<type of target>
-target_list=<list of targets>
-normal_credential=<Named Credential: Credential Owner>
-privilege_credential=<Named Credential: Credential Owner>
[-windows_sec_credential=<Named Credential: Credential Owner>]
-input_file="data:<location of input file>"
[-standbyAutoDeploy=true|false] [-procedure_name_prefix="CustomUpdate"]
  • name: これは操作の一意の名前です。
  • purpose: この命令の目的。この場合は、DEPLOY:
    • DEPLOY_DB_SOFTWARE
    • DEPLOY_RAC_SOFTWARE
    • DEPLOY_SIHA_SOFTWARE
    • DEPLOY_GI_SOFTWARE
    • DEPLOY_CBD_SOFTWARE
    .
  • target_type: この操作が実行されるターゲットのタイプ。有効な値については、エンティティ・タイプに基づくEM CLIコマンド入力の表を参照してください。
  • target_list: これはパッチを適用する必要があるターゲットのカンマ区切りのリストです。
    • 同種のタイプのターゲットは、単一のフリート操作でサポートされます。
    • このターゲット・リストに基づく一意のホストのリストが表示され、それらのホストでOracleホーム・ソフトウェアのステージングが開始されます。
    • 同じOracleホームから実行されているターゲットをこのリストに指定した場合、ステージング操作およびデプロイ操作はすべてのターゲットに対してトリガーされるのではなく、一度だけトリガーされます。
  • normal_credential: Unixのみ< Named Credential: Credential Owner>という形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
  • privilege_credential: Unixのみ< Named Credential: Credential Owner>という形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

    ノート:

    これらの資格証明は、スクリプトをルートとして実行するために使用されます。
  • windows_sec_credential: Windows単一インスタンス・データベースのみ。<Named Credential: Credential Owner>の形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
    Windows資格証明の例:
    emcli db_software_maintenance -performOperation -name="Deploy a Patched Home" 
    -purpose=DEPLOY_DB_SOFTWARE -target_type=oracle_database -target_list="ORCL1910.abc.sample.com"  
    -input_file="data:/tmp/deploywin.properties" -normal_credential="LOCALADMIN:SYSMAN"
    -windows_sec_credential="LOCALUSERCRED:SYSMAN"
  • start_schedule: ステージングおよびデプロイを開始する日付(将来開始する場合)です。"start_time:yyyy/mm/dd HH:mm"という書式を使用します。これはオプションのパラメータです。日付を指定しない場合、フリート操作は即座に開始されます。
  • standbyAutoDeploy: これは、デフォルト値がTrueのオプション・パラメータです。ターゲットがプライマリ・データベースの場合は、プライマリと同じゴールド・イメージ・バージョンを持つ新しいOracleホームが自動的にスタンバイ・ホストにデプロイされます。このパラメータは、falseと指定されると、スタンバイ・ホストでのソフトウェアの自動デプロイメントを無効にします。この値がfalseの場合、前述のEM CLIコマンドを使用して、スタンバイのステージング/デプロイを個別に実行できます。
  • procedure_name_prefix: これはオプションのパラメータです。デプロイメント・プロシージャ・インスタンス名にカスタム名を指定するために使用します。サポートされている操作は、DEPLOY、UPDATE、CLEANUPおよびROLLBACKです。
  • input_file: このファイルには次のエントリが含まれています。
    • NEW_ORACLE_HOME_LIST=<新しいOracleホームのファイル・システムの場所への絶対パス>
    • workingDir=<Name of temp directory>: これは、すべてのホスト上で新しいOracleホームがインストールされる場所です。資格証明所有者には、この場所への読取りおよび書込みアクセス権がある必要があります。
    • dispatchLoc=<Dispatch location>: スクリプトがホスト上でステージングされる場所です。これらのスクリプトは、rootユーザーが実行できます。
    • SKIP_PREREQUISITE_CHECKS=<true/false>: デフォルト値はfalseです。
    • SKIP_CVU_CHECK=<true|false>: デフォルト値はfalseです。
    • PREREQS_ONLY=<true/false>: デフォルト値はfalseです。これは、前提条件チェック中のエラーの特定に使用できます。値がtrueに設定されている場合、実際のデプロイメントは行われません。
    • dispatchLoc=<Absolute path to the custom location>: このパラメータは、既存の読取り専用の場所を使用してディスパッチャの場所をステージングして使用し、事前ステージングされているディスパッチャおよびフリート・スクリプトを使用する操作のために追加されています。これは、カスタム・スクリプトを使用してrootとしてのみ実行される追加のセキュリティ対策であり、少数のファイルを実行することのみが許可されます。
    • isRootPreStaged=<true/false>: このフラグにtrueを設定する場合は、ルート・コンポーネントをdispatchLocの場所に事前ステージングする必要があります。これは、コンポーネントがすでに手動で事前ステージングされている場合に、事前ステージングのステップをスキップするために役立ちます。

      ルートを事前ステージングするには、次のコンポーネントを事前ステージングおよび実行する必要があります。

      • ルート・ディスパッチャ・コンポーネント(Unixのみの要件)
      • ルート・スクリプト。dispatchLocの場所にスクリプトを解凍する追加ステップが必要となります。
      • 共通ルート・コンポーネント

      ルート・コンポーネントを事前ステージングする方法の詳細な手順は、「フリート・メンテナンスのための手動によるルート・コンポーネントのステージング」を参照してください。

      ノート:

      このフラグがfalseに設定されていて、コンポーネントが事前ステージングされている場合、コンポーネントは上書きされます
    • RUN_CVU_FROM_OH=<true/false>: デフォルトでは、クラスタ検証ユーティリティはOracleホームから実行されます。このフラグをfalseに設定すると、CUSTOM_CVU_COMPONENTと組み合せて使用されるソフトウェア・ライブラリからCVUを実行できるようになります。このフラグは、次の2つの場合にもfalseに設定します。
      • データベースのバージョンが12.1以前。該当するバージョンのoracleホーム・バイナリには、クラスタ検証ユーティリティが含まれていません。
      • スタンドアロンSIDB (単一インスタンス・データベース)。SIDB oracleホーム・バイナリには、クラスタ検証ユーティリティが含まれていません。
    • CUSTOM_CVU_COMPONENT=<Path of Custom CVU in the Software Library>: このコンポーネントはRUN_CVU_FROM_OH=falseと組み合せて使用し、カスタムのCVUが存在する場所からのパスを設定して、Oracleホームではなくソフトウェア・ライブラリからCVUを実行できるようにします。

Oracleホームのデプロイ

次の例では、Oracleホームのデプロイメントについて説明します。次に示すように、DEPLOY_DB_SOFTWAREのpurposeは、単一インスタンスのOracle Databaseおよびプラガブル・データベースの作成に使用できます。

emcli db_software_maintenance 
-performOperation 
-name="Deploy Home"
-purpose="DEPLOY_DB_SOFTWARE"
-target_type= <oracle_database or oracle_pdb>
-target_list=db1221
-normal_credential="NORMAL:SYSMAN"
-privilege_credential="ROOT:SYSMAN"
-input_file="data:/deploy_OH.txt"
-attach_home=true

ノート:

コンテナ・データベースおよびRACコンテナ・データベースの作成には、DEPLOY_DB_SOFTWAREではなく動詞DEPLOY_CDBを使用します。

RACデータベースのデプロイ

次のコードの抜粋は、db_software_maintenance emcli動詞でDEPLOY_RAC_SOFTWAREのpurposeを使用して、RACデータベースをデプロイする方法を示しています。
emcli db_software_maintenance 
-performOperation 
-name="Deploy Home"
-purpose="DEPLOY_RAC_SOFTWARE"
-target_type= rac_database
-normal_credential="NORMAL:SYSMAN"
-privilege_credential="ROOT:SYSMAN"
-input_file="data:/deploy_OH.txt"
-attach_home=true

Oracle Restartのデプロイ


emcli db_software_maintenance 
-performOperation -name="Deploy Home"
-name="Deploy Home"
-purpose="DEPLOY_SIHA_SOFTWARE"
-target_type= has
-normal_credential="NC_HOST_CREDS:SYSMAN"
-privilege_credential="HOST_PRIV:SYSMAN"
-input_file="data:/deploy_OH.txt"
-SKIP_CVU_CHECK=<true/false>
SKIP_CVU_CHECK: このフラグを使用すると、CVUチェックをスキップできます(trueに設定した場合)。DEPLOY_SIHA操作とDEPLOY_GI操作にのみ使用されるオプションのフラグです。

Oracle Grid Infrastructureデータベースのデプロイ

emcli db_software_maintenance 
-performOperation 
-name="Deploy-1120407 GI Home"
-purpose=DEPLOY_GI_SOFTWARE
-target_type=input_file
-target_list="CLUSTER1"
-normal_credential="NC_HOST_CREDS:TESTSUPERADMIN"
-privilege_credential="HOST_PRIV:TESTSUPERADMIN"
-inputfile="data:/usr/oracle/deploy.txt"
SKIP_CVU_Check=<true/false>"
SKIP_CVU_CHECK: このフラグを使用すると、CVUチェックをスキップできます(trueに設定した場合)。DEPLOY_SIHA操作とDEPLOY_GI操作にのみ使用されるオプションのフラグです。

DEPLOY_GI_SOFTWAREは、12.Xのグリッド・インフラストラクチャを19 cまたは18 cにアップグレードする場合に使用します。新しい19Cまたは18Cのホームがデプロイされたら、UPDATE_GIを実行します。最後に、DEPLOY_RAC_SOFTWAREを使用して、19 cまたは18 cのRACホーム・バイナリをデプロイします。

コンテナ・データベースのデプロイ

コンテナ・データベースの場合、コンテナ全体を同時に更新するのではなく、一度に1つまたは複数のPDBを更新できます。これを可能にするには、新しいコンテナ・データベースを作成するか、ステージング済/パッチ適用済のOracleホーム上の既存のコンテナを使用して、新しいコンテナにPDBをオンデマンドで移動します。新しいCDBは構造のみのテンプレートを使用して作成されます。ソフトウェアのデプロイは、DEPLOY_CDB操作の前に実行しておく必要があります

ノート:

既存のコンテナ・データベースを使用して、より高いパッチ・レベルのパッチをPDBターゲットに適用することもできます。この場合は、ATTACH_CDB操作を実行する必要があり、DEPLOY_CDB操作をスキップする必要があります。
emcli db_software_maintenance 
-performOperation -purpose="DEPLOY_CDB" 
-target_list="<CDB Name that is being patched>" 
-target_type="<target type>" -name="Operation Name” 
-description="Operation description" 
-db_prefix|db_name="<DB Name Prefix or DB Name>" 
-normal_credential="<credential name>" 
-privilege_credential="<credential name>" 
-database_credential=" <SYSDBA credential name>"
必要なイメージを持つコンテナ・データベースがすでに存在する場合は、更新時にPDBを格納するために同じデータベースをアタッチできます。
emcli db_software_maintenance 
-performOperation -purpose="ATTACH_CDB" 
-target_list="<CDB Name that is being patched>"
-target_type="<target type>" 
-name="Operation Name” 
-description="Operation description" 
-destinationCDB="<Container database to which PDBs will be migrated>" 
-normal_credential="<credential name>" 
-privilege_credential="<credential name>" 
-database_credential="<SYSDBA credential name>"
Oracleホームの統合

EM CLIのattach_homeフラグを使用して、同じホストの異なるOracleホームから実行されているデータベースのホームをマージできるようになりました。2つのホームに同じバージョンのゴールド・イメージがパッチ適用されている場合は、2番目のOracleホームを以前にデプロイされたOracleホームにマージできます。

ノート:

既存のコンテナ・データベースを使用することで、より高いパッチ・レベルのパッチをPDBターゲットに適用することもできます。この場合は、ATTACH_CDB操作を実行する必要があり、ソフトウェア・デプロイとCDBデプロイの操作をスキップする必要があります。
ユーザーは、attach_home=trueフラグを渡して、同じゴールド・イメージ・バージョンを使用したOracleホームがすでにデプロイされている場所を入力ファイル内のOracleホームの場所に指定できます。これにより、実際のデプロイメントがスキップされ、必要な系統が新しいOracleホームに追加されます。
emcli db_software_maintenance 
-performOperation 
-name="Deploy Home"
-purpose="DEPLOY_DB_SOFTWARE" 
-target_type=oracle_database -target_list=db1221
-normal_credential="NORMAL:SYSMAN" -privilege_credential="ROOT:SYSMAN"
-input_file="data:/scratch/deploy_OH.prop" -attach_home=true
attach_home=trueフラグが正常に実行されるようにするために、データベースをOracleホームから移動する前に2つの検証が実行されます。
  • ユーザーがattach_home=trueフラグを指定したが、デプロイされているバージョンがOracleホーム間で一致しない場合、デプロイメントは実行されず、指定された場所に異なるバージョンがデプロイされています。同じバージョンのイメージがデプロイされている場合に統合できますというメッセージが表示されます。
  • フリート管理を使用してデプロイされたOracleホームがない場所に対して、ユーザーがattach_home=trueフラグを指定した場合、デプロイメントは実行されず、指定された場所に同じバージョンがデプロイされているホームがある場合に統合できますというメッセージが表示されます。
EM CLI動詞db_software_maintenanceの詳細は、Enterprise Managerコマンドライン・インタフェースdb_software_maintenanceを参照してください。

Oracleホームを再編成すると、場所(同じホスト)およびバージョン(同じゴールド・イメージ)に応じてデータベースをグループ化するために役立ちます。attach_home=trueフラグを使用してOracleホームを統合すると、ホスト全体でのパッチの適用方法を簡略化し、すべてのデータベースを最も効率的に最新の状態に保つことができます。ホスト内のデータベースを統合すると、空き領域も確保されます。データベースが共通のOracleホームにマージされたら、Oracleホームのクリーン・アップEM CLI文字列を使用して空のOracleホームをクリーン・アップできます。詳細は、「クリーン・アップ操作」を参照してください。

更新操作
更新操作は、フリート・メンテナンス内で実行される最も一般的な操作です。サポートされるUPDATEシナリオには、更新とアップグレードの2種類があります。更新はOracleホームをあるパッチ・セットから別のパッチ・セットに移行する小さな改善操作ですが(12.1.0.1から12.1.0.2など)、アップグレードはOracle Databaseをあるメジャー・リリースから別のメジャー・リリースに移行する大きな改善操作です(12.2.0.1から18.3、18.xから19.xなど)。ゴールド・イメージの作成、イメージ・サブスクリプション、イメージのデプロイなどのすべてのステップは変わりません。

ノート:

  • 現在、アップグレードではノードごとの更新はサポートされません。データベース・アップグレードのupdateコマンドでは、データベース資格証明をコマンドの一部として指定する必要があります。
  • リスナーがカスタムの場所にある場合は、UPDATE操作を実行する前に、その場所をTNS_ADMIN環境変数に設定します。その後、エージェントを再起動して、これらの操作を続行します。
  • データベースまたはRACの更新時に静的エントリを更新する必要がある場合、listener.oraがグリッドOracleホームのデフォルトの場所($GI_HOME/network/admin)にあると、通常資格証明(DBホーム所有者など)は機能しません。これは、ファイルの所有者がGridホーム所有者であるためです。ファイルに、少なくともグループ・レベルでデータベースとGridのOracleホーム・ユーザーの両方によって変更される権限があることを確認してください。
  • サポートされているアップグレード・パスについては、Oracle Databaseアップグレード・ガイドを参照してください。

UPDATE_DB

このコマンドでは、Oracle DatabaseをOracleホームから新しく作成したゴールド・イメージの標準Oracleホームに移動します。
emcli db_software_maintenance 
-performOperation -purpose=”UPDATE_DB” 
—target_list=”db1221” 
—target_type=”oracle_db” 
—name=”Operation Name” 
–description=”Operation description” 
-normal_credential="NORMAL:SYSMAN" 
-privilege_credential=”PRIV:SYSMAN” 
—database_credential=”DB_SYS_CREDS:SYSMAN”

ノート:

Windows単一インスタンス・データベースの更新操作では、privilege_credentialのかわりにwindows_sec_credential="Named Credential: Credential Owner"を使用します。
:
emcli db_software_maintenance -performOperation -name="Update SIDB" -purpose=UPDATE_DB 
-target_type=oracle_database -target_list="ORCL1910.abc.sample.com" -rolling=false 
-normal_credential="LOCALADMIN:SYSMAN" -windows_sec_credential="LOCALUSERCRED:SYSMAN" 
-database_credential="SYSDBA:SYSMAN"

UPDATE_PDB

先行コンテナから新しく使用可能になった後継コンテナに、プラガブル・データベースを移動します。これは、CDBのアタッチ/CDBのデプロイ操作が実行されている場合にのみ実行できます。
emcli db_software_maintenance 
-performOperation -purpose=”UPDATE_PDB” 
—target_list=”pdb1331” 
—target_type=”oracle_pdb” 
—name=”Operation Name” 
–description=”Operation description” 
-normal_credential="NORMAL:SYSMAN" 
-privilege_credential=”PRIV:SYSMAN” 
—database_credential=”DB_SYS_CREDS:SYSMAN”

UPDATE_GI

emcli db_software_maintenance 
-performOperation 
-name="Update Cluster" 
-purpose=UPDATE_GI 
-target_type=cluster 
-target_list= CLUSTER1 
-normal_credential="NC_HOST_CREDS:SYSMAN" 
-privilege_credential="HOST_PRIV:SYSMAN" 
-rolling=<true/false> 
-node_list="host1.example.com" 
–startupDatabase=<true/false>
-SKIP_CVU_CHECK=<true/false>
UPDATE_GIのユースケースと詳細な説明は、「ノードごとのRACデータベース/クラスタの更新」を参照してください

SKIP_CVU_CHECK: このフラグを使用すると、CVUチェックをスキップできます(trueに設定した場合)。UPDATE_GI操作とUPDATE_SIHA操作にのみ使用されるオプションのフラグです。

UPDATE_GI操作を実行し、-target_listで複数のクラスタを渡す必要がある場合、-node_listはサポートされません。

UPDATE_RACDB

UPDATE_RACDBのEM CLIコマンド形式:
emcli db_software_maintenance -performOperation -name="Update RAC DB" 
-purpose=UPDATE_RACDB 
-target_type=<target_type> 
-target_list==<List of targets> 
-normal_credential="NC_HOST_CREDS:SYSMAN" 
-privilege_credential="HOST_PRIV:SYSMAN" 
-database_credential=<SYSDBA credentials of the database>
-rolling=<true/false> 
-node_list="host1.example.com"
-drain_timeout = <time in seconds>
  • node_list: インスタンスを更新する必要があるホストのカンマ区切りのリストです。
    たとえば、RACDBが4ノードのクラスタ(host1host2host3およびhost4)で実行されていて、一度に2つのホストのインスタンスのみを更新することを選択した場合、このパラメータの値はnode_list="host1, host2"として指定する必要があります。

    ノート:

    これはオプションのパラメータです。日付を指定しない場合、フリート操作は即座に開始されます。
  • drain_timeout: このオプションのパラメータは、ローリング/非ローリングの両方のユース・ケースに使用できます。EM CLI引数として渡すことも、input_fileパラメータとして渡すこともできます。この排出パラメータでは、リソースの排出アクションを完了するために許容される時間を秒単位で表します。デフォルトでは、このパラメータは設定されていません。
プライマリ・データベースとスタンバイ・データベースについては、Enterprise Managerの「ローリング・アップグレード」ユーザー・インタフェースからアップグレードを実行する必要があります。このウィザードは、ターゲット・データベースのホームページ(プライマリまたはスタンバイ・データベース)から起動できます。データベースのホームページで、「Oracle Database」「プロビジョニング」「データベースをアップグレード」の順に選択します。

フリート・メンテナンスでの透過的データ暗号化(TDE)のサポート

フリート・メンテナンスでは、TDEを使用して暗号化された表を含むデータベース、コンテナ・データベースおよびプラガブル・データベースの更新がサポートされるようになりました。

Oracle Databasesデータベースおよびコンテナ・データベースの場合(oracle_database Target_typeを使用):

  • UPDATE_DBコマンドの実行時に、既存のフラグ-database_credential="DB_SYS_CREDS:SYSMAN"を使用してデータベースの資格証明を指定する必要があります。データベースの資格証明が指定されない場合は、優先資格証明が使用されます(設定されている場合)。
  • UPDATE_DBでは、入力ファイル-input_file="data:/<file pathc>/input.properties"にTDEウォレット・パスワードを指定する必要があります。

    例: srcWalletPassword=welcome123

ノート:

  • データベースの資格証明が指定されていない場合、またはTDEの操作中になんらかの失敗があった場合、TDEの構成はスキップされますが、フリート・データベース・パッチ適用は失敗しません。
  • 移行後、データベース内の暗号化されたデータにアクセスするには、ウォレット・ファイルを手動で開く必要がある場合があります。

Oracleプラガブル・データベースの場合(oracle_pdb Target_typeを使用):

  • UPDATE_PDBの実行時に、既存のフラグ-database_credential="DB_SYS_CREDS:SYSMAN"を使用してデータベースの資格証明を指定する必要があります。データベースの資格証明が指定されない場合は、優先資格証明が使用されます(設定されている場合)。
  • 更新先のCDBにTDEがすでに構成されている必要があります
  • UPDATE_PDBでは、入力ファイル-input_file="data:/scratch/input.properties"にTDEウォレットのソースおよび更新先のパスワードを指定する必要があります。

    例: srcWalletPassword=welcome123, destWalletPassword=welcome123

ノードごとのRACデータベース/クラスタの更新
クラスタを更新する場合、クラスタ・インスタンスの切替えプロセス中に、そのノードで実行されているすべてのRACデータベース・インスタンスが必ず停止される必要があります。クラスタの更新の後にRACデータベースを更新すると、データベース・インスタンスが2回再起動されます。

管理者が切替えプロセスに対する詳細な制御を必要とする複数の状況が考えられます。たとえば、データベース・インスタンスの複数回の再起動を回避するために、クラスタおよびRACデータベースのノードごとの更新の実行を選択する場合があります。また、ノード固有の事前ステップと事後ステップの実行が必要になる場合もあります。

このオプションでは、次のタスクをノードごとに実行できるようにして、この制御を実現します。

  • クラスタ・インスタンスを切り替えます。
  • RACデータベース・インスタンスを停止されたままにします。

    たとえば、RACデータベースのRACDB_112RACDB_121が、このクラスタで実行されているとします。この特定のノードで実行されているインスタンスRACDB_112_1RACDB_121_1は、クラスタ・インスタンスの切り替え後も停止したままになります。

    emcli db_software_maintenance 
    -performOperation 
    -name="Update Cluster" 
    -purpose=UPDATE_GI 
    -target_type=cluster 
    -target_list= CLUSTER1 
    -normal_credential="NC_HOST_CREDS:SYSMAN" 
    -privilege_credential="HOST_PRIV:SYSMAN" 
    -rolling=true -node_list="host1.example.com" 
    –startupDatabase=false
    -skip_cvu_check=true
  • 同じノード上のすべてのRACデータベース・インスタンスを切り替えます。
  • このステップはインスタンスRACDB_112_1およびRACDB_121_1を新しいホームに切り替え、再起動します。

    たとえば、RACデータベースRACDB_112およびRACDB_121がこのクラスタで実行されているとします。この特定のノードで実行されているインスタンスRACDB_112_1およびRACDB_121_1は、クラスタ・インスタンスが切り替えられた後も停止されたままです。

  • SKIP_CVU_CHECK: このフラグを使用すると、CVUチェックをスキップできます(trueに設定した場合)。UPDATE_GI操作のオプションのフラグです。
  • UPDATE_GI操作を実行し、-target_listで複数のクラスタを渡す必要がある場合、-node_listはサポートされません。
パッチ適用済Oracleホームを使用したOracleホームの更新

この項では、停止時間を最小限に抑えて、Oracleホームを他のパッチ適用済Oracleホームに切り替える方法について説明します。

データベース・タイプ 実行されるステップ
単一インスタンス
  • ターゲットがブラックアウト・モードになります。
  • 構成ファイル(spfilepasswordlistener.orasqlnet.oratnsnames.oraなど)がパッチ適用済ホームにコピーされます。
  • oratabファイルのエントリが更新されます。
  • インスタンスが停止し、パッチ適用済ホームから起動されます。
  • ターゲットがブラックアウト・モードになります。
  • 12cより前のデータベースの場合、SQLはSQL*Plusを使用して実行されます。12c以上のデータベースでは、データを変更するためにDatapatchユーティリティがコールされます。
グリッド・インフラストラクチャ
  • 関連するすべてのターゲットがブラックアウト・モードになります。
  • CRS構成ファイルをソース・ホーム・ディレクトリ$SRC_HOME/crs/utl/crsconfig_dirsからバックアップします。
  • 構成ファイル(spfilepasswordlistener.orasqlnet.oratnsnames.oraなど)がパッチ適用済ホームにコピーされます。
  • oratabファイルのエントリが更新されます。
  • HASインスタンス、ASMインスタンス、管理データベース・インスタンス、スキャン・リスナーとグリッド・リスナーおよびすべてのデータベース・インスタンスが停止され、パッチ適用済ホームで新しいOracleホームとして起動されます。
  • 構成スクリプトが実行されます。
  • すべてのターゲットでブラックアウト・モードが解除されます。
  • 管理データベースが使用されている場合、12cより前のデータベースのSQLはSQL*Plusを使用して実行されます。12c以上のデータベースでは、データを変更するためにDatapatchユーティリティがコールされます。
RACローリング・ノード 各ノードで:
  • ターゲットがブラックアウト・モードになります。
  • 構成ファイル(spfilepasswordlistener.orasqlnet.oratnsnames.oraなど)がパッチ適用済ホームにコピーされます。
  • oratabファイルのエントリが更新されます。
  • インスタンスが停止され、パッチ適用済ホームで新しいOracleホームとして起動されます。
  • ターゲットでブラックアウト・モードが解除されます。
  • 12cより前のデータベースの場合、SQLはSQL*Plusを使用して実行されます。12c以上のデータベースでは、データを変更するためにDatapatchユーティリティがコールされます。
RAC非ローリング・ノード
  • すべてのRACノードがブラックアウト・モードになります。
  • 構成ファイル(spfilepasswordlistener.orasqlnet.oratnsnames.oraなど)がパッチ適用済ホームにコピーされます。
  • oratabファイルのエントリが更新されます。
  • インスタンスが停止され、パッチ適用済ホームで新しいOracleホームとして同時に起動されます。
  • 12cより前のデータベースの場合、SQLはSQL*Plusを使用して実行されます。12c以上のデータベースでは、データを変更するためにDatapatchユーティリティがコールされます。
リスナーの移行

データベース・ホームから実行されているリスナーがある場合は、次の動詞を使用してそれらをパラレルOracleホームに移行します。このコマンドを使用して、Oracleデータベース・ホームから実行されているリスナーを移行できます。グリッド・インフラストラクチャ・ホームから実行されるリスナーは、GI更新プロセス中に自動的に移行されます。

サンプル:

emcli db_software_maintenance -performOperation -name="Update Listener" -purpose=migrate_listener 
-target_type=oracle_database -target_list="DB1" -normal_credential="NC_HOST_CREDS:SYSMAN" 
-privilege_credential="HOST PRIV:SYSMAN" -start_schedule="start_time:yyyy/mm/dd HH:mm"
説明:
  • name: これは操作の一意の名前です。
  • purpose: MIGRATE_LISTENER.
  • target_type: この操作が実行されるターゲットのタイプ。これは、RACの場合はrac_database、単一インスタンス・データベースの場合はoracle_databaseです。
  • target_list: これは移行するターゲットのカンマ区切りのリストです。
  • normal_credential: <Named Credential: Credential Owner>という形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
  • privilege_credential: これは<Named Credential: Credential Owner>という形式で入力する必要があります。ここで、
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

    ノート:

    これらの資格証明は、スクリプトをルートとして実行するために使用されます。
  • start_schedule: ステージングおよびデプロイを開始する日付(将来開始する場合)です。start_time:yyyy/mm/dd HH:mmという書式を使用します。これはオプションのパラメータです。日付を指定しない場合、フリート操作は即座に開始されます。

ノート:

Windows単一インスタンス・データベース・リスナーの移行では、privilege_credentialのかわりにwindows_sec_credential="Named Credential: Credential Owner"を使用します。
:
emcli db_software_maintenance -performOperation -name="Update Listener" -purpose=migrate_listener
-target_type=oracle_database -target_list="ORCL1910.abc.sample.com" 
-normal_credential="LOCALADMIN:SYSMAN" -windows_sec_credential="LOCALUSERCRED:SYSMAN"

サンプル出力

Processing target "CLUSTER1"...

Checking if target is already running from the current version...

Check Passed.

Checking image subscription...

Check image subscription passed.

You can monitor the patch operation status with the following command:

emcli get_instance_status -exec=25BE102DD7CB544EE053D903C40A784D -details -xml
ロールバック操作

ロールバック・コマンドは、更新操作の完了後にデータベースを元のOracleホームに戻すために使用します。

ノート:

  • リスナーがカスタムの場所にある場合は、ロールバック操作を実行する前に、その場所をTNS_ADMIN環境変数に設定します。その後、エージェントを再起動して、これらの操作を続行します。
  • データベースまたはRACのロールバック時に静的エントリを更新する必要がある場合、listener.oraがグリッドOracleホームのデフォルトの場所($ GI_HOME/network/admin)にあると、通常資格証明(DBホーム所有者など)は機能しません。これは、ファイルの所有者がGridホームの所有者であるためです。ファイルに、少なくともグループ・レベルでデータベースとGridのOracleホーム・ユーザーの両方によって変更される権限があることを確認してください。

ROLLBACK_DBのサンプル・コード

emcli db_software_maintenance 
-performOperation 
-name="Rollback DB" 
-purpose=ROLLBACK_DB 
-target_type=<target type> 
-target_list=<list of targets> 
-normal_credential="NC_HOST_CREDS:SYSMAN" 
-privilege_credential="HOST_PRIV:SYSMAN" 
-rolling=[true/false] 
-node_list="host1.example.com"
  • name: これは操作の一意の名前です。
  • purpose: フリート操作によって実行できる次の標準の目的があります。
    • ROLLBACK_DB
    • ROLLBACK_RACDB
    • ROLLBACK_GI
  • target_type: この操作の対象となるターゲットのタイプ(「rac_database」または「oracle_database」)。
  • target_list: これはパッチを適用する必要があるターゲットのカンマ区切りのリストです。
    • 同種のタイプのターゲットは、単一のフリート操作でサポートされます。
    • このターゲット・リストに基づく一意のホストのリストが表示され、それらのホストでOracleホーム・ソフトウェアのステージングが開始されます。
    • 同じOracleホームから実行されているターゲットをこのリストに指定した場合、ステージング操作およびデプロイ操作はすべてのターゲットに対して起動されるのではなく、一度だけ起動されます。
  • normal_credential: <Named Credential: Credential Owner>という形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
  • privilege_credential: これは<Named Credential: Credential Owner>という形式で入力する必要があります。ここで、
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

    これらの資格証明は、スクリプトをルートとして実行するために使用されます。

  • non_rolling: デフォルトでは、ロールバックはすべてのノードで実行されます。non_rolling backフラグが有効化されていると、ロールバックするノードのリストを選択できます(node_listコマンドを使用)。
  • rolling: デフォルトでは、ロールバックはローリング方式で実行されます。このフラグは、非ローリング・モード(OJVM)で適用されてロールバックする必要があるパッチが現在のOracleホームにある場合に使用します。
  • node_list: インスタンスを更新する必要があるホストのカンマ区切りのリストです。

    たとえば、RACDBが4ノードのクラスタ(host1、host2、host3およびhost4)で実行されていて、一度に2つのホストのインスタンスのみを更新することを選択した場合、このパラメータの値はnode_list="host1, host2"として指定する必要があります。

ノート:

Windows単一インスタンス・データベースのロールバック操作では、privilege_credentialのかわりにwindows_sec_credential="Named Credential: Credential Owner"を使用します。
:
emcli db_software_maintenance -performOperation -name="Rollback SIDB" -purpose=ROLLBACK_DB 
-target_type=oracle_database -target_list="ORCLTDE.abc.example.com" -rolling=false
-normal_credential="LOCALADMIN:SYSMAN" -windows_sec_credential="LOCALUSERCRED:SYSMAN"
-database_credential="SYSDBA:SYSMAN"

ROLLBACK_RACDBのサンプル・コード

emcli db_software_maintenance 
-performOperation 
-name="Rollback RAC DB" 
-purpose=ROLLBACK_RACDB 
-target_type=<target type> 
-target_list=<list of targets> 
-normal_credential="NC_HOST_CREDS:SYSMAN" 
-privilege_credential="HOST_PRIV:SYSMAN" 
-rolling=[true/false] 
-node_list="host1.example.com"
ROLLBACK_GIのサンプル・コード
emcli db_software_maintenance  
-performOperation  
-name="Rollback GRID"  
-purpose=ROLLBACK_GI  
-target_type=cluster 
-target_list="sample01-cluster"  
-normal_credential="NC_HOST_CREDS:SYSMAN"  
-privilege_credential="HOST_PRIV:SYSMAN"
-SKIP_CVU_CHECK=<true/false>
SKIP_CVU_CHECK: このフラグを使用すると、CVUチェックをスキップできます(trueに設定した場合)。ROLLBACK_GI操作にのみ使用されるオプションのフラグです。
ROLLBACK_SIHAのサンプル・コード
emcli db_software_maintenance  
-performOperation  
-name="Rollback"  
-purpose="ROLLBACK_SIHA"  
-target_type=has  
-target_list="has_abc"  
-normal_credential="NC_HOST_CREDS:SYSMAN"  
-privilege_credential="HOST_PRIV:SYSMAN"
-SKIP_CVU_CHECK=<true/false>
SKIP_CVU_CHECK: このフラグを使用すると、CVUチェックをスキップできます(trueに設定した場合)。ROLLBACK_GI操作にのみ使用されるオプションのフラグです。
ローリングを適用できないパッチ

ゴールド・イメージにローリングを適用できないパッチ(Jan 2017 PSUより前のOJVMパッチなど)が含まれている場合は、すべての更新または切替えはフラグを- rolling=falseに設定して実行する必要があります。これにより、データの変更を適用する前に、データベースがアップグレード・モードで起動されます。その後、データベースが停止されて標準モードで再起動されます。

スタンバイ・データベースの更新およびロールバック
この項は、すべてのプライマリおよびフィジカル・スタンバイ構成(RAC - RAC、RAC - SI、SI - SI、RAC One - RAC One)に適用できます。このユースケースでは、プライマリ・データベースおよびスタンバイ・データベースの両方を新しいOracleホームに切り替える必要があります。単一の切替え操作では、プライマリとスタンバイの両方のデータベースを処理することはできません。

スタンバイ・データベースの更新およびロールバックの手順は、patch type (ローリングを適用できるかどうか).によって異なります。

Enterprise Manager 13.4以降では、パッチ適用後のスタンバイ・データベースの開始オプションを設定するために、STANDBY_START_OPTIONパラメータが導入されました。UPDATE_DB EM CLI動詞を使用してスタンバイ・データベースにパッチを適用するときは、このパラメータを-input_fileに含める必要があります。
  • スタンバイ・データベースへのパッチ適用時にSTANDBY_START_OPTIONを指定した場合:

    ローリング・スタンバイ・データベースおよび非ローリング・スタンバイ・データベースはどちらも、パッチ適用後に-input_fileに設定されたモードで起動されます。パラメータ値にREAD ONLY WITH APPLYが指定されていた場合、パッチ適用前にMRPが実行されていなかった場合でもMRPが起動されます。それ以外の場合は、srcvtl構成で設定されたMRPのステータスが有効になります。

  • スタンバイ・データベースへのパッチ適用時にSTANDBY_START_OPTIONを指定しなかった場合:
    • ローリングで適用できるパッチ: パッチ適用後もスタンバイ・データベースの既存のopen_modeおよびMRPのステータスが保持されます。スタンバイ・データベースの既存のopen_modeおよびMRPステータスをフェッチできない場合は、デフォルト・モードで起動され、srcvtl構成で設定されたMRPステータスが有効になります。

      ノート:

      open_modeおよびMRPステータスのフェッチ時に問題が検出された場合、UPDATE_DBプロシージャは停止しません。エラー・メッセージは、UPDATE_DBプロシージャの更新先ホームからのDBインスタンスの起動ステップで表示されます。
    • ローリングで適用できないパッチ: スタンバイ・データベースはデフォルト・モードで再起動され、srcvtl構成で設定されたMRPステータスが有効になります。
STANDBY_START_OPTION EM CLI動詞の詳細は、Oracle Enterprise Managerコマンドライン・インタフェースdb_cloud_maintenanceを参照してください。

ノート:

リスナーがカスタムの場所にある場合は、UPDATEまたはROLLBACK操作を実行する前に、まずTNS_ADMIN環境変数にこの場所を設定します。その後、エージェントを再起動して、これらの操作を続行します。

ローリングを適用できるパッチ(データベースPSUなど)の場合は、次のステップに従います。

  • スタンバイ・データベースを更新します:

    emcli db_software_maintenance -performOperation -name=<User Specified Operation Name> -purpose=<Operation Type> 
    -target_type=<Target Type> -target_list=<List of targets> -normal_credential=<credential name> 
    -privilege_credential=<credential name> -database_credential=<SYSDBA credentials of the database> 
    -dataguard_role=standby -input_file="data:<location of input file>"

    入力パラメータの説明

    • input_file: これはオプション・パラメータです。ここで指定できるパラメータは、次のとおりです。
      • workingDir: 一時ディレクトリの場所と名前。
      • disableDG: True/False。デフォルト値はFalseです。スタンバイがData Guardで管理されている場合は、これをtrueに設定する必要があります。
  • プライマリ・データベースを更新します:

    emcli db_software_maintenance -performOperation -name=<User Specified Operation Name> -purpose=<Operation Type> 
    —target_type=<Target Type> -target_list=<List of targets> -normal_credential=<credential name> 
    -privilege_credential=<credential name> -dataguard_role=primary [–ignoreStandbyPrereq=true|false] 
    -input_file="data:<location of input file>”

    入力パラメータの説明

    • ignoreStandbyPrereq: デフォルト値はfalseです。これにより、スタンバイがプライマリの移動先と同じイメージ・バージョン上にあるかどうかの検証チェックが無効になります。
    • input_file: これはオプション・パラメータです。ここで指定できるパラメータは、次のとおりです。
      • workingDir: 一時ディレクトリの場所と名前。
      • enableDG: True/False。デフォルト値はFalseです。スタンバイがData Guardで管理されている場合は、これをtrueに設定する必要があります。

(Jan 2017 PSUより前の) OJVMなどのローリングを適用できないパッチの場合は、次のステップに従います。

  • スタンバイ・データベースを更新します
    emcli db_software_maintenance -performOperation -name=<User Specified Operation Name> -purpose=<Operation Type> 
    —target_type=<Target Type> —target_list=<List of targets> -normal_credential=<credential name> 
    -privilege_credential=<credential name> —dataguard_role=standby —startupAfterSwitch=false 
    —input_file=”data:<location of input file>”

    入力パラメータの説明

    • startupAfterSwitch: ローリングを適用できないパッチの場合は、まずパッチ適用済ホームからプライマリ・データベースを起動する必要があります。これにより、更新操作中、スタンバイ・データベースが停止状態のままになります。プライマリ・データベースのパッチ適用と起動が終了すると、スタンバイ・データベースが別のステップで起動されます。
    • input_file: これはオプション・パラメータです。ここで指定できるパラメータは、次のとおりです。

      • workingDir: 一時ディレクトリの場所と名前。
      • disableDG: true/false。デフォルト値はfalseです。スタンバイがData Guardで管理されている場合は、これをtrueに設定する必要があります
  • dataguard_role=Primaryを指定してプライマリ・データベースを更新します
    emcli db_software_maintenance -performOperation -name=<User Specified Operation Name> -purpose=<Operation Type> 
    -target_type=<Target Type> —target_list=<List of targets> -normal_credential=<credential name> 
    -privilege_credential=<credential name> -dataguard_role=primary rolling=false -input_file="data:<location of input file>”

    入力パラメータの説明

    • input_file: これはオプション・パラメータです。ここで指定できるパラメータは、次のとおりです。
      • workingDir: 一時ディレクトリの名前と場所。
  • パッチ適用済ホームからスタンバイ・データベースを起動します
    emcli db_software_maintenance -performOperation -name=<User Specified Operation Name> -purpose=<Operation Type> 
    -target_type=<Target Type> -target_list=<List of targets> -normal_credential=credential name> 
    -privilege_credential=<credential name> -dataguard_role=standby –startupDatabase=true -skipSwitchDatabase=true 
    -input_file=”data:<location of input file>”

    入力パラメータの説明

    • startupDatabase: 常にtrueに設定する必要があります。これにより、パッチ適用済ホームからスタンバイ・データベースを起動できるようになります。
    • skipSwitchDatabase: trueに設定する必要があります。パッチ適用済ホームへのデータベースの切替えは、これより前のステップですでに実行済であるためスキップされます。
    • input_file: これはオプション・パラメータです。ここで指定できるパラメータは、次のとおりです。
      • workingDir: 一時ディレクトリの名前と場所。
      • enableDG: True/False。デフォルト値はFalseです。スタンバイがData Guardで管理されている場合は、これをtrueに設定する必要があります。
      • primary_dbhost_creds: Data Guardはプライマリ・ホストを介して有効化されるため、これは必須です。これは、プライマリ・データベースの更新で使用されるものと同じにすることができます。

ノート:

ロールバック処理は同じですが、purpose値は異なります。正しい値については、エンティティ・タイプに基づくEM CLIコマンド入力の表を参照してください。
リスナーのロールバック

動詞

このコマンドは、更新操作が完了した後にリスナーを古いOracleホームに戻すために使用します。

emcli db_software_maintenance -performOperation -name="Update Listener" -purpose=rollback_listener -target_type=oracle_database -target_list="DB1" -normal_credential="NC_HOST_CREDS:SYSMAN" -privilege_credential="HOST PRIV:SYSMAN"
説明:
  • name: これは操作の一意の名前です。

  • purpose: ROLLBACK_LISTENER

  • target_type: この操作が実行されるターゲットのタイプ。これは、RACの場合は"rac_database"、単一インスタンス・データベースの場合は"oracle_database"です。

  • target_list: これはパッチを適用する必要があるターゲットのカンマ区切りのリストです。
    • 同種のタイプのターゲットは、単一のフリート操作でサポートされます。

    • このターゲット・リストに基づく一意のホストのリストが表示され、それらのホストでOracleホーム・ソフトウェアのステージングが開始されます。

    • 同じOracleホームから実行されているターゲットをこのリストに指定した場合、ステージング操作およびデプロイ操作はすべてのターゲットに対して起動されるのではなく、一度だけ起動されます。

  • normal_credential: これは<Named Credential: Credential Owner>という形式で入力する必要があります。ここで、

    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。

    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

  • privilege_credential: これは<Named Credential: Credential Owner>という形式で入力する必要があります。ここで、

    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。

    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

    これらの資格証明は、スクリプトをルートとして実行するために使用されます。

クリーン・アップ操作

Oracleホームとコンテナ・データベースは貴重な記憶域を消費するため、使用しなくなった場合はクリーン・アップして領域を解放できます。この操作により、不要になった未使用の空のOracleホームまたはコンテナ・データベース(CDB)が削除され、領域およびリソースの管理が容易になります。

ノート:

対象のホームに関連付けられているターゲットがある場合、対象のホームに対してクリーン・アップは実行されません。クリーン・アップを実行する前に、ユーザーはOracleホーム内のすべてのターゲットにホームを設定する必要があります。RACデータベースOracleホームの場合は、Oracleホーム名のすべてのノードをカンマ区切りの値で渡す必要があり、いずれかのノードからもクリーン・アップを実行できません。

Oracleホームのクリーンアップ

Oracleホームをクリーン・アップするには、次の2つの方法があります。
  • ユーザーは、データベース・ターゲット・リストを指定することで、最近フリートがパッチを適用したデータベースの古いOracleホームをクリーン・アップできます。クリーン・アップ操作では、パッチが適用されたデータベース・ターゲットの古い適切なOracleホームが検索され、クリーン・アップが実行されます。
  • 系統パス内に孤立したホームがある場合は、Oracleホームのリストをdb_software_maintenance動詞に直接渡すことで、これらをクリーン・アップできます。

Oracleホームのクリーン・アップを実行するには、次のコマンド文字列をEM CLIに入力する必要があります。

emcli db_software_maintenance -performOperation 
-name="cleanup"
-purpose="CLEANUP_SOFTWARE" 
-target_list=<List of home targets>
-target_type=oracle_home 
-normal_credential=NORMALCRED:SYSMAN
-privilege_credential=ROOTCRED:SYSMAN
-reportOnly=<true/false> 
-workDir=<working directory>
入力変数の説明
  • name: これは操作の一意の名前です。
  • purpose: CLEANUP_SOFTWARE、このpurposeはOracleホームにのみ使用します。
  • target_type: この操作が実行されるターゲットのタイプ。
  • target_list: クリーン・アップする必要があるデータベースまたはOracleホーム・ターゲットのカンマ区切りのリストです。
  • normal_credential: <Named Credential: Credential Owner>の形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: Oracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
  • privilege_credential: この資格証明にはroot権限が必要であり、<Named Credential: Credential Owner>の形式で入力する必要があります。
    • <Named Credential>: Oracleホームがデプロイされるホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
    これらの資格証明は、スクリプトをルートとして実行するために使用されます。
  • force: このオプション・フラグのデフォルト値はfalseです。このフラグをtrueに設定すると、データベースが含まれている系統内での中断などの潜在的な競合が存在していても、Oracleホームのクリーン・アップを強制的に実行します。

    デフォルト値のfalseでは、Oracleホームのクリーン・アップ実行時に競合が発生すると、プロセスが停止して、EM CLIコンソールに警告メッセージが表示されます。

  • reportOnly: デフォルト値はfalseです。trueに設定すると、削除可能なホームが出力されますが、それらのホームは削除されません。
Windows単一インスタンス・データベースでのOracleホームのクリーン・アップの例:
emcli db_software_maintenance 
-performOperation -name="Clean"
-purpose=CLEANUP_SOFTWARE -target_list=ORCLTDE.abc.example.com
-target_type=oracle_database
-normal_credential="LOCALADMIN:SYSMAN"
-workDir="C:\Users\LocalAdmin\work"

Oracleホームには、同じホームの複数の古いバージョンが存在していることがあり、それらによって領域が使用されています。任意の時点で保持されるこれらの以前のバージョンのOracleホームの数を変更するには、emctl set property -name oracle.sysman.emInternalSDK.db.gis.lineageLength -sysman_pwd $em_sysman_pwd –value <value>のようにEMCTLのプロパティを使用します。ここで、<value>は保持する必要があるOracleホームの数です。格納されるバージョン数のデフォルト値は3です。

たとえば、4つのバージョンのOracleホーム(4つ目のバージョンからターゲットが実行されている)があり、valueを3に設定した場合は、最初のバージョンのOracleホームのみを削除できます。同様に、valueを1に設定した場合は、ターゲットが実行されている現在のOracleホームのみが保持され、他の3つのホームは削除されます。

コンテナ・データベースのクリーン・アップ

フリート・メンテナンスのパッチ適用操作が発生すると、新しいOracleホームと新しいコンテナ・データベースがデプロイされます。個々のPDBインスタンスにパッチが適用されると、新しくデプロイされたCDBに再配置されます。CDB内のすべてのPDBにパッチを適用したら、古いCDBを削除する必要があります。db_software_maintenance動詞の一部であるCLEANUP操作は、パッチ適用サイクルの完了時に古いCDBの削除を自動化します。

ノート:

コンテナ・データベースをクリーン・アップすると、CDBに対応する適切なホームがすべて削除されます。
Oracleコンテナ・データベースのクリーン・アップを実行するには、次のコマンド文字列をEM CLIに入力する必要があります:
emcli db_software_maintenance 
-performOperation 
-purpose="CLEANUP"
-target_list =<target CDB names> 
-target_type=oracle_pdb  
-name="Cleanup CDBs"
-normal_credential=NORMALCRED:SYSMAN  
-privilege_credential=ROOTCRED:SYSMAN 
-reportOnly=<true/false>
-workDir=<working directory>
次のコマンド文字列を使用して、失われた系統のOracleコンテナ・データベースをクリーン・アップできます。
emcli db_software_maintenance 
-performOperation -purpose="CLEANUP"
-target_list =<target CDB names>  
-target_type=<oracle_database/rac_database> 
-name="Cleanup orphan CDBs" 
-normal_credential=NORMALCRED:SYSMAN
-privilege_credential=ROOTCRED:SYSMAN  
-reportOnly=true
-workDir=<working directory>
コンテナ・データベースをクリーニングするための入力変数の説明
  • name: これは操作の一意の名前です。
  • purpose: CLEANUP、このpurposeはCDBのクリーン・アップにのみ使用します。
  • target_type: この操作が実行されるターゲットのタイプ。
  • target_list: クリーン・アップする必要があるターゲットのカンマ区切りのリストです。
  • normal_credential: <Named Credential: Credential Owner>の形式で入力する必要があります。次に各要素の説明を示します。
    • <Named Credential>: CDBがデプロイされているOracleホームの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
  • privilege_credential: これは<Named Credential: Credential Owner>という形式で入力する必要があります。ここで、
    • <Named Credential>: CDBがデプロイされたホストの名前付き資格証明。
    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。
    これらの資格証明は、スクリプトをルートとして実行するために使用されます。
  • force: このオプション・フラグのデフォルト値はfalseです。このフラグをtrueに設定すると、データベースが含まれている系統内での中断などの潜在的な競合が存在していても、Oracleホームのクリーン・アップを強制的に実行します。

    デフォルト値のfalseでは、Oracleホームのクリーン・アップ実行時に競合が発生すると、プロセスが停止して、EM CLIコンソールに警告メッセージが表示されます。

  • reportOnly: デフォルト値はfalseです。trueに設定すると、削除可能なCDBが出力されますが、データベースは削除されません。

ノート:

CLEANUP_SOFTWARE、データベース・ソフトウェアのメンテナンス・タスク、db_software_maintenanceの使用の詳細は、次を参照してください。
緊急パッチ適用

フリート・メンテナンスで緊急パッチ適用の実行が可能になりました。緊急パッチ適用は、通常のメンテナンス・サイクルのパッチ適用のかわりにはなりません。非クリティカルなパッチは、次回のバージョンのイメージに含めるようにフラグ設定する必要があります。緊急パッチが適用されたデータベースは、ローグ・データベースとしてのラベルが付けられ、次回のメンテナンス・サイクルで変更内容を新しいバージョンのイメージにローリングするか、最新バージョンでオーバーライドすることで調整する必要があります。

フリート・メンテナンスで緊急パッチを適用する場合、新しいバージョンのゴールド・イメージを作成する必要はありません。緊急パッチが必要なデータベースは、スケジュール済メンテナンスに使用されるプロセスと同様に、新しいホームに切り替えられます。問題のデータベースを新しいホームに切り替えることで、元のホームで機能しているデータベースに影響を与えることなく分離してパッチ適用できます。

緊急パッチ適用ステップの概要

  1. 適用する緊急パッチの完全なリストを準備します。
    1. 必要な緊急パッチを特定します。
    2. 適用済のパッチと適用するパッチのリストの間の競合を特定してマージします。
    3. Oracle Supportにマージ・パッチをリクエストします(必要な場合)。
    4. 目的のすべてのパッチが入手可能になったら、すべてのパッチをソフトウェア・ライブラリにダウンロードします。
  2. 緊急パッチとともにソフトウェアを新しいホームにデプロイします。
  3. 緊急パッチ適用済のデータベースを新しいホームに切り替えます。

緊急パッチとソフトウェアの同時デプロイ

単一インスタンス・データベース
emcli db_software_maintenance 
-performOperation 
-name="Deploy - Critical one-off 12345"
-purpose=EMERGENCY_DEPLOY_DB_SOFTWARE  
-target_type='oracle_database' -target_list="DB1" 
-normal_credential="<normal credential>" 
-privilege_credential="<host privilege credential>"
-inputfile="data:/<user>/oracle/deploy.txt" 
-patch_list=<List of conflict-free patches in the software library>
説明:
  • PURPOSEには、EMERGENCY_DEPLOY_DB_SOFTWAREを設定する必要があります。
  • PATCH_LISTは、patchID:ReleaseID:PlatformID:LanguageIDの形式にする必要があります。ReleaseIDPlatformIDLanguageIDは、オプションの引数です。
  • INPUTFILEには、次の項目が含まれている必要があります。
    • NEW_ORACLE_HOME_LIST=<Emergency home location>
    • DISPATCHER_LOC=<Dispatcher location>
    • PATCH_LIST=<List of conflict-free patches in the software library>
RACデータベース
emcli db_software_maintenance -performOperation -name="Deploy - Critical one-off 12345"
-purpose=EMERGENCY_DEPLOY_RAC_SOFTWARE
-target_type='rac_database' -target_list="DB1"
-normal_credential="<normal credential>"
-privilege_credential="<host privilege credential>"
-inputfile="data:/<user>/oracle/deploy.txt"
-patch_list=<List of conflict-free patches in the software library>
説明:
  • PURPOSEには、EMERGENCY_DEPLOY_RAC_SOFTWAREを設定する必要があります。
  • patch_listは、コマンドライン引数として渡すことも、入力ファイルのパラメータとして渡すこともできます。入力ファイルのパラメータの場合、パラメータは大文字で定義する必要があります。

データベースの緊急ホームへの切り替え

データベースを切り替えるには、UPDATE_DBコマンドを実行する必要があります。このコマンドにより、パッチを適用するデータベースを新しい空のホームに移動します。
emcli db_software_maintenance -performOperation -name="Update DB"
-purpose=UPDATE_DB  
-target_type=oracle_database 
-target_list="DB1"
-normal_credential="<normal credential>"
-privilege_credential="<host privilege credential>"
-destinationOracleHomeLocation=<path of the new Oracle Home Location>
-force=<true/false>
forceフラグは、デフォルトでfalseに設定されています。このフラグは、ターゲットがイメージにサブスクライブされていて、それでもデータベースを緊急ホームに切り換える必要がある場合に必須です。

新しいバージョンのイメージの公開

アップロードしたイメージは、デフォルトでDRAFTになります。管理者は、それを公開するために明示的にCURRENTのマークを付ける必要があります。そのためには、次のコマンドを実行します。
emcli db_software_maintenance 
-updateVersionStatus
-version_id=<version_id> 
-status=CURRENT
説明
  • version_idは、データベースに適用されるパッチのターゲット・バージョンです。

緊急パッチのロールバック

ロールバックが必要な場合、データベースは元の未変更のホームに戻されます。これにより、ロールバックによってソフトウェアとそのファイルの権限が正しく元に戻されたかどうかについての混乱を回避できます。
emcli db_software_maintenance 
-performOperation -purpose="ROLLBACK_DB"
-target_list="DB1" 
-target_type=oracle_database 
-name="RollbackDB"
-description="Relocates the DB from inactive CDB  to newly active CDB"
-normal_credential="<normal credential>"  
-privilege_credential="<host privilege credential>"
-database_credential="<Database credential>"

データベース・フリート・メンテナンス - RESTful API

ゴールド・イメージのREST API

ゴールド・イメージは、ベース・ソフトウェア・バージョンと追加パッチに関する情報を含む、最終状態のソフトウェア定義です。最終状態の定義は論理的な用語です。最終状態を表す物理的なソフトウェア・バイナリ・コンポーネントは、ゴールド・イメージと呼ばれます。ゴールド・イメージの詳細は、構成の汚染の検出で説明されている標準構成を参照してください。

ソフトウェア・イメージのリストの取得

機能 説明
リクエスト・メソッド GET
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/softwareimages
リクエスト・ヘッダー

Authorization: Basic

Accept: application/json

レスポンス
{
		"totalResults": 2,
		"items": [
			{
				"name": "RAC121_a",
				"id": "4B7738536B6E7888E053057FB10ACF8C",
				"description": "RAC121",
				"version": "12.1.0.2.0",
				"platformName": "Linux x86-64",
				"dateCreated": "2017-03-24 15:09:21.0",
				"owner": "SYSMAN",
				"lastModifiedBy": "SYSMAN"
			},
			{
				"name": "RACImage11204",
				"id": "4B620EC24DCE61FAE053057FB10AC7D0",
				"description": "RACImage11204",
				"version": "12.1.0.2.0",
				"platformName": "Linux x86-64",
				"dateCreated": "2017-03-23 13:16:51.0",
				"owner": "SYSMAN",
				"lastModifiedBy": "SYSMAN"
			}
		]
}

ソフトウェア・イメージの作成

機能 説明
リクエスト・メソッド POST
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/softwareimages
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

ペイロード
{
	"imageName": "RAC121_a",
	"imageDescription": "RAC121",
	"refTargetName": "OraDB12Home1_1_example.exampledomain.com_190",
	"imageSwLibLocation": "DB Provisioning/12.1.0.2.0/goldimage",
	"refHostCredential": "NC_HOST_2017-03-18-103539:SYSMAN",
	"workingDirectory": "/tmp",
	"swLibStorageType": "OmsShared",
	"swLibStorageName": "swlib",
	"versionName": "PSUNo"
}
レスポンス
{
	"messages": ["Create Gold Image operation has been submitted successfully with the instance name : 
	'CreateGoldImageProfile_SYSMAN_03_27_2017_10_13_AM' and execution_guid=4BB1192C1A2F2AB3E053057FB10A792E",
	“You can track the status of operation using the following:”, 
	“EMCLI: emcli get_instance_status -exec=4BAFFB4FD4ED1B34E053057FB10A99BF”,
	"Browser:  https://blr123.example.com:111111/em/faces/core-jobs-procedureExecutionTracking?executionGUID=4BB1192C1A2F2AB3E053057FB10A792E"
	  ]
}
ペイロードの入力変数の説明
  • imageName: ゴールド・イメージの名前。この名前はイメージ全体で一意である必要があります。

  • imageDescription: イメージの説明。

  • refTargetName: このゴールド・イメージの作成に使用されるOracleホーム・ターゲット。これは、11.2.0.4 PSUおよびすべての個別パッチが適用された既存の環境のデータベースまたはGrid InfrastructureのOracleホームです。参照ターゲット名を見つけるには、Enterprise Managerリポジトリに次の問合せを入力します。
    SELECT  distinct target_name FROM mgmt$target_properties 
    WHERE target_name IN (SELECT target_name FROM mgmt_targets 
    WHERE target_type='oracle_home'
    AND host_name=<Host Name of this Oracle Home>
    AND property_name='INSTALL_LOCATION'
    AND property_value=<path of Oracle Home>) 
  • imageSwLibLocation: ゴールド・イメージのペイロードが格納されるソフトウェア・ライブラリのパス。

  • refHostCredential: これはデータベース・ゴールド・イメージにのみ適用されます。これは<Named Credential: Credential Owner>という形式で入力する必要があります。

  • workingDirectory: 参照Oracleホーム・ターゲットのホスト上の一時的な場所。

  • swLibStorageType: ソフトウェア・ライブラリの記憶域タイプ。OMS共有またはOMSエージェント・ファイル・システムを指定できます。

  • swLibStorageName: ソフトウェア・ライブラリの記憶域名。この記憶域名を取得するには、「エンタープライズ」メニューから、「プロビジョニングとパッチ適用」を選択し、「ソフトウェア・ライブラリ」を選択します。「ソフトウェア・ライブラリ」ページで、「アクション」メニューから「管理」を選択します。このページで、「名前」列の値をチェックして、ソフトウェア・ライブラリの記憶域名を取得します。

  • versionName: 1つのイメージは複数のバージョンを持つことができます。デフォルト・バージョンのイメージが作成され、さらにバージョンを追加できます。

ソフトウェア・イメージの検索

検索は、問合せパラメータとして様々な入力を使用してフィルタできます。使用可能な問合せパラメータは、次のとおりです。
  • 名前

  • バージョン

  • 説明

  • 所有者

  • Target_type

次に、問合せパラメータNameを使用した例を示します。
機能 説明
リクエスト・メソッド GET
URI https://<OMS_CONSOLE_HOST>/em/websvcs/restful/emws/db/goldimage/softwareimages/search?name=%RAC%_a
リクエスト・ヘッダー

Authorization: Basic

Accept: application/json

レスポンス
{
	"totalResults": 1,
	"items": [
		{
			"name": "RAC121_a",
			"id": "4B7738536B6E7888E053057FB10ACF8C",
			"description": "RAC121",
			"version": "12.1.0.2.0",
			"platformName": "Linux x86-64",
			"dateCreated": "2017-03-24 15:09:21.0",
			"owner": "SYSMAN",
			"lastModifiedBy": "SYSMAN"
		}
	]
}

ソフトウェア・イメージの削除

機能 説明
リクエスト・メソッド DELETE
URI https://<OMS_CONSOLE_HOST:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/softwareimages>
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

ペイロード
{
	"image_id" : "4B7738536B6E7888E053057FB10ACF8C"
)
レスポンス
{
		"messages" : "Image with id=4B7738536B6E7888E053057FB10ACF8C  deleted successfully"
}

選択したイメージへのターゲットのサブスクライブ

機能 説明
リクエスト・メソッド POST
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/imagesubscriptions
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

ペイロード
{
	"imageId" : "4B620EC24DCE61FAE053057FB10AC7D0",
	"targetName" : "Examplerep_Database",
	"targetType" : "example_database"
}
レスポンス
{
	"messages": [
		"Target 'Examplerep_Database' subscribed successfully."
	]
}  
ペイロードの入力変数の説明
  • imageId: イメージのGUID。

  • targetType: このイメージにサブスクライブされるターゲットのターゲット・タイプ。

  • targetName: ターゲットの名前。

イメージのサブスクリプションのリスト

機能 説明
リクエスト・メソッド GET
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/imagesubscriptions?image_id=4B620EC24DCE61FAE053057FB10AC7D0
リクエスト・ヘッダー

Authorization: Basic

Accept: application/json

レスポンス
[
	{
		"imageId": "4B620EC24DCE61FAE053057FB10AC7D0",
		"targetGuid": "207B57A3FE300C86F81FE7D409F5DD1C",
		"dateSubscribed": "2017-03-24 16:01:25.0"
	}
]

選択したイメージからのターゲットのサブスクライブ解除

機能 説明
リクエスト・メソッド DELETE
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/imagesubscriptions
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

ペイロード
{
	"imageId" : "4B620EC24DCE61FAE053057FB10AC7D0",
	"targetName" : "Examplerep_Database",
	"targetType" : "example_database"
}
レスポンス
{
	"messages": [
		"Target 'Examplerep_Database' unsubscribed successfully."
	]
}
ペイロードの入力変数の説明
  • imageId: イメージのGUID。

  • targetType: このイメージからサブスクライブ解除されるターゲットのターゲット・タイプ。

  • targetName: ターゲットの名前。

イメージのターゲット・サブスクリプションのリスト

機能 説明
リクエスト・メソッド PUT
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/targetsubscriptions
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

ペイロード
{
	"imageId" : "4B7738536B6E7888E053057FB10ACF8C ",
	"targetName" : "Examplerep_Database",
	"targetType" : "example_database"
}
レスポンス
{
	"totalResults": 1,
	"items": [
		{
			"targetName": "Examplerep_Database",
			"targetType": "example_database",
			"imageId": "4B7738536B6E7888E053057FB10ACF8C",
			"imageName": "RAC121_a",
			"subscriptionDate": "2017-03-27 10:06:00.0"
		}
	]
}
ペイロードの入力変数の説明
  • imageId: イメージのGUID。

  • targetType: ターゲットのターゲット・タイプ。

  • targetName: ターゲットの名前。

イメージのバージョンの作成

機能 説明
リクエスト・メソッド POST
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/versions
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

ペイロード
{
	"imageName": " 4B7738536B6E7888E053057FB10ACF8C",
	"refTargetName": "OraDB12Home1_1_slc06nag.example.com_190",
	"imageSwLibLocation": "DB Provisioning/12.1.0.2.0/goldimage",
	"refHostCredential": "NC_HOST_2017-03-18-103539:SYSMAN",
	"workingDirectory": "/tmp",
	"swLibStorageType": "OmsShared",
	"swLibStorageName": "swlib",
	"versionName": "PSUNo"
}
レスポンス
{
	"messages": ["Create Gold Image operation has been submitted successfully with the instance name :
	'CreateGoldImageProfile_SYSMAN_03_27_2017_10_13_AM' and execution_guid=4BB1192C1A2F2AB3E053057FB10A792E",
	“You can track the status of operation using the following:”,
	“EMCLI: emcli get_instance_status -exec=4BAFFB4FD4ED1B34E053057FB10A99BF”,
		"Browser:  https://blr123.example.oracle.com:11111/em/faces/core-jobs-procedureExecutionTracking?executionGUID=4BB1192C1A2F2AB3E053057FB10A792E"
			]
}
ペイロードの入力パラメータの説明
  • imageId: イメージのGUID。

  • refTargetName: このゴールド・イメージの作成に使用されるOracleホーム・ターゲット。これは、11.2.0.4 PSUおよびすべての個別パッチが適用された既存の環境のデータベースまたはGrid InfrastructureのOracleホームです。参照ターゲット名を見つけるには、Enterprise Managerリポジトリに次の問合せを入力します。
    SELECT  distinct target_name FROM mgmt$target_properties
    WHERE target_name IN (SELECT target_name FROM mgmt_targets 
    WHERE target_type='oracle_home'
    AND host_name=<Host Name of this Oracle Home>
    AND property_name='INSTALL_LOCATION'
    AND property_value=<path of Oracle Home>)
  • imageSwLibLocation: ゴールド・イメージのペイロードが格納されるソフトウェア・ライブラリのパス。

  • refHostCredential: これはデータベース・ゴールド・イメージにのみ適用されます。これは<Named Credential: Credential Owner>という形式で入力する必要があります。

  • workingDirectory: 参照Oracleホーム・ターゲットのホスト上の一時的な場所。

  • swLibStorageType: ソフトウェア・ライブラリの記憶域タイプ。OMS共有またはOMSエージェント・ファイル・システムを指定できます。

  • swLibStorageName: ソフトウェア・ライブラリの記憶域名。この記憶域名を取得するには、「エンタープライズ」メニューから、「プロビジョニングとパッチ適用」を選択し、「ソフトウェア・ライブラリ」を選択します。「ソフトウェア・ライブラリ」ページで、「アクション」メニューから「管理」を選択します。このページで、「名前」列の値をチェックして、ソフトウェア・ライブラリの記憶域名を取得します。

  • versionName: 1つのイメージは複数のバージョンを持つことができます。デフォルト・バージョンのイメージが作成され、さらにバージョンを追加できます。

バージョンのリスト

機能 説明
リクエスト・メソッド GET
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/versions?image_id=4B7738536B6E7888E053057FB10ACF8C
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

レスポンス
{
	"totalResults": 1,
	"items": [
		{
			"name": "PSUNos",
			"versionId": "4BAFA861A7ED6603E053057FB10A0588",
			"imageId": "4B7738536B6E7888E053057FB10ACF8C",
			"externalId": "oracle:defaultService:em:provisioning:1:cmp:COMP_Component:SUB_OracleDB:4BAFA861A7E96603E053057FB10A0588:0.1",
			"status": "CURRENT",
			"position": "1",
			"hashCode": "C1622270664:B<NO_PATCHES>",
			"dateCreated": "2017-03-27 10:13:28.0",
			"provisioningStatus": "READY"
		}
	]
}	

バージョンの削除

機能 説明
リクエスト・メソッド DELETE
URI https://<OMS_CONSOLE_HOST>:OMS_CONSOLE_PORT>/em/websvcs/restful/emws/db/goldimage/versions
リクエスト・ヘッダー

Authorization: Basic

Content-Type: application/json

ペイロード
{
"versionId": "4BB099D42CC8671EE053057FB10A07DA"
}
レスポンス
{
	"messages": [
		"The following version will be deleted. 4BB099D42CC8671EE053057FB10A07DA"
		]
}

APIのデプロイ

機能 説明

リクエスト・メソッド

POST

URI

/em/websvcs/restful/emws/db/fleetmaintenance/performOperation/deploy

リクエスト・ヘッダー

Authorization: basic <generated credential value>

Content-Type: application/json

本文

{
"name": "<Operation Name>",
"targetName" : "<target name>",
"targetType" : "<Target type>",
"normalCredString" : "KKHANUJA:SYSMAN",
"privCredString" : "KKHANUJA_ROOT:SYSMAN",
"standbyAutoDeploy : "",
"skipCVUChecks" : "",
"skipPrereqs" : "",
"newOracleHomeLoc" : "/scratch/kkhanuja/oh1710"
}

入力変数の説明

  • name: 操作の名前。

  • targetName: ターゲットの名前。

  • targetType: エンティティ・タイプに基づくCLIコマンド入力の表を参照してください。

  • normalCredString: これは<Named Credential: Credential Owner>という形式で入力する必要があります。

    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。

    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

  • privCredString: これは<Named Credential: Credential Owner>という形式で入力する必要があります。
    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。

    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

    これらの資格証明は、スクリプトをルートとして実行するために使用されます。

  • standbyAutoDeploy: これは、デフォルト値がTrueのオプション・パラメータです。ターゲットがプライマリ・データベースの場合は、プライマリと同じゴールド・イメージ・バージョンを使用する新しいOracleホームが自動的にスタンバイ・ホストにデプロイされます。このパラメータは、falseと指定されると、スタンバイ・ホストでのソフトウェアの自動デプロイメントを無効にします。この値がfalseの場合、emcliコマンドを使用してスタンバイ・ステージング/デプロイ操作を個別に実行できます。

  • skipCVUChecks: true|false。デフォルト値はfalse

  • skipPrereqs: true|false。デフォルト値はfalse

  • WorkingDirectory: <Name of temp directory>

  • newOracleHomeLoc: <Oracleホームが作成される場所

受け取るレスポンスの例を次に示します。

RACデータベースt05nweのOracleホーム・ソフトウェアの更新操作は、次のEMCLIコマンドを使用して監視できます。

emcli get_instance_status -exec=4943D8E3626E420EE0530854F10A18A9 -details –xml

ブラウザ: https://blr123.example.com:11111/em/faces/core-jobs-procedureExecutionTracking?executionGUID=4943D8E3626E420EE0530854F10A18A9

更新/ロールバック

機能 説明

リクエスト・メソッド

POST

更新用URI

em/websvcs/restful/emws/db/fleetmaintenance/performOperation/update

ロールバック用URI

em/websvcs/restful/emws/db/fleetmaintenance/performOperation/rollback

リクエスト・ヘッダー

Authorization: basic <generated credential value>

Content-Type: application/json

本文

{
"name": "<Operation name>",
"targetName": "<name of the target>",
"targetType": "<target type>",
"normalCredString": "<credential name>",
"privCredString": "<privileged credential name>"
"nodeList": “<list of nodes>”"dgRole":”primary|standby”"startupAfterSwitch":“true|false”"startupDBAfterSwitch": “true|false”
"skipSwitchDatabase":“true|false”"ignoreStandbyPrereq":“true|false”
}

入力変数の説明

  • name: 操作の名前

  • targetName: ターゲットの名前

  • targetType: エンティティ・タイプに基づくCLIコマンド入力の表を参照してください。

  • normalCredString: これは<Named Credential: Credential Owner>という形式で入力する必要があります。

    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。

    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

  • privCredString: これは<Named Credential: Credential Owner>という形式で入力する必要があります。

    • <Named Credential>: 新しいOracleホームがデプロイされるホストの名前付き資格証明。

    • <Credential Owner>: この名前付き資格証明を所有するEnterprise Managerユーザー。

    これらの資格証明は、スクリプトをルートとして実行するために使用されます。

  • nodeList: ノードのカンマ区切りリスト

  • dgRole: primary|standby

  • startupDBAfterSwitch: デフォルト値はtrueです。ノードごとのパッチ適用に使用されます。クラスタ・インスタンスのパッチ適用後もデータベース・インスタンスを停止したままにするには、

  • skipSwitchDatabase: trueに設定する必要があります。パッチ適用済ホームへのデータベースの切替えは、これより前のステップですでに実行済であるためスキップされます。

  • ignoreStandbyPrereq: デフォルトはfalseです。これにより、スタンバイがプライマリの移動先と同じイメージ・バージョン上にあるかどうかの検証チェックが無効になります

  • startupAfterSwitch: ローリングを適用できないパッチの場合は、まずパッチ適用済ホームからプライマリ・データベースを起動する必要があります。これにより、更新操作中、スタンバイが停止状態のままになります。プライマリにパッチが適用されて起動した後、スタンバイが別のステップで起動されます。

受け取るレスポンスの例を次に示します。

RACデータベースt05nweのOracleホーム・ソフトウェアの更新操作は、次のEMCLIコマンドを使用して監視できます。

emcli get_instance_status -exec=4943D8E3626E420EE0530854F10A18A9 -details –xml

ブラウザ: https://blr123.example.com:11111/em/faces/core-jobs-procedureExecutionTracking?executionGUID=4943D8E3626E420EE0530854F10A18A9