機械翻訳について

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コマンドの構文に示した引数について説明します。

引数 説明

patchid

事前確認、適用またはロール・バックするパッチを指定します。

Oracleホーム・ディレクトリに適用可能なパッチ識別子をリストするには、-list_patchesアクションを指定してexadbcpatchmultiコマンドを実行します。

-instanceN = hostname:oracle_home

指定したパッチ適用アクションのターゲットであるコンピュート・ノードおよびOracleホーム・ディレクトリを指定します。 このコンテキストでは、Oracleホーム・ディレクトリは、Oracle Databaseホーム・ディレクトリまたはOracle Grid Infrastructureホーム・ディレクトリになります。

このオプションを指定する場合、パッチを適用するノードおよびOracleホーム・ディレクトリの場所を明示的に指定します。 1つのコマンドを使用してすべてのノードにパッチを適用することも、1回の実行で一部のノードにパッチを適用し、後で残りにパッチを適用することもできます。

この引数を使用して共有Oracleホーム・ディレクトリを指定し、-dbnames引数を指定しない場合、パッチ適用アクションは指定したOracleホームを共有するすべてのデータベースに適用されます。

-dbnames = dbname[,dbname2 ...]

指定したパッチ適用アクションのターゲットであるデータベースのデータベース名を指定します。

この引数を使用して共有Oracleホームを使用するデータベースにパッチを適用し、-alldbsオプションを指定しない場合、パッチが適用されたOracle Databaseバイナリを含む新しいOracleホームが作成され、データベースが新しいOracleホームに移動されます。

-alldbs

指定したパッチ適用操作を、-dbnames引数で指定したデータベースと同じOracle Databaseバイナリ(Oracleホーム)を共有するすべてのデータベースに適用することを指定します。

-run_datasql = (0|1)

この引数を使用して、パッチまたはロール・バック操作に関連付けられたSQLコマンドの実行を制御します:

  • -run_datasql=1は、パッチまたはロール・バック操作に関連付けられたSQLコマンドを実行します。

  • -run_datasql=0は、パッチまたはロール・バック操作に関連付けられたSQLコマンドを実行しません。

引数が指定されていない場合、パッチ関連のSQLがデフォルトで実行されます。これは-run_datasql=1と同等です。

パッチに関連付けられたSQLコマンドは、すべてのコンピュート・ノードにパッチが適用されるかロール・バックされた後にのみ実行する必要があります。 ノードの一部にパッチ適用またはロール・バックし、それ以外のノードはまだパッチ適用またはロール・バックしない場合は、必ず-run_datasql=0を指定してください。

この引数は、一連のコンピュート・ノードに作用するパッチ適用またはロール・バック操作で使用する場合にのみ指定できます。 すべてのノードへのパッチ適用またはロール・バックを行い、この引数を指定しなかった場合は、パッチ適用またはロール・バック操作に関連付けられているSQLコマンドを手動で実行する必要があります。これには、通常、Oracle Database 11gの場合はcatbundle.sqlスクリプト、Oracle Database 12c以降の場合はdatapatchユーティリティの実行が含まれます。 詳細は、パッチのドキュメントを参照してください。

-oh = hostname:oracle_home

適用可能なパッチの検索またはパッチ適用操作の現在のステータスのレポートに使用されるコンピュート・ノードおよびOracleホーム・ディレクトリの場所を指定します。 このコンテキストでは、Oracleホーム・ディレクトリは、Oracle Databaseホーム・ディレクトリまたはOracle Grid Infrastructureホーム・ディレクトリになります。

-sshkey = sshkey_file

クラスタ内のコンピュート・ノードへの接続に使用される、opcユーザーに関連付けられるSSH秘密キーを指定します。

通常このファイルは/home/opc/.ssh/id_rsaにあります。

patchtxn

この引数は、Oracleホーム・ディレクトリのパッチ適用操作のステータスをレポートするためにのみ使用されます。 確認対象のパッチ適用操作の識別子を指定します。

識別子は、事前確認、パッチ適用またはロール・バック操作の開始直後に端末に出力され、ログ・ファイルにも記録されます。

exadbcpatchmultiコマンドを実行すると、そのアクティビティが/var/opt/oracle/log/exadbcpatch/exadbcpatch.logのログ・ファイルに記録されます。 以前のパッチ適用操作のログ・ファイルは同じディレクトリに保持され、各ログ・ファイルの名前にはタイムスタンプが含まれます。