27 PDBaaSフリート操作

この章では、PDBaaSフリート操作の実行に使用できるEMCLIコマンドについて説明します。内容は次のとおりです。

ソフトウェア・イメージの準備とサブスクライブ(SSA管理者)

ソフトウェア・イメージを準備およびサブスクライブするには、次のステップに従います。
  • パッチ/パッチセットによるOracleホームのソフトウェア・イメージの作成

    emcli db_software_maintenance -createSoftwareImage -input_file="data:/scratch/input_rac"

    input_racの内容は次のとおりです。

    • IMAGE_NAME=DbGoldImage

    • IMAGE_DESCRIPTION=Gold Image for 12c db

    • REF_TARGET_NAME=ORACLE_HOME

    • IMAGE_SWLIB_LOC=Oracle Home Provisioning Profiles/12.1.0.2.0/linux_x64

    • REF_HOST_CREDENTIALS=ZONE_CREDS:TESTSUPERADMIN

    • WORKING_DIRECTORY=/tmp

    • STORAGE_TYPE_FOR_SWLIB=OmsShared

    • STORAGE_NAME_FOR_SWLIB=swlib

    • VERSION_NAME=Version1

  • 作成されたイメージの取得

    新規に作成されたイメージのIDを取得するには、次のコマンドを実行します。

    emcli db_software_maintenance –getImages

  • 新規に作成されたイメージへのPDBaaSプールのサブスクライブ

    emcli db_cloud_maintenance -subscribeTarget -pool_name=PDB_POOL -pool_type=pdbaas_pool -image_id=438AA95015F34E25E053FB7BB10A9E3B

    このコマンドは、PDBaaSプール、CDBメンバー、およびCDBに関連付けられたPDBをサブスクライブします。これはdb_cloud_maintenance操作であり、db_software_maintenance操作ではありません。

  • PDBaaSターゲットとそのサブスクリプションの検証

    PDBaaSターゲットを検証するには、次のコマンドを実行します。

    emcli db_software_maintenance -getSubscriptionsForContainer -target_name="RAC Pool" -target_type=pdbaas_pool -image_id=FE55AD7AB28974EFE04313B2F00AD4A0

SSA管理者によって実行されるPDBaaSプール操作(オプション1)

SSA管理者が実行できるPDBaaSプール操作は次のとおりです。

  • ターゲット上のサブスクライブされたイメージからのOracleホームのデプロイ

    ノート:

    データベース・プールのルート資格証明が設定されていることを確認します。ゾーン全体でデータベース・プールで指定されている特定のホストの特権委任を設定します。

    emcli db_cloud_maintenance -performOperation -purpose="DEPLOY_DB_SOFTWARE/DEPLOY_RAC_SOFTWARE" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Deploy Patch OH for Pool" -target_type=oracle_home -description="Deploys the Patched Oracle home on target nodes" -input_file="data:/scratch/data_backup/deployoh.properties"

    deployoh.propertiesの内容は次のとおりです。

    • NEW_ORACLE_HOME_LIST=/u01/app/oracle/product/patchedHome2

    • WORK_DIR_LOC=/tmp

    • DISPATCHER_LOC=/tmp

    次のパラメータは、デプロイ操作中に前提条件チェックをスキップする必要がある場合に追加できます。

    • SKIP_PREREQUISITE_CHECKS=true

    • SKIP_CVU_CHECK=true

    このステップは、プールのCDBメンバーに関連付けられているOracleホームのリストを取得し、提供されているソフトウェア・イメージを使用してそれぞれの新規Oracleホームを作成し、Oracleホーム系統を作成します。

  • リスナーの移行

    次のコマンドを実行して、リスナーを移行します。

    emcli db_cloud_maintenance -performOperation -purpose="MIGRATE_LISTENER" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Migrate Listeners" -description="Migrate the listeners to the new Oracle Home, if any"

  • CDBの作成/デプロイ

    CDBを作成またはデプロイするには、次のコマンドを実行します。

    emcli db_cloud_maintenance -performOperation -purpose="DEPLOY_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Deploy CDB" -target_type=rac_database -description="Deploy a new CDB on the new OH for every CDB on the Pool using the prefix " -db_prefix="racdb"

    このステップでは、メンバーCDB構造のみのテンプレートを使用して、プールのすべてのCDBメンバーの新規CDBを作成します。作成される新しいCDBでは、名前にdb_prefixを使用します。

    emcli db_cloud_maintenance -performOperation -purpose="DEPLOY_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Deploy CDB for a given target" -target_type=rac_database -description=" Deploy a new CDB on the new OH for the selected CDB target " -db_name="slspc" -target_list="sales.yourcompany.com"

    このステップでは、構造体のみのテンプレートを使用して、target_listオプションで指定されたプールの選択したCDBメンバーの新規CDBを作成します。作成される新しいCDBでは、データベース名にdb_prefixを使用します。

    このコマンドを使用して作成されるCDBは「パッシブ」としてマークされ、プールのメンバー・リストの一部になります。CDB間に系統も作成されます。

  • CDBのアクティブ化

    emcli db_cloud_maintenance -performOperation -purpose="ACTIVATE_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Activate the CDBs" -target_type=oracle_database/rac_database -description="Activates the newly created CDBs"

    このステップでは、前のステップで作成されたプールのすべての新規CDBを「アクティブ」としてマークし、既存のCDBを「非アクティブ」としてマークします。以降のSSAリクエストは、新規にアクティブ化されたCDBに転送されます。

    emcli db_cloud_maintenance -performOperation -purpose="ACTIVATE_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Activate the CDBs" -target_type=oracle_database/rac_database -description="Activates the newly created CDBs" -target_list=”sales.yourcompany.com”

    このステップでは、target_list内の特定のCDBを「アクティブ」としてマークし、先行CDBを「非アクティブ」としてマークします。以降のSSAリクエストは、新規にアクティブ化されたCDBに転送されます。

SSA管理者によって実行されるPBaaSプール操作(オプション2)

SSA管理者は次の操作を実行できます。

  • プールへの既存のCDBのアタッチ

    emcli db_cloud_maintenance -performOperation -purpose="ATTACH_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Attach an existing CDB" -target_type=oracle_database/rac_database -description="Attach an existing CDB as the successor" -destinationCDB="subjects.yourcompany.com" –target_list=”crm.yourcompany.com”

    このステップでは、宛先CDBをtarget_listで指定されたメンバーCDBの後続としてアタッチします。これにより、OHのデプロイ、リスナーの移行、CDBのデプロイ・ステップがバイパスされ、OracleホームおよびCDBに必要な系統が作成されます。宛先CDBは、プールに関連付けられたのと同じゾーンおよび同じクラスタ上にある必要があります。新規にアタッチされたCDBは、アタッチ後に「パッシブ」としてマークされます。

  • CDBのアクティブ化

    emcli db_cloud_maintenance -performOperation -purpose="ACTIVATE_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Activate the CDBs" -target_type=oracle_database/rac_database -description="Activates the newly created CDBs"

    このステップでは、前のステップで作成されたプールのすべての新規CDBを「アクティブ」としてマークし、既存のCDBを「非アクティブ」としてマークします。以降のSSAリクエストは、新規にアクティブ化されたCDBに転送されます。

    emcli db_cloud_maintenance -performOperation -purpose="ACTIVATE_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Activate the CDBs" -target_type=oracle_database/rac_database -description="Activates the newly created CDBs" -target_list=”sales.yourcompany.com”

    このステップでは、target_list内の指定されたCDBを「アクティブ」としてマークし、先行CDBを「非アクティブ」としてマークします。以降のSSAリクエストは、新規にアクティブ化されたCDBに転送されます。

CDBの更新(SSA管理者およびSSAユーザーの操作)

この項では、CDBの更新操作を示します。

  • PDBの更新 — SSA管理者

    emcli db_cloud_maintenance -performOperation -purpose="UPDATE_PDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Update PDB to new CDB" -target_type=oracle_pdb -description="Relocates the PDB from its inactive CDB to newly active CDB" -target_list="crm.mycompany.com_SDB1"

    SSA管理者は、PDBを先行から新規にアクティブ化したCDBに更新できます。

  • PDBの更新 - SSAユーザー - UI

    新規CDBがアクティブ化され、更新可能になると、SSAユーザーのPDBホーム・ページに「データベースの更新」ボタンが表示されます。SSAユーザーは、追加入力なしでPDBの更新をスケジュールできます。

  • PDBの更新 — SSAユーザー — RESTful API

    SSAは、RESTful APIリクエストを使用してPDBの更新リクエストを送信できます。

    https://<host>:<port>/em/cloud/dbaas/pluggabledbplatforminstance/byrequest/<requestid>
    Content-Type: application/oracle.com.cloud.common.PluggableDbPlatformInstance+json
    Accept: application/oracle.com.cloud.common.PluggableDbPlatformInstance+json
    Body:
    {
    "operation" : "UPDATE_DATABASE",
    "update_schedule" : ""
    }
    Method: POST
    

PDBaaSプール・クリーンアップ操作 - SSA管理者

SSA管理者は次のプール・クリーンアップ操作を実行できます。

  • CDBの非アクティブ化

    新規にアクティブ化したCDBに問題がある場合は、新しいCDBで問題が解決されるか、CDBがプールから除去されるまで(PDBにサービスを提供していない場合)、SSA管理者はそれらを非アクティブ化し、古いCDBを新規リクエストのアクティブなメンバーCDBとして使用できます

    emcli db_cloud_maintenance -performOperation -purpose="DEACTIVATE_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Deactivate the CDBs" -target_type=oracle_database/rac_database -description="Deactivates the newly created CDBs"

    このステップでは、前のステップで作成されたプールのすべての新規CDBおよびその先行CDBを「アクティブ」としてマークします。以降のSSAリクエストは、新規にアクティブ化されたCDBに転送されます。

    emcli db_cloud_maintenance -performOperation -purpose="DEACTIVATE_CDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Deativate the CDBs" -target_type=oracle_database/rac_database -description="Deactivates the newly created CDBs" -target_list=”sales.yourcompany.com”

    このステップでは、target_list内の特定のCDBを「パッシブ」としてマークし、先行CDBを「アクティブ」としてマークします。以降のSSAリクエストは、新規にアクティブ化されたCDBに転送されます。

  • PDBのロールバック

    PDB更新で、更新されたCDBに問題がある場合、管理者(管理者のみ)は、現在アクティブなCDBの先行CDBであったCDBにPDBをロールバックできます。

    emcli db_cloud_maintenance -performOperation -purpose=" ROLLBACK_PDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Activate the CDBs" -target_type= oracle_pdb -description="Rolls back the PDB to its parent CDB"

    このステップでは、プールに関連付けられているPDBをそれぞれの親CDBにロールバックします。

    emcli db_cloud_maintenance -performOperation -purpose=" ROLLBACK_PDB" -pool_name="PDB_POOL" -pool_type="pdbaas_pool" -name="Activate the CDBs" -target_type= oracle_pdb -description="Rolls back the PDB to its parent CDB" -target_list=”sales.yourcompany.com_FIN”

    このステップでは、target_list内の特定のPDBを親CDBにロールバックします。

PDBaaSフリート・メンテナンス操作の一部として、新規のOracleホーム(OH)と新規のコンテナ・データベース(CDB)がデプロイされます。

パッチが適用される個々のPDBインスタンスは、それらの新しくデプロイされたCDBに再配置されます。CDB内のすべてのPDBにパッチを適用したら、古いCDBはリソースを再利用するために削除する必要があります。このパッチ適用サイクル完了後の古いCDBと古いOHの削除は、PDBaaSフリート・メンテナンス'CLEANUP'操作という自動化された操作を使用して実施できます。

プール・クリーン・アップの操作は次のとおりです。

  • –reportOnlyフラグを指定したCLEANUP

    -reportOnlyオプションを指定すると、次回のCLEANUP操作の一部として削除の対象になるCDBとOracleホームのレポートが提示されます。

    emcli db_cloud_maintenance -performOperation -purpose="CLEANUP" -pool_name="poolname" -pool_type="pdbaas_pool" -name="Cleanup CDBs and Homes" -description="Only show a CLEANUP report" -reportOnly=true

    表27-1 レポート形式のカテゴリ

    カテゴリ 説明

    クリーン・アップの対象になるコンテナ・データベース(CDB)

    次回の'CLEANUP'操作で削除されるCDBをリストします

    クリーン・アップの対象になるOracleホーム(OH)

    次回の'CLEANUP'操作でアンインストールされるOHをリストします

    クリーン・アップの対象にならないCDB

    1つ以上のPDBSが存在するために次回の'CLEANUP'操作で削除されないCDBをリストします

    リバース・エンジニアリング・ナレッジ・モジュールJDE Enterprise One DB2 UDB

    統合ナレッジ・モジュールJDE Enterprise One Control Append (UBE)

    クリーン・アップの対象にならないホーム

    関連付けられたDB/CDBが1つ以上存在するために次回の'CLEANUP'操作でアンインストールされないOHをリストします

  • CLEANUP

    CLEANUP操作の開始時に、CLEANUPレポートに示されたとおりに対象CDB/OHターゲットの実際の削除/アンインストールが実行されます。

    emcli db_cloud_maintenance -performOperation -purpose="CLEANUP" -pool_name="Pluggable Database Pool" -pool_type="pdbaas_pool" -name="Cleanup CDBs and Homes" -description="Show CLEANUP report and submit CLEANUP operation"

    ノート:

    CLEANUP操作の開始前に、レポートのみを表示する–reportOnly=trueを使用することで、CLEANUPレポートを生成して確認してください。
  • -target_listを指定したCLEANUP

    target_listオプションは、'CLEANUP'操作の対象になる特定のCDBターゲットを削除するために使用します。この場合、target_typeはoracle_databaseまたはrac_databaseになります。

    emcli db_cloud_maintenance -performOperation -purpose="CLEANUP" -pool_name="poolname" -pool_type="pdbaas_pool" -target_list="cdbtemp" -target_type='oracle_database' -name="Cleanup CDBs and Homes" -description="CLEANUP for CDB target" -reportOnly=true

    –reportOnlyフラグは、ターゲットCDBがCLEANUPの対象になるかどうかを確認するために使用します。