exadbcpatchmultiコマンド
exadbcpatchmultiユーティリティを使用して、Exadata Cloud at Customer上のOracle Grid InfrastructureおよびOracle Databaseの補助付きパッチ適用操作を実行できます。 exadbcpatchmultiユーティリティは、各コンピュート・ノードの/var/opt/oracle/exapatchにあります。
ノート:
-
exadbcpatchmultiコマンドには、ルート管理権限が必要です。 このため、パッチ操作を実行するには、コンピュート・ノードにopcユーザーとして接続してrootユーザーのコマンド・シェルを起動する必要があります。 -
exadbcpatchmultiコマンドでは、Exadata Cloud at Customerコンピュート・ノードに含まれるクラウド固有のツールが使用され、特定のパッチでは、特定のバージョンのツールによって提供される機能が必要になる場合があります。 このため、パッチ操作を実行する前に、クラウド・ツールを最新バージョンに更新することをお薦めします。 Exadata Cloud at Customerのクラウド・ツールの更新を参照してください。 -
exadbcpatchmultiコマンドは、Oracle Grid InfrastructureおよびOracle Databaseのパッチでのみ動作します。 これはオペレーティング・システム・パッチとともに使用することはできません。 - 各
exadbcpatchmultiアクションには、dbaascliコマンドを使用して実行できる同等のアクションもあります。 このドキュメントでは、dbaascliコマンド・バリアントについて個別に説明します。
exadbcpatchmultiコマンドの構文は、コマンドの最初の引数として指定する、実行するアクションによって異なります。 次のリストで、使用可能なパッチ適用アクションと各アクションのexadbcpatchmultiコマンドの構文を概説します。 各アクションの詳細な手順および例は、本ドキュメントの別の項で説明します。
-
Oracleホーム・ディレクトリに使用可能なパッチ識別子をリストするには:
# /var/opt/oracle/exapatch/exadbcpatchmulti -list_patches -oh=hostname:oracle_home [-sshkey=sshkey_file] -
パッチを適用する前に前提条件を確認するには:
-
特定のインスタンスの場合:
# /var/opt/oracle/exapatch/exadbcpatchmulti -precheck_async patchid -instance1=hostname1:oracle_home [-instance2=hostname2:oracle_home ...] [-dbnames=dbname[,dbname2 ...]] [-sshkey=sshkey_file] -
データベース名のみを指定する場合:
# /var/opt/oracle/exapatch/exadbcpatchmulti -precheck_async patchid -dbnames=dbname[,dbname2 ...] [-alldbs] [-sshkey=sshkey_file]
-
-
パッチを適用するには:
-
特定のインスタンスの場合:
# /var/opt/oracle/exapatch/exadbcpatchmulti -apply_async patchid -instance1=hostname1:oracle_home [-instance2=hostname2:oracle_home ...] [-dbnames=dbname[,dbname2 ...]] [-run_datasql=(0|1)] [-sshkey=sshkey_file] -
データベース名のみを指定する場合:
# /var/opt/oracle/exapatch/exadbcpatchmulti -apply_async patchid -dbnames=dbname[,dbname2 ...] [-run_datasql=(0|1)] [-alldbs] [-sshkey=sshkey_file]
-
-
Oracleホーム・ディレクトリのパッチ適用操作のステータスをレポートするには:
# /var/opt/oracle/exapatch/exadbcpatchmulti -get_status patchtxn -oh=hostname:oracle_home [-sshkey=sshkey_file] -
以前に適用したパッチまたは失敗したパッチをロール・バックするには:
-
特定のインスタンスの場合:
# /var/opt/oracle/exapatch/exadbcpatchmulti -rollback_async patchid -instance1=hostname1:oracle_home [-instance2=hostname2:oracle_home ...] [-dbnames=dbname[,dbname2 ...]] [-run_datasql=(0|1)] [-sshkey=sshkey_file] -
データベース名のみを指定する場合:
# /var/opt/oracle/exapatch/exadbcpatchmulti -rollback_async patchid -dbnames=dbname[,dbname2 ...] [-run_datasql=(0|1)] [-alldbs] [-sshkey=sshkey_file]
-
次の表で、exadbcpatchmultiコマンドの構文に示した引数について説明します。
| 引数 | 説明 |
|---|---|
|
|
事前確認、適用またはロール・バックするパッチを指定します。 Oracleホーム・ディレクトリに適用可能なパッチ識別子をリストするには、 |
|
|
指定したパッチ適用アクションのターゲットであるコンピュート・ノードおよびOracleホーム・ディレクトリを指定します。 このコンテキストでは、Oracleホーム・ディレクトリは、Oracle Databaseホーム・ディレクトリまたはOracle Grid Infrastructureホーム・ディレクトリになります。 このオプションを指定する場合、パッチを適用するノードおよびOracleホーム・ディレクトリの場所を明示的に指定します。 1つのコマンドを使用してすべてのノードにパッチを適用することも、1回の実行で一部のノードにパッチを適用し、後で残りにパッチを適用することもできます。 この引数を使用して共有Oracleホーム・ディレクトリを指定し、 |
|
|
指定したパッチ適用アクションのターゲットであるデータベースのデータベース名を指定します。 この引数を使用して共有Oracleホームを使用するデータベースにパッチを適用し、 |
|
|
指定したパッチ適用操作を、 |
|
|
この引数を使用して、パッチまたはロール・バック操作に関連付けられたSQLコマンドの実行を制御します:
引数が指定されていない場合、パッチ関連のSQLがデフォルトで実行されます。これは パッチに関連付けられたSQLコマンドは、すべてのコンピュート・ノードにパッチが適用されるかロール・バックされた後にのみ実行する必要があります。 ノードの一部にパッチ適用またはロール・バックし、それ以外のノードはまだパッチ適用またはロール・バックしない場合は、必ず この引数は、一連のコンピュート・ノードに作用するパッチ適用またはロール・バック操作で使用する場合にのみ指定できます。 すべてのノードへのパッチ適用またはロール・バックを行い、この引数を指定しなかった場合は、パッチ適用またはロール・バック操作に関連付けられているSQLコマンドを手動で実行する必要があります。これには、通常、Oracle Database 11gの場合は |
|
|
適用可能なパッチの検索またはパッチ適用操作の現在のステータスのレポートに使用されるコンピュート・ノードおよびOracleホーム・ディレクトリの場所を指定します。 このコンテキストでは、Oracleホーム・ディレクトリは、Oracle Databaseホーム・ディレクトリまたはOracle Grid Infrastructureホーム・ディレクトリになります。 |
|
|
クラスタ内のコンピュート・ノードへの接続に使用される、 通常このファイルは |
|
|
この引数は、Oracleホーム・ディレクトリのパッチ適用操作のステータスをレポートするためにのみ使用されます。 確認対象のパッチ適用操作の識別子を指定します。 識別子は、事前確認、パッチ適用またはロール・バック操作の開始直後に端末に出力され、ログ・ファイルにも記録されます。 |
exadbcpatchmultiコマンドを実行すると、そのアクティビティが/var/opt/oracle/log/exadbcpatch/exadbcpatch.logのログ・ファイルに記録されます。 以前のパッチ適用操作のログ・ファイルは同じディレクトリに保持され、各ログ・ファイルの名前にはタイムスタンプが含まれます。