プラガブル・データベース(PDB)のパラレル・アップグレードの概要
パラレルの方法を使用して、CDBをアップグレードしてからすぐにパラレルSQLプロセッサを使用してPDBをアップグレードできます。
コンテナ・データベース(CDB)には、0 (ゼロ)、1またはそれ以上のプラガブル・データベース(PDB)を含めることができます。デフォルトでは、パラレル・アップグレード・ユーティリティ(catctl.pl
)は、同じアップグレード・ウィンドウでCDBとそのすべてのPDBを更新します。パラレル・アップグレード・ユーティリティでは、コンピュータ処理単位(CPU)の数を使用して、同時にアップグレードされるPDBの最大数を決定します。パラレルにアップグレードされるPDBの数を求めるには、パラレルSQLプロセス件数(-n
オプション)をパラレルPDB SQLプロセス件数(-N
オプション)で割ります。
注意:
CDBの各PDBが提供するすべてのデータベース・サービスの一般的な停止時間に対応できるアップグレード・ウィンドウを計画する必要があります。
プラガブル・データベースのアップグレード構文
dbupgrade [-M] -n
[-N]
-
-M
: CDB$ROOTをアップグレード・モードで維持するかどうか、またはそれをアップグレードの完了時に使用可能にするかどうかを指定します。-
-M
パラメータを使用してパラレル・アップグレード・ユーティリティを実行する場合、アップグレードでは、CDB$ROOTとそのすべてのPDBがアップグレード・モードになり、合計アップグレード時間が短縮されます。ただし、CDBとそのすべてのPDBがアップグレードされるまで、どのPDBも起動できません。 -
-M
パラメータを使用してパラレル・アップグレード・ユーティリティを実行しない場合、CDB$ROOTがアップグレードされて標準モードで再起動され、標準のバックグラウンド・プロセスが起動されます。アップグレードに成功すると、CDB$ROOTのみが読取り/書込みモードでオープンされます。PDBはすべてMOUNTモードのままです。それぞれのPDBのアップグレード中に、他のPDBのアップグレードが進行中でも各PDBをオンラインにできます。
-
-
-n
: PDBのパラレル・アップグレード・プロセッサの数を指定します。-n
の値を指定しない場合、-n
のデフォルトはCPU_COUNT
の値になります。-n
の値を指定しない場合、その値を使用してパラレルSQLプロセスの数が算出されます。最大値の制限はありません。最小値は4です。 -
-N
では、PDBのアップグレード時に使用するSQLプロセッサの数を指定します。最大値は8です。最小値は1です。-N
の値を指定しない場合、デフォルト値は2になります。 -
同時実行されるPDBアップグレードの最大数は、
-N
の値で割られた-n
の値になります。
次に、PDBのパラレル・アップグレードの方法で使用する手順の概要を示します。
-
バックアップ計画が完了していることを確認します。
-
アップグレード前ツールを実行します。レポートされたエラーをすべて修正します。アップグレード前ツール(
preupgrade.jar
)は、新しいOracle databaseリリースに同梱されています。 -
パラレル・アップグレード・ユーティリティを実行します。次のアップグレードが順番に実行されます。
-
サイクル1: CDB$ROOTが新しいOracleリリースにアップグレードされます
-
サイクル2からサイクルx: PDB$SEEDおよび複数のPDBがパラレルにアップグレードされます(アップグレードのサイクル数は、
-n
で指定したパラメータ設定によって決まります)。
-
-
アップグレード後の手順を完了します。
例1-1 デフォルトを使用したマルチテナント・アーキテクチャのアップグレードの例(パラメータ・セットなし)
このシナリオでは、CPU_COUNT
の値は24です。-n
オプションを使用してPDBのパラレル・プロセッサの値を指定しない場合、PDBのパラレル・プロセッサ(-n
)のデフォルト値は24です。-N
の値を指定しない場合、SQLプロセッサの数(-N
)のデフォルト値は2です。
結果:
12のPDBがパラレルにアップグレードされます(CPU_COUNT
を2で割る、つまり24を2で割る)。各PDBに対して割り当てられたパラレルSQLプロセスが2つあります。
例1-2 64のPDBのパラレル・アップグレード・プロセッサおよび4つのパラレルSQLプロセスを使用したマルチテナント・アーキテクチャのアップグレードの例
このシナリオでは、オプション-n 64
を指定して、PDBのパラレル・アップグレード・プロセッサの値を64に設定します。オプション-N 4
を指定して、パラレルSQLプロセッサの値を4に指定します。
結果:
16のPDBがパラレルにアップグレードされます(64を4で割る)。各PDBに対して4つのパラレルSQLプロセスがあります。
例1-3 20のPDBのパラレル・アップグレード・プロセッサおよび2つのパラレルSQLプロセスを使用したマルチテナント・アーキテクチャのアップグレードの例
このシナリオでは、オプション-n 20
を指定して、PDBのパラレル・アップグレード・プロセッサの値を20に設定します。オプション-N 2
を指定して、パラレルSQLプロセッサの値を2に指定します。
結果:
10のPDBがパラレルにアップグレードされます(20を2で割る)。各PDBに対して2つのパラレルSQLプロセスがあります。
例1-4 10のPDBのパラレル・アップグレード・プロセッサおよび4つのパラレルSQLプロセスを使用したマルチテナント・アーキテクチャのアップグレードの例
このシナリオでは、オプション-n 10
を指定して、PDBのパラレル・アップグレード・プロセッサの値を10に設定します。オプション-N 4
を指定して、パラレルSQLプロセッサの値を4に指定します。
結果:
2つのPDBがパラレルにアップグレードされます(10を4で割る)。各PDBに対して4つのパラレルSQLプロセスがあります。
親トピック: マルチテナント・アーキテクチャのパラレル・アップグレード