プラガブル・データベース(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のパラレル・アップグレードの方法で使用する手順の概要を示します。

  1. バックアップ計画が完了していることを確認します。

  2. アップグレード前ツールを実行します。レポートされたエラーをすべて修正します。アップグレード前ツール(preupgrade.jar)は、新しいOracle databaseリリースに同梱されています。

  3. パラレル・アップグレード・ユーティリティを実行します。次のアップグレードが順番に実行されます。

    1. サイクル1: CDB$ROOTが新しいOracleリリースにアップグレードされます

    2. サイクル2からサイクルx: PDB$SEEDおよび複数のPDBがパラレルにアップグレードされます(アップグレードのサイクル数は、-nで指定したパラメータ設定によって決まります)。

  4. アップグレード後の手順を完了します。

例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プロセスがあります。