AutoUpgradeを使用した非CDBからPDBへのアップグレードの理解

1回の操作で非CDBを新しいCDBのPDBにアップグレードおよび変換するか、非CDBデータベースを既存のCDBのPDBにアップグレードしてから変換できます。

Oracle Database 21c以降では、すべてのアップグレードにマルチテナント・アーキテクチャを使用する必要があります。非CDB Oracle Databaseアーキテクチャの使用はサポートされなくなりました。非CDBアーキテクチャからPDBにデータベースを移行する場合、マルチテナント・ライセンスを必要とせずに、コンテナ・データベース(CDB)で最大3つのユーザー構成可能なPDBを取得します。4つ以上のPDBを構成することを選択する場合は、マルチテナント・ライセンスが必要です。

AutoUpgradeユーティリティの非CDBからPDBへの機能には、マルチテナント・アーキテクチャへのアップグレードおよび変換時に以前のリリースの非CDB Oracle Databaseをアップグレードする方法を制御する柔軟なオプションが用意されています。Oracle Database 21c以降、既存のターゲット・リリースのCDBがある場合、AutoUpgradeを使用して、アップグレード中に非CDBのOracle Databaseをターゲット・リリースのCDBのPDBに変換できるようになりました。非CDBからPDBへのアップグレードおよび変換を実行するには、非CDBに関する情報をAutoUpgrade構成ファイルに指定します。必要に応じて、非CDBのOracle Databaseをソース・リリースのPDBに変換し、PDBをターゲット・リリースのCDBに接続することもできます。この場合、PDBを接続すると、アップグレードが実行されます。

注意:

変換およびアップグレードを完了するためにAutoUpgradeを実行する前に、ソース・データベースの完全なバックアップを作成し、アップグレードの完全なテストを完了することをお薦めします。AutoUpgradeがこのプロシージャを開始した後、非CDBのOracle Database状態にロールバックするオプションはありません。

図4-1 AutoUpgradeを使用した非CDBのPDBへの変換およびPDBのアップグレード

次の図では、非CDB Oracle Databaseは次のステップを実行します。

  1. AutoUpgradeは、構成ファイルに指定された情報を使用してソース・リリースの非CDBデータベースをターゲット・リリースのOracle Databaseに移動します。
  2. ソース・データベースがターゲット・リリースのPDBに変換されます。
  3. ソース・データベース(現在PDB)がターゲット・リリースにアップグレードされます。
図4-1の説明が続きます。
「図4-1 AutoUpgradeを使用した非CDBのPDBへの変換およびPDBのアップグレード」の説明

ソース非CDBおよびターゲットCDBの要件

PDBへのアップグレードおよび変換を実行するためのソース非CDBおよびターゲットCDBの要件は、次のとおりです。

  • AutoUpgradeを使用してアップグレードを実行する前に、ターゲットCDBを作成する必要があります。
  • 非CDBから作成されたPDBは、ソース非CDB名を引き続き使用する必要があります。データベースの名前は変更できません。
  • ターゲット・データベースでのOracle Databaseオプションのセットは、ソース・データベースと同じか、ソース・データベースでのオプションのスーパーセットである必要があります。
  • ソースの非CDBとターゲットのCDBのエンディアン形式が同じであること。
  • ソースの非CDBとターゲットのCDBに、互換性のある文字セットと各国語文字セットがあること。
  • ソース非CDBのOracle Databaseリリースおよびオペレーティング・システム・プラットフォームでは、ターゲットCDBリリースへの直接のアップグレードがサポートされている必要があります。
  • ソースの非CDBおよびターゲットのCDBに対してオペレーティング・システム認証が有効になっていること。

ソース・データベースの最小COMPATIBLEパラメータ設定は12.2.0以上である必要があります。COMPATIBLE設定が低いバージョンの場合、変換およびアップグレード・プロセス中にCOMPATIBLEが12.2.0に設定されます。変換中、元のデータファイルは保持されます。これらは、新しいPDBを作成するためにコピーされません。AutoUpgradeでアップグレードを実行できるようにするには、AutoUpgrade構成ファイルを編集して、AutoUpgradeパラメータtarget_versionをターゲットCDBリリースに設定し、target_cdbを使用して、アップグレードしたデータベースが配置されるCDBを識別します。変換およびアップグレード・プロセスでは、AutoUpgradeはその情報を使用してターゲットCDBへのアップグレードを完了します。

例4-2 非CDBからPDBへの変換のためのAutoUpgrade構成ファイル

非CDBからPDBオプションを使用するには、AutoUpgrade構成ファイルでパラメータtarget_cdbを設定する必要があります。target_cdbパラメータの値は、非CDBのOracleデータベースを接続するコンテナ・データベースのOracleシステム識別子(SID)を定義します。たとえば:

global.autoupg_log_dir=/home/oracle/autoupg
upg1.sid=s12201
upg1.source_home=/u01/product/12.2.0/dbhome_1
upg1.log_dir=/home/oracle/autoupg
upg1.target_home=/u01/product/21.1.0/dbhome_1
upg1.target_cdb=cdb21x

Mike Dietrichのブログ"Upgrade Your Database Now!"にある"Unplug / Plug / Upgrade with AutoUpgrade"というブログ投稿に記載されているマルチテナント・アーキテクチャを使用した、Oracle Database 12c (12.2)からOracle Database 19c(非CDBからPDB)へのアップグレードの詳細な例、およびOracle Database 19cへのAutoUpgrade - CDBとの接続のAutoUpgradeを使用したnoncdb_to_pdb.sqlの自動機能のデモを参照してください。