プライマリ・コンテンツに移動
Oracle® Enterprise Managerライフサイクル・マネージメント管理者ガイド
13c リリース3
E98556-01
目次へ移動
目次
索引へ移動
索引

前
次

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

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

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

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

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

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

データベース・フリート・メンテナンスは次のものに使用できます。

  • 単一インスタンスのOracleホームおよび関連するデータベース

  • RAC Oracleホームおよび関連するデータベース

  • グリッド・インフラストラクチャ・ホームおよび関連するグリッド・インスタンス

  • Oracle Restartホーム(スタンドアロン・サーバーのグリッド・インフラストラクチャ)および関連するデータベース

  • スタンバイ・データベース(単一インスタンスおよびRAC)

フリート・メンテナンスでは次の手順を行います。

  • ソフトウェア標準化アドバイザを使用して構成の汚染を確認します。

  • 参照環境を作成します。

  • 参照環境を使用してゴールド・イメージを作成し、追加の変更のためにそれらをバージョニングします。

  • 適切なパッチが適用されているゴールド・イメージに、データベースおよびクラスタをサブスクライブします。

  • イメージをデプロイし、関連するターゲットを古いOracleホームから新しいOracleホームに切り替えます。

このメンテナンス・アクティビティは、新しいバージョンのゴールド・イメージが使用可能になったときに実行できます。

注意:

12.2リリースから、ライフサイクル管理グラフィカル・ユーザー・インタフェースを使用したクラシック・パッチは非推奨となりました。12.2データベースおよびGI環境にパッチを適用するには、データベース・フリート・メンテナンス機能を使用する必要があります。

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

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

図46-1 データベース・フリート・メンテナンスの手順


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

46.2.1 前提条件の確認

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

  • Enterprise Managerソフトウェア・ライブラリがセットアップおよび構成されている。

  • パッチ適用するデータベースおよびクラスタ・ターゲットがEnterprise Managerで検出されている。

  • ターゲットの状態を表す参照環境(データベースおよびOracleホーム)が、Enterprise Managerで検出されている。この参照環境はゴールド・イメージを作成するために必要となります。

  • パッチを適用するホストに使用可能な領域がある。詳細は、「ソフトウェアのステージングとデプロイ」を参照してください。

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

エンティティ Target_type Purpose (デプロイ操作) Purpose (更新操作) Purpose (ロールバック操作)

単一インスタンス・データベース

oracle_database

DEPLOY_DB_SOFTWARE

UPDATE_DB

ROLLBACK_DB

RACデータベース

rac_database

DEPLOY_RAC_SOFTWARE

UPDATE_RACDB

ROLLBACK_RACDB

Oracle Restart

 

DEPLOY_SIHA_SOFTWARE

UPDATE_SIHA

ROLLBACK_SIHA

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

cluster

DEPLOY_GI_SOFTWARE

UPDATE_GI

ROLLBACK_GI

PDB

oracle_pdb

-なし-

UPDATE_PDB

ROLLBACK_PDB

CDB

oracle_home

DEPLOY_CDB、ATTACH_CDB

-なし-

-なし-

46.2.2 構成の汚染の検出

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

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

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

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

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

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

製品 リリース プラットフォーム 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]

46.2.3 ゴールド・イメージの作成

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

次の図は、ゴールド・イメージの作成方法を示しています。

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

イメージの作成

次に示すemcliコマンドを使用して、データベース・ホームまたはグリッド・インフラストラクチャ・ホームのイメージを作成できます。このイメージはEnterprise Managerソフトウェア・ライブラリに格納され、プロビジョニングに使用されます。

前提条件:
  • Enterprise Managerソフトウェア・ライブラリがセットアップおよび構成されている。

  • パッチ適用するデータベースおよびクラスタ・ターゲットがEnterprise Managerで検出されている。

  • ターゲットの状態を表す参照環境(データベースおよびOracleホーム)が、Enterprise Managerで検出されている必要があります。この参照環境はゴールド・イメージを作成するために必要となります。

動詞

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

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

入力変数の説明

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

  • IMAGE_NAME: ゴールド・イメージの名前。この名前はイメージ全体で一意である必要があります。

  • IMAGE_DESCRIPTION: イメージの説明。

  • REF_TARGET_NAME: このゴールド・イメージの作成に使用される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>
  • IMAGE_SWLIB_LOC: ゴールド・イメージのペイロードが格納されるソフトウェア・ライブラリのパス。

  • REF_HOST_CREDENTIALS: これはデータベース・ゴールド・イメージにのみ適用されます。グリッド・インフラストラクチャまたはOracle Restartホームでは、このパラメータはREF_GI_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_SYSMAN_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'

