ロールバック操作
ロールバック・コマンドは、更新操作の完了後にデータベースを元のOracleホームに戻すために使用します。
ノート:
- リスナーがカスタムの場所にある場合は、ロールバック操作を実行する前に、その場所をTNS_ADMIN環境変数に設定します。その後、エージェントを再起動して、これらの操作を続行します。
- データベースまたはRACのロールバック時に静的エントリを更新する必要がある場合、
listener.ora
がグリッドOracleホームのデフォルトの場所(GI_HOME/network/admin
)にあると、通常資格証明(DBホーム所有者など)は機能しません。これは、ファイルの所有者がGridホームの所有者であるためです。ファイルに、少なくともグループ・レベルでデータベースとGridのOracleホーム・ユーザーの両方によって変更される権限があることを確認してください。 - Enterprise Manager 13.5リリース更新19 (13.5.0.19)以降では、単一インスタンス・データベースまたはRACデータベースでのUPDATE/ROLLBACK操作の前後に、デプロイメント・プロシージャのアクティビティ・ログに、検出された無効なオブジェクトの数が含まれます。
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"
を使用します。Enterprise Manager 13.5リリース更新2から、 –is_virtual_account="true"
または–is_builtin_account="true"
アカウントを使用することもできます。
例:
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"
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" –is_virtual_account="true"
-database_credential="SYSDBA:SYSMAN"
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" is_builtin_account="true"
-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
操作にのみ使用されるオプションのフラグです。