exadbcpatchmultiコマンドを使用して、パッチまたは失敗したパッチの適用の試行をロールバックできます。
パッチのロールバック操作について次に示します。
1つのコマンドを使用して一部またはすべての計算ノードでパッチをロールバックするために使用できます。
複数ノードの操作をローリング方法で調整します。
クラスタ内のすべての計算ノードでパッチをロールバックした後、ロールバック関連のSQLを実行できます。
次のようにしてexadbcpatchmultiコマンドを使用してパッチのロールバック操作を実行できます。
opcユーザーとして、計算ノードに接続します。
詳細な手順は、Secure Shell (SSH)経由での計算ノードへの接続を参照してください。
rootユーザーのコマンド・シェルを起動します。
$ sudo -s
#
-rollback_asyncアクションを指定してexadbcpatchmultiコマンドを実行します。
# /var/opt/oracle/exapatch/exadbcpatchmulti -rollback_async patchid
-sshkey=sshkey_file
-instance1=hostname:oracle_home1[,oracle_home2 ...]
[-instance2=hostname:oracle_home1[,oracle_home2 ...] ...]
[-run_datasql=1]
説明:
patchidは、ロールバックするパッチを識別します。
-sshkeyでは、クラスタ内の計算ノードへの接続に使用される、opcユーザーのSSH秘密鍵の場所を指定します。
-instanceNでは、ロールバック操作の対象となる計算ノードおよび1つ以上のOracleホーム・ディレクトリを指定します。 このコンテキストでは、Oracleホーム・ディレクトリは、Oracle Databaseホーム・ディレクトリまたはOracle Grid Infrastructureホーム・ディレクトリになります。
-run_datasql=1は、exadbcpatchmultiコマンドにロールバック関連のSQLコマンドを実行するよう指示します。
注意:
ロールバック関連SQLは、すべての計算ノードがロールバックされた後でのみ実行されます。 したがって、一部のノードをロールバックし、それ以外のノードはまだロールバックしない場合、この引数を指定しないよう注意してください。注意:
この引数は、計算ノードのセットに対するロールバック操作との組合せでのみ指定できます。 したがって、すべてのノードをロールバックし、この引数を指定しなかった場合、ロールバック操作に関連するSQLコマンドを手動で実行する必要があります。 詳細は、パッチのドキュメントを参照してください。次に例を示します。
# /var/opt/oracle/exapatch/exadbcpatchmulti -rollback_async 34567890
-sshkey=/home/opc/.ssh/id_rsa
-instance1=hostname1:/u01/app/12.1.0.2/grid
-instance2=hostname2:/u01/app/12.1.0.2/grid
-run_datasql=1
rootユーザーのコマンド・シェルを終了します。
# exit
$