46.2.4 使用可能なゴールド・イメージのリストの取得

動詞

注意:

次に示すemcliコマンドの出力をフォーマットするには、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=<column name(s)>]

入力変数の説明

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

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

サンプル出力

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

イメージの説明

イメージのコンテンツ(パッチ/バグ)を表示するには、次のemcliコマンドを実行します。特定の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)

46.2.5 イメージが適用可能であるかどうかの確認

動詞

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

構文: emcli db_software_maintenance -checkApplicability -image_id= <image_id> -target_list=<target_list> —target_type=<target_type>

入力変数の説明
  • target_list: データベースまたはグリッド・インフラストラクチャのホーム、またはOracle Restartホームのターゲット・リスト

  • target_type: エンティティ・タイプに基づく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= FE55AD7AB28974EFE04313B2F00AD4A0 -target_list=HAS1 -target_type=has

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

emcli db_software_maintenance -checkApplicability -image_id= FE55AD7AB28974EFE04313B2F00AD4A0 -target_list=CLUSTER1 -target_type=cluster

Oracle Restart

emcli db_software_maintenance –checkApplicability -image_id= FE55AD7AB28974EFE04313B2F00AD4A0 -target_list=HAS1 -target_type=has

単一インスタンス

emcli db_software_maintenance -checkApplicability -image_id= FE55AD7AB28974EFE04313B2F00AD4A0 -target_list=DB1 -target_type=oracle_database

サンプル出力

Checking applicability for target [RACDB1]...
Image is applicable

このコマンドでは、次のいずれかの結果が表示されます。

  • Applicable: イメージおよびデータベース・ターゲットには、同じセットのバグ修正が含まれています。指定したターゲットにイメージを適用できます。

  • Applicable and Image has more bug fixes: イメージには、データベースに適用されているものより多くのバグ修正が含まれています。データベースにないバグのリストが表示されます。指定したターゲットにイメージを適用できます。

  • Not Applicable: データベースには、イメージに含まれているものより多くのバグ修正が含まれています。欠落しているバグのリストが表示されます。管理者は、データベースに同じものを取り込む前に、欠落しているバグを含む新しいバージョンのイメージを作成する必要があります。

46.2.6 イメージまたはイメージのバージョンの削除

動詞

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

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として指定すると、削除されるバージョンの詳細が表示されますが、操作は名前が示すようには実行されません。これは、バージョンを実際に削除する前の予備ステップとして使用されます。

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

動詞

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

図46-3 イメージへのサブスクライブ


イメージへのサブスクライブ

構文: emcli db_software_maintenance -subscribeTarget -target_name="RACDB1" -target_type=rac database -image_id=<image_id>

説明:

  • target_name: パッチを適用する必要があるターゲットの名前です。

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

  • image_id: このターゲットにパッチ適用されるゴールド・イメージのIDです。emcliコマンドを実行することでimage_idを取得できます。使用可能なゴールド・イメージのリストの取得を参照してください。

注意:

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

サンプル出力

Target 'RACDB1' subscribed successfully.
Verb subscribeTarget completed successfully

注意:

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

46.2.8 サブスクリプションの確認

動詞

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

図46-4 サブスクリプションの確認


サブスクリプションの確認

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: エンティティ・タイプに基づく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>

46.2.9 イメージからのターゲットのサブスクライブ解除

動詞

ターゲットをイメージからサブスクライブ解除するには、次のコマンドを使用します。

emcli db_software_maintenance -unsubscribeTarget -target_name=<target _name> —target_type=<target_type> —image_id=<image_id>

説明:

  • target_nameは、パッチを適用する必要があるRACデータベース・ターゲットの名前です。

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

  • image_idは、このターゲットにパッチ適用されるゴールド・イメージのIDです。image_idを取得するには、「使用可能なゴールド・イメージのリストの取得」の項に示されているemcliコマンドを実行します。

46.2.10 更新されたバージョンのイメージの作成

動詞

選択したイメージにすべてのターゲットがサブスクライブされたことを確認したら、新しいバージョンのイメージを作成する必要があります。これはデータベースがパッチ適用されるターゲット・バージョンです。

構文: 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'

46.2.11 バージョン・ステータスをCurrentに変更する

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

動詞:

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

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

サンプル出力

Version ID '269EA1638D1D7472E053D903C40ABF1B' updated successfully.

Verb updateVersionStatus completed successfully.

46.2.12 ソフトウェアのステージングとデプロイ

動詞

ゴールド・イメージ(現行の基準を示すために「Current」とマークされているイメージのバージョン)はパラレルOracleホームにコピーされてから、新たにパッチを適用したOracleホームになるため、フリート・メンテナンスは短い時間で実行できます。このコマンドは、パラレルOracleホームを作成してそこにゴールド・イメージをコピーするために使用します。言い換えると、このコマンドを使用すると、サブスクライブしているOracleホーム上で新しいOracleホームをステージングおよびデプロイできます。デプロイコマンドは、新しいOracleホームの作成時にCURRENTバージョンのサブスクライブ・イメージを自動的に使用します。

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=<credential name> —privilege_credential<privileged credential name> —inputfile="data:<location of input file>" [standbyAutoDeploy=true|false]

入力変数の説明

説明:
  • name: これは操作の一意の名前です。

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

  • target_type: この操作が実行されるターゲットのタイプ。有効な値については、エンティティ・タイプに基づくCLIコマンド入力の表を参照してください。

  • 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ユーザー。

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

  • start_schedule: ステージングおよびデプロイが開始される日付(将来開始される予定の場合)。

    形式: "start_time:yyyy/mm/dd HH:mm"

    注意: このパラメータはオプションです。日付を指定しない場合、フリート操作は即座に開始されます。

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

  • 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に設定されている場合、実際のデプロイメントは行われません。

    注意: この動詞は、次のステップに進む前に完了する必要があるプロシージャを発行します。

サンプル出力

Processing target "CLUSTER1"...

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

Check Passed.

Checking image subscription...

Check image subscription passed.

Operation 'Deploy 1120407 GI_Home' created successfully.

領域要件

  • 作業ディレクトリ(workingDir)内の一時領域は、参照ホームの約2倍のサイズである必要があります。たとえば、11.2.0.4イメージが約6 GBの場合、デプロイ・ステップを正常に完了するには、少なくとも12 GBの一時領域が必要です

  • ディスパッチの場所(dispatchLoc)には、workingDirと同じ量の領域とさらに500MBが必要です。このパラメータを指定しない場合、デフォルトの作業ディレクトリが使用されます。

  • Oracleホームには、参照ホームと同じ領域が必要です。ログ・ファイルなどが増大した場合に使用できる追加の記憶域を用意しておくことをお薦めします。

46.2.13 リスナーの移行

動詞

データベース・ホームから実行されているリスナーがある場合は、次の動詞を使用してそれらをパラレル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
説明:
  • 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"

    注意: このパラメータはオプションです。日付を指定しない場合、フリート操作は即座に開始されます。

サンプル出力

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

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

動詞

コンテナ・データベースの場合、コンテナ全体を同時に更新するのではなく、一度に1つ以上のPDBを更新できます。これを可能にするには、新しいコンテナ・データベースを作成するか、ステージング済/パッチ適用済のOracleホーム上の既存のコンテナを使用して、PDBを新しいコンテナにオンデマンドで移動します。新しい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>"

46.2.15 データベース/クラスタの更新

動詞

ステージ操作およびデプロイ操作が完了したら、新しくデプロイされたOracleホームにターゲットを移行する必要があります。

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: エンティティ・タイプに基づくCLIコマンド入力の表を参照してください。

  • target_type: エンティティ・タイプに基づく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>です。

サンプル出力

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

46.2.15.1 クラスタ/データベースのロールバック

動詞

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

emcli db_software_maintenance -performOperation -name="Rollback RAC DB" -purpose=ROLLBACK_RACDB -target_type=rac_database -target_list= RACDB -normal_credential="NC_HOST_CREDS:SYSMAN" -privilege_credential="HOST_PRIV:SYSMAN" [-rolling=true/false] [-node_list="host1.us.oracle.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"として指定する必要があります。

サンプル出力

Processing target "RACDB"...

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

Check Passed.

Checking image subscription...

Check image subscription passed.

Operation Rollback RAC DB' created successfully.

46.2.15.2 ローリングを適用できないパッチ

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

46.2.15.3 スタンバイ・データベースの更新およびロールバック

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

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

ローリングを適用できるパッチ(データベース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> —dataguard_role=standby —input_file="data:<location of input file>

    入力パラメータの説明

    • input_file: これはオプション・パラメータです。ここで指定できるパラメータは、次のとおりです。

      • workingDir=<Name of temp directory>

      • 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=<Name of temp directory>

      • 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=<Name of temp directory>

      • 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=<Name of temp directory>

  • パッチ適用済ホームからスタンバイ・データベースを起動します

    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=<Name of temp directory>

      • enableDG=<true|false>: デフォルト値はfalseです。スタンバイがData Guardで管理されている場合は、これをtrueに設定する必要があります。

      • primary_dbhost_creds=<credential name of primary database host>。プライマリ・ホストからData Guardが有効にされるため、これは必須です。これは、プライマリ・データベースの更新で使用されるものと同じにすることができます。

注意:

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

46.2.15.4 ノードごとのRACデータベース/クラスタの更新

動詞

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

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

このオプションは、ユーザーが各ノードに次のタスクを実行することを有効にして、この制御を提供します。

  • クラスタ・インスタンスを切り替えます。

  • RACデータベース・インスタンスを停止されたままにします。

    たとえば、RACデータベースRACDB_112およびRACDB_121がこのクラスタで実行されているとします。この特定のノードで実行されているインスタンスRACDB_112_1およびRACDB_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.us.oracle.com" –startupDatabase=false
  • 同じノード上のすべてのRACデータベース・インスタンスを切り替えます。

  • この手順はインスタンスRACDB_112_1およびRACDB_121_1を新しいホームに切り替え、再起動します。

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

emcli db_software_maintenance -performOperation -name="Update RAC DB" -purpose=UPDATE_RACDB -target_type=rac_database -target_list= RACDB -normal_credential="NC_HOST_CREDS:SYSMAN" -privilege_credential="HOST_PRIV:SYSMAN" -rolling=true -node_list="host1.us.oracle.com"

説明:

  • name: これは操作の一意の名前です。

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

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

  • 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ユーザー。

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

  • node_list: インスタンスを更新する必要があるホストのカンマ区切りのリストです。

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

    注意: このパラメータはオプションです。日付を指定しない場合、フリート操作は即座に開始されます。

サンプル出力

Processing target "RACDB"...

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

Check Passed.

Checking image subscription...

Check image subscription passed.

PDB更新

PDBを更新すると、PDBは、先行コンテナから新しく使用可能になった後継コンテナに移動します。このことは、Attach CDB/Deploy CDB操作がすでに実行されている場合にのみ実行できます。

emcli db_software_maintenance -performOperation -purpose="UPDATE_PDB" —target_list="<PDB_TARGET_Name>" —target_type="oracle_pdb" —name="Operation Name" –description="Operation description" normal_credential="<credential name> -privilege_credential="<privilege credential name>" —database_credential="<credential name>"

46.3 更新の説明

この項では、最小限の停止時間でOracleホームをパラレルOracleホームに切り替えることができる方法に焦点を当てています。

データベース・タイプ 実行される手順

単一インスタンス

  • ターゲットがブラックアウト・モードになります。

  • 構成ファイル(spfile、password、listener.ora、sqlnet.ora、tnsnames.oraなど)がパラレル・ホームにコピーされます。

  • oratabファイルのエントリが更新されます。

  • インスタンスが停止され、パラレル・ホームで新しいOracleホームとして起動されます。

  • ターゲットがブラックアウト・モードになります。

  • 12c以前のデータベースの場合はSQL*Plusを使用してSQLが実行され、12cデータベースの場合はデータを変更するためにdatapatchユーティリティが呼び出されます。

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

  • 関連するすべてのターゲットがブラックアウト・モードになります。

  • CRS構成ファイルをソース・ホーム($SRC_HOME/crs/utl/crsconfig_dirs)からバックアップします。

  • 構成ファイル(spfile、password、listener.ora、sqlnet.ora、tnsnames.oraなど)がパラレル・ホームにコピーされます。

  • oratabファイルのエントリが更新されます。

  • HASインスタンス、ASMインスタンス、管理データベース・インスタンス、スキャン・リスナーとグリッド・リスナーおよびすべてのデータベース・インスタンスが停止され、パラレル・ホームで新しいOracleホームとして起動されます。

  • 構成スクリプトが実行されます。

  • すべてのターゲットでブラックアウト・モードが解除されます。

  • 管理データベースが使用されている場合、12c以前のデータベースではSQL*Plusを使用してSQLが実行され、12cデータベースではデータを変更するためにdatapatchユーティリティが呼び出されます。

RACローリング・ノード

各ノードで:

  • ターゲットがブラックアウト・モードになります。

  • 構成ファイル(spfile、password、listener.ora、sqlnet.ora、tnsnames.oraなど)がパラレル・ホームにコピーされます。

  • oratabファイルのエントリが更新されます。

  • インスタンスが停止され、パラレル・ホームで新しいOracleホームとして起動されます。

  • ターゲットでブラックアウト・モードが解除されます。

  • 12c以前のデータベースの場合はSQL*Plusを使用してSQLが実行され、12cデータベースの場合はデータを変更するためにdatapatchユーティリティが呼び出されます。

RAC非ローリング・ノード

  • すべてのRACノードがブラックアウト・モードになります。

  • 構成ファイル(spfile、password、listener.ora、sqlnet.ora、tnsnames.oraなど)がパラレル・ホームにコピーされます。

  • oratabファイルのエントリが更新されます。

  • インスタンスが停止され、パラレル・ホームで新しいOracleホームとして同時に起動されます。

  • 12c以前のデータベースの場合はSQL*Plusを使用してSQLが実行され、12cデータベースの場合はデータを変更するためにdatapatchユーティリティが呼び出されます。

46.4 Oracleホームのアップグレード

サポートされているアップグレードには、マイナーおよびメジャーという2つのタイプがあります。マイナー・アップグレードはOracleホームをあるパッチセットから別のパッチセット(たとえば、11.2.0.3から11.2.0.4)に移動し、メジャー・アップグレードはデータベースをあるメジャー・リリースから別のリリース(たとえば、11.xから12.x)に移動します。ゴールド・イメージの作成、イメージ・サブスクリプション、イメージのデプロイなどのすべてのステップは変わりません。アップグレードでは、ノードごとの更新はサポートされません。データベース・アップグレードのupdateコマンドでは、データベース資格証明をコマンドの一部として指定する必要があります。

一般的なCLIコマンド形式は次のとおりです。

emcli db_software_maintenance -performOperation -name="Update RAC DB" -purpose=UPDATE_RACDB -target_type=rac_database -target_list= RACDB -normal_credential="NC_HOST_CREDS:SYSMAN" -privilege_credential="HOST_PRIV:SYSMAN" -database_credential=<SYSDBA credentials of the database>

プライマリ・データベースとスタンバイ・データベースでは、Enterprise Managerのローリング・アップグレード・ユーザー・インタフェースからアップグレードを実行する必要があります。プライマリまたはスタンバイ・データベースのターゲット・データベースのホームページからウィザードを起動できます。データベースのホームページで、「Oracle Database」「プロビジョニング」「データベースをアップグレード」の順に選択します。詳細は、「<Data Guard Rolling Upgrade>」の項を参照してください。

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

Oracleホームは記憶域を消費するため、使用しなくなった場合はクリーンアップして領域を解放できます。これを実現するには、次のemctlプロパティを設定してemcliコマンドを実行し、その次に示すように特定のターゲットの未使用のホームを削除します。Oracleホームは、そこから実行されているターゲットがない場合にのみ削除されます。

emctl set property -name oracle.sysman.emInternalSDK.db.gis.lineageLength -sysman_pwd $em_sysman_pwd –value

valueは、保持する必要があるOracleホームの数です。デフォルト値は3です。

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

emcli db_software_maintenance -performOperation -name=" User specified Operation name " -purpose=<Operation Type> —target_list=<List of targets> —target_type=<target type> —normal_credential=<credential_name> —privilege_credential=<privilege credential_name> —workDir=/tmp [-reportOnly=true|false>

入力変数の説明

  • name: これは操作の一意の名前です。

  • purpose: CLEANUP_SOFTWARE

  • target_type: エンティティ・タイプに基づく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ユーザー。

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

  • reportOnly: デフォルト値はfalseです。trueに設定すると、削除可能なホームが出力されますが、それらのホームは削除されません。

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

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

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

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

機能 説明
GET 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 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.us.oracle.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.idc.oracle.com:111111/em/faces/core-jobs-procedureExecutionTracking?executionGUID=4BB1192C1A2F2AB3E053057FB10A792E"
	  ]
}

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

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

  • バージョン

  • 説明

  • 所有者

  • Target_type

次に、問合せパラメータNameを使用した例を示します。
機能 説明
GET 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 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 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."
	]
}  

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

機能 説明
GET 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 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."
	]
}

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

機能 説明
PUT 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"
		}
	]
}

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

機能 説明
POST 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.us.oracle.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"
			]
}

バージョンのリスト

機能 説明
GET 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 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のデプロイ

機能 説明

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"}

リクエスト・メソッド

POST

入力変数の説明

  • 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.us.oracle.com:11111/em/faces/core-jobs-procedureExecutionTracking?executionGUID=4943D8E3626E420EE0530854F10A18A9

更新/ロールバック

機能 説明

更新用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"}

リクエスト・メソッド

POST

入力変数の説明

  • 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.us.oracle.com:11111/em/faces/core-jobs-procedureExecutionTracking?executionGUID=4943D8E3626E420EE0530854F10A18A9