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は次のステップを実行します。
- AutoUpgradeは、構成ファイルに指定された情報を使用してソース・リリースの非CDBデータベースをターゲット・リリースのOracle Databaseに移動します。
- ソース・データベースがターゲット・リリースのPDBに変換されます。
- ソース・データベース(現在PDB)がターゲット・リリースにアップグレードされます。
「図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の自動機能のデモを参照してください。