マルチテナント・アーキテクチャのOracle Databaseの手動アップグレード・シナリオ
手動アップグレードの準備のために、マルチテナント・アーキテクチャでデプロイされたOracle Databaseの手動アップグレード・シナリオおよび手順を参照してください。
Oracle Database 12c以上では、マルチテナント・アーキテクチャによって、プラガブル・データベース(PDB)を含むマルチテナント・コンテナ・データベース(CDB)を使用したOracle Databaseデプロイメントが可能になります。Oracle Database 12cリリース1 (12.1.0.1)より前のすべてのOracle Databaseリリースでは、非CDBアーキテクチャを使用します。
注意:
COMPATIBLE初期化パラメータを12.1.0.2以上のリリースに設定した後は、データベースをダウングレードできません。プラガブル・データベース(PDB)のダウングレードは、互換性が12.1.0.1に設定されている場合にのみ可能です。それでもダウングレードが制限される可能性があります。
アップグレードを開始する前およびダウングレードを開始する前に、ソース・データベースとターゲット・データベースを最新のバンドル・パッチ・セット更新(BP、PSU)にアップグレードすることを強くお薦めします。
- Oracle Multitenant Oracle Databaseのアップグレードについて
マルチテナント・アーキテクチャにインストールされたOracle Databaseをパラレルに、または順番にアップグレードできます。 - マルチテナント・アップグレードを使用したプロキシPDBのアップグレードの調整
プロキシPDBとPDBターゲットのバージョンが同じになるようにCDBのアップグレードを調整します。 - マルチテナント・コンテナOracle Database (CDB)の手動でのアップグレード
この項のステップでは、コマンドライン・プロシージャを使用してCDBを手動でアップグレードするためのステップを示します。 - 優先度リスト付きのパラレル・アップグレード・ユーティリティを使用したPDBのアップグレードについて
Oracle Database 12.2以降では、あるPDBのセットを他のPDBより先にアップグレードするように優先度リストを使用してPDBをアップグレードできます(このアップグレード優先度は変更できます)。 - 優先度リスト、包含リストおよび除外リストを使用したPDBのアップグレードについて
Oracle Database 12cリリース2 (12.2)以上では、優先度リスト付きの包含リストおよび除外リストを使用して、PDBのアップグレード方法を制御できます。 - マルチテナント・アーキテクチャのパラレル・アップグレード
この方法を使用して、コンテナ・データベース(CDB)をアップグレードしてから複数のプラガブル・データベース(PDB)をパラレルにアップグレードして、マルチテナント・アーキテクチャOracle Databaseリリース(Oracle Database 12cリリース1 (12.1.0.1)以降)をアップグレードします。 - 切断/接続を使用したマルチテナント・アーキテクチャの順次アップグレード
以前のリリースのマルチテナント・コンテナ・データベース(CDB) (Oracle Databaseリリース12c (12.1.0.1)以降)に存在するプラガブル・データベース(PDB)をアップグレードするには、以前のリリースのCDBからPDBを切断し、そのPDBを新しいリリースのCDBに接続できます。
参照:
マルチテナント・アーキテクチャの概要については、『Oracle Database概要』を参照してください。
CDBの作成と構成の詳細は、『Oracle Database管理者ガイド』を参照してください。
親トピック: Oracle Databaseのアップグレード
Oracle Multitenant Oracle Databaseのアップグレードについて
マルチテナント・アーキテクチャにインストールされたOracle Databaseをパラレルに、または順番にアップグレードできます。
Oracle Database 12cリリース1 (12.1)以上では、コンテナ・データベース(CDB)のプラガブル・データベース(PDB)の作成および管理ができるマルチテナント・アーキテクチャが提供されます。マルチテナント・アーキテクチャ・システムをアップグレードするには、Oracle Database Upgrade Assistant (DBUA)を使用するか、またはパラレル・アップグレード・ユーティリティを使用して手動アップグレードを実行します。
マルチテナント・アーキテクチャを使用するOracle Databaseをアップグレードする場合、次の2つの方法があります。
-
並行。この方法では、CDBをアップグレードする1つのアップグレード操作を実行してから、複数のPDBをパラレルにアップグレードします。
-
順次。この方法では、新しいリリースのCDBをインストールし、PDBを準備して以前のリリースのCDBから切断し、新しいリリースのCDBに接続して、各PDBのアップグレードを完了します。
次の項では、各アップグレード方法の概要について説明します。
Oracle Multitenantのパラレル・アップグレード
パラレルの方法では、パラレル処理と可用性の程度を設定するパラメータを使用して、パラレル・アップグレード・ユーティリティ(catctl.pl)で最初にCDB$ROOTをアップグレードします。
-
-n
パラメータは、アップグレードを実行するパラレル処理の数を定義します(最大8)。 -
-M
パラメータは、アップグレード全体を通じてCDB$ROOTをUPGRADEモードのままにするか、CDBのアップグレードの完了後にアクセス可能にするかを指定します。-M
パラメータを使用してアップグレードを実行しない場合、CDB$ROOTのアップグレードが完了すると、PDBは、各PDBのアップグレードが完了すると同時にアクセスできるようになります。-Mパラメータを使用してアップグレードを実行する場合、CDB$ROOTはUPGRADEモードのままとなり、PDBは、すべてのPDBのアップグレードが完了するまで使用できません。
Oracle Multitenantの順次アップグレード
順次の方法では、新しいリリースのマルチテナント・アーキテクチャCDBをインストールします。次に、以前のリリースのマルチテナント・アーキテクチャCDBで、SQLコマンドを発行してアップグレード前スクリプトを実行し、アップグレードする1つ以上のPDBを準備してからそれらを停止します。その後、PDBを切断し、それらを新しいリリースのマルチテナント・アーキテクチャCDBに接続して、PDBごとに順番にアップグレードを完了します。
マルチテナント・アップグレードを使用したプロキシPDBのアップグレードの調整
プロキシPDBとPDBターゲットのバージョンが同じになるようにCDBのアップグレードを調整します。
アップグレード時には、プロキシPDBをアップグレードしても、それに対応するターゲットPDBはアップグレードされません。ターゲットPDBのアップグレードは個別に実行する必要があります。
マルチテナント・コンテナOracle Database (CDB)の手動でのアップグレード
この項のステップでは、コマンドライン・プロシージャを使用してCDBを手動でアップグレードするためのステップを示します。
この手順を使用する前に、次のステップを完了しておく必要があります。
-
新しいリリースのOracle Databaseソフトウェアのインストール
-
新しいOracleホームを準備します。
-
アップグレード前情報ツールの実行
Oracle Database 12cでは、Oracle Databaseをプラガブル・データベースを含むマルチテナント・コンテナ・データベース(CDB)として機能させることができるマルチテナント・アーキテクチャが導入されています。DBUAを使用してCDBをアップグレードできますが、その処理で、CDBに連結されているすべてのプラガブル・データベースを同時にアップグレードします。または、Oracle Databaseのソフトウェアをインストールして新しいOracleホームを準備した後に、手動のコマンドライン・アップグレードに進むことができます。
-
アップグレード前情報ツールをまだ実行していない場合、実行します。次に進む前に、アップグレード前情報ツールの出力を確認して、出力に記載されているすべての問題を修正します。
-
ソース・データベースをバックアップします。
-
新しいOracleホームをまだ準備していない場合、準備します。
-
(条件付き) Oracle RAC環境の場合のみ、次のコマンドを入力して、CLUSTER_DATABASEの初期化パラメータ値をFALSEに設定します。
ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;
CLUSTER_DATABASEパラメータを変更した後にデータベースを再起動します。
-
データベースを停止します。(構文は、非CDBとCDBで同じです。)
SQL> SHUTDOWN IMMEDIATE
ノート:
PDBを閉じるには、CDBルートから次のように指定できます:
alter pluggable database PDBname close
-
ご使用のオペレーティング・システムがWindowsの場合、次のステップを実行します。
-
アップグレードするデータベースのOracleサービス
OracleService SID
を停止します(SID
はインスタンスの名前です)。たとえば、SID
がORCL
の場合、コマンド・プロンプトで次のように入力します。C:\> NET STOP OracleServiceORCL
-
コマンド・プロンプトで、
ORADIM
を使用してOracleサービスを削除します。自分の
SID
がORCL
の場合、SID
を自分のSIDに置き換えて次のコマンドを入力します。C:\> ORADIM -DELETE -SID ORCL
-
コマンド・プロンプトで新しいOracle Databaseリリースの
ORADIM
コマンドを使用して、新しいリリースのOracle Databaseのサービスを作成します。次に例を示します。
C:\> ORADIM -NEW -SID SID -SYSPWD PASSWORD -MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME\DATABASE\INITSID.ORA
ほとんどのOracle Databaseサービスは、Oracleホーム・ユーザーの権限を使用してシステムにログオンします。サービスは、このユーザーの権限を使用して実行されます。
ORADIM
コマンドは、このユーザー・アカウントのパスワードを要求します。ORADIM
を使用して、他のオプションを指定できます。この例で、
SID
の値がORCL
、password
(SYSPWD
)の値がTWxy5791
、ユーザーの最大数(MAXUSERS
)の値が10、およびOracleホーム・パスがC:\ORACLE\PRODUCT\18.1.0\DB
の場合、次のコマンドを入力します。C:\> ORADIM -NEW -SID ORCL -SYSPWD TWxy5791 -MAXUSERS 10 -STARTMODE AUTO -PFILE C:\ORACLE\PRODUCT\18.1.0\DB\DATABASE\INITORCL.ORA
ORADIM
によって、ORACLE_HOME\database
ディレクトリにログが書き込まれます。ログ・ファイルには、マルチテナント・データベース内のPDBの名前が含まれています。
-
-
ご使用のオペレーティング・システムがLinuxまたはUNIXの場合は、次の内容を確認します。
-
ORACLE_SID
が正しく設定されていること。 -
oratab
ファイルがOracle Database 12cのOracleホームを指していること。 -
次の環境変数がOracle Database 12cのディレクトリを指していること。
-
ORACLE_HOME
-
PATH
-
-
クライアントで
$ORACLE_HOME
環境変数を設定するために使用するどのスクリプトも、新しいOracleホームを指している必要があります。
ノート:
Oracle Real Application Clustersデータベースをアップグレードする場合、Oracle Real Application Clustersデータベースでインスタンスが構成されているすべてのノードでこれらのチェックを実行してください。
参照:
ご使用のオペレーティング・システムでのその他の重要な環境変数の設定に関する詳細は、Oracle DatabaseおよびOracle Clusterwareのインストレーション・ガイドを参照してください
-
-
新しいOracle DatabaseリリースのOracleホームの所有者として、システムにログインします。
-
新しいOracleホームのパス
Oracle_home/rdbms/admin
ディレクトリからSQL*Plusを起動します。次に例を示します。
$ cd $ORACLE_HOME/rdbms/admin $ pwd /u01/app/oracle/product/18.0.0/dbhome_1/rdbms/admin $ sqlplus
Windowsプラットフォームでは、SQL*Plusにアクセスするには、ディレクトリを
%ORACLE_HOME%/bin
に変更します -
SYSDBA権限を持つアカウントを使用して、アップグレードするデータベースに接続します。
SQL> CONNECT / AS SYSDBA
-
アップグレード・モードでCDBを開始します。
SQL> startup upgrade
-
SQL*Plusで次のコマンドを発行して、インスタンスを起動します。
SQL> alter pluggable database all open upgrade;
サポートが終了した初期化パラメータを示すエラーが表示された場合は、そのサポートが終了した初期化パラメータをノートにとり、アップグレードを継続します。次回、データベースを停止したときに、そのサポートが終了した初期化パラメータを削除します。
ノート:
UPGRADE
モードでデータベースを起動すると、次のことが実行されます。-
新しいバージョンのOracle Databaseインスタンスを使用してデータベースが起動されます
-
ログインがSYSDBAに限定されます
-
システム・トリガーが無効になります
-
アップグレード用にデータベースを準備する追加操作が実行されます
-
-
SQL*Plusを終了したら、次のステップに進みます。
次に例を示します。
SQL> EXIT
-
CDB全体をアップグレードするには、パラレル・アップグレード・ユーティリティ(
catctl.pl
)を新しいOracleホームから実行します。パラレル・アップグレード・ユーティリティでは、停止時間を短縮するパラレル・アップグレード・オプションが提供されます。コマンドライン・スクリプトdbupgrade
を使用して、新しいOracleホームからコマンドを実行できます。次に例を示します。
Linuxの場合:
cd $ORACLE_HOME/bin ./dbupgrade
Windowsの場合:
cd %ORACLE_HOME%\bin dbupgrade
ノート:
-
-d
オプションを使用して、処理対象のファイルが含まれるディレクトリを指定します。-l
オプションを使用して、スプール・ログ・ファイルに使用するディレクトリを指定します。 -
CDB全体をアップグレードしており、CDB$ROOTにエラーがある場合、アップグレードは強制終了されます。
-
-
CDB内のPDBのサブセットをアップグレードするために、包含リストまたは除外リストのいずれかを指定します。
-
LinuxまたはUNIXシステム用の次の例では、包含リストを使用して
PDB1
のみをアップグレードします。cd $ORACLE_HOME/bin ./dbupgrade -c 'PDB1'
-
Windowsシステム用の次の例では、除外リストを使用して
PDB1
を除くCDB内のすべてをアップグレードします。cd $ORACLE_HOME\bin dbupgrade -C "PDB1"
ノート:
個別のPDBは、以前のリリースのCDBから切断し、それよりも新しいリリースのCDBに接続することによりアップグレードできます。
Windowsの場合、包含オプション(
-c
)または除外オプション(-C
)を指定してdbupgrade
コマンドを実行するときに、CDBルート名およびPDBシード名を引用符で囲んでオプションを指定する必要があります。次に例を示します。
...
-C "CDB$ROOT PDB$SEED"
-
-
CDBでは、SYSDBAとしてCDBにログインし、コマンドalter pluggable database all openを実行してデータベースでコードを再コンパイルできるようにします。次に例を示します。
$ sqlplus / as sysdba SQL> alter pluggable database all open;
-
catcon.pl
を実行します。このコマンドはutlrp.sql
を起動し、残っているストアドPL/SQLおよびJavaコードを再コンパイルします。次に例を示します。
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -e -b utlrp -d '''.''' utlrp.sql
-b utlrp0
を使用してコマンドを実行しているため、ログ・ファイルutlrp0.log
は再コンパイルの結果が付いて生成されます。 -
postupgrade_fixups.sql
を実行します。次に例を示します。
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -e -b postupgrade_fixups -d '''.''' postupgrade_fixups.sql
-
utlu122s.sql
を実行します。このコマンドは、すべての問題が修正されたことを検証します。たとえば、CDBでは次のようになります。
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -e -b utlu122s -d '''.''' utlu122s.sql
-b utlu122s
を使用してコマンドを実行しているため、ログ・ファイルutlu122s0.log
はアップグレードの結果が付いて生成されます。upg_summary.log
ファイルを確認して、アップグレード・レポートを確認できます。データベースの状態に関する情報を確認するには、アップグレードの完了後、いつでも必要な回数だけ
utlu122s.sql
を実行します。utlu122s.sql
スクリプトがエラーを返したり、VALID
としてマークされていないコンポーネントを表示した場合や、実行したSQLスクリプトが最新のリリースではない場合、このガイドのトラブルシューティングに関する項を参照してください。 -
DBMS_DST
PL/SQLパッケージを使用してタイムゾーン・ファイルをアップグレードし、タイムゾーン・データファイルを最新の状態にします。アップグレード後にタイム・ゾーンを更新することもできます。タイムゾーンを更新する場合は、CDB$ROOT
とPDBの両方でタイムゾーンを更新する必要があります。 -
SQL*Plusを終了します。
次に例を示します。
SQL> EXIT
-
(条件付き) Oracle Real Application Clustersデータベースをアップグレードする場合、次のコマンド構文を使用して、Oracle Clusterwareのデータベース構成をアップグレードします。
$ srvctl upgrade database -db db-unique-name -oraclehome oraclehome
この例で、
db-unique-name
は(インスタンス名ではなく)割り当てられたデータベース名であり、oraclehome
は、データベースがアップグレードされるOracleホームの場所です。SRVCTL
ユーティリティでは、以前のリリースで使用されていた短いCLIオプションに加えて、GNUスタイルの長いオプションもサポートされます。
これで、データベースがアップグレードされました。アップグレード後の手順を完了する準備が整いました。
注意:
古いOracleソフトウェアを保持している場合、古いソフトウェアを使用してアップグレードしたデータベースを起動しないでください。必ず新しいOracle Databaseホームで起動コマンドを使用してOracle Databaseを起動します。
古いOracle環境を削除する前に、その環境のデータファイルをすべて新しいOracle Database環境に再配置してください。
参照:
データファイルの再配置の詳細は、『Oracle Database管理者ガイド』を参照してください
優先度リスト付きのパラレル・アップグレード・ユーティリティを使用したPDBのアップグレードについて
Oracle Database 12.2以降では、あるPDBのセットを他のPDBより先にアップグレードするように優先度リストを使用してPDBをアップグレードできます(このアップグレード優先度は変更できます)。
優先度リストにより、その優先度に従ってPDBをグループ化してアップグレードできます。優先度リストは、アップグレード優先度の順序(数値の優先度グループ別のPDB)を定義するカンマ区切りリストが含まれたテキスト・ファイルです。優先度リストを使用してアップグレードを実行し、アップグレード実行時にそのリストを呼び出すには、-L
オプションを使用してパラレル・アップグレード・ユーティリティ(dbupgrade
、dbupgrade.cmd
またはcatctl.pl
)を実行します。
次の書式を使用してリストを作成します。この書式例で、変数numeralは数値で、pdbxはPDBの名前です。
Number, Pdb
numeral,pdb1,pdb2,pdb3
numeral,pdb4
numeral,pdb5,pdb6,pdb7,pdb8
.
.
.
数値はPDBの優先度を表します。
PDBの優先度は次のとおりです。
-
CDB$ROOT: 優先度1。コンテナ・データベースを最初にアップグレードすることは、必須の優先度です。コンテナ・データベースのアップグレードの優先度を変更することはできません。CDB$ROOTは、常に最初に処理されます。
-
PDB$SEED: 優先度1。PDBシード・データベースをアップグレードすることは、必須の優先度です。PDBシードのアップグレードの優先度を変更することはできません。PDB$SEEDは、常にCDB$ROOTの後に、PDBアップグレードの最初のバッチとともにアップグレードされます。
-
優先度リスト1のPDB: 優先度1は、ユーザー選択による最高の優先度です。これらのPDBは、CDB$ROOTの後で、PDB$SEED PDBがアップグレードされるバッチで2番目にアップグレードされます。
-
優先度リスト2のPDB: 優先度2は、2番目に高い優先度のPDBセットです。これらのPDBは、優先度1のPDBの後にアップグレードされます。
-
優先度リスト3のPDB: 優先度3は、3番目に高い優先度のPDBセットです。これらのPDBは、優先度2のPDBの後にアップグレードされます。
-
優先度リスト4のPDB: 優先度4は、4番目に高い優先度のPDBセットです。これらのPDBは、優先度3のPDBの後にアップグレードされます。
-
優先度リスト5のPDB: 優先度5は、5番目に高い優先度のPDBセットです。これらのPDBは、優先度4のPDBの後にアップグレードされます。
-
優先度リスト6のPDB: 優先度6は、6番目に高い優先度のPDBセットです。これらのPDBは、優先度7のPDBの後にアップグレードされます。
パラレル・アップグレード・ユーティリティを実行する場合、次の処理ルールが適用されます。
-
CDB$ROOTおよびPDB$SEEDは、優先度リストに存在しない場合でも、常に最初に処理されます。
-
優先度リストに含まれるすべてのPDBは、優先度の順序で処理されます
-
優先度リストに指定されていないPDBは、優先度リストに指定されているPDBの後に処理されます。
次に例を示します。
Number,Pdb
1,sales1,region2,receivables1
2,sales2
3,dss1,region3,region2,dss2,dss3
優先度リストを使用してパラレル・アップグレード・ユーティリティを実行するには、次の構文を使用します。
dbupgrade -L priority_list_name
たとえば、パラレル・アップグレード・ユーティリティのバッチ・コマンドとMy122Upgrade
という名前の優先度リストを使用して、Windowsシステムでパラレル・アップグレード・ユーティリティを実行するには、次のコマンドを入力します。
C:>\u01\app\18.1.0\db_home1\rdbms\admin\dbupgrade -L MyUpgrade
アップグレード優先度を設定する優先度リストを使用したアップグレードを完了した後、それらのPDB優先度の状態は、各PDB用にCDBで維持されます。次回のアップグレードでは、以前のアップグレードでPDB用に設定された優先度が考慮されます。
PDBのアップグレード優先度の状態を変更するには、次のSQLコマンド構文を使用します(PDBName
は変更するアップグレード優先度が設定されたPDBの名前で、PDBPriorityNumber
は割り当てる新しい優先度の値です)。
SQL> alter session set container = CDB$ROOT SQL> alter pluggable database PDBName upgrade priorityPDBPriorityNumber
次に例を示します。
SQL> alter session set container = CDB$ROOT
SQL> alter pluggable database region2 upgrade priority 2
この例によって、前の例でアップグレード優先度1に設定されたregion 2という名前のPDBは、アップグレード優先度2に変更されます。
優先度リスト、包含リストおよび除外リストを使用したPDBのアップグレードについて
Oracle Database 12cリリース2 (12.2)以上では、優先度リスト付きの包含リストおよび除外リストを使用して、PDBのアップグレード方法を制御できます。
アップグレード処理およびリスト
次の用語は、アップグレードのリスト処理のタイプを示します。
-
優先度リスト: リスト内のPDBのアップグレード優先度を指定するカンマ区切りリスト。
-
包含リスト: アップグレードするPDBを指定するカンマ区切りリスト。これらのリストのPDBは、優先度リストに指定されたPDBの後にアップグレードされます。
-
除外リスト: アップグレードしないPDBを指定するカンマ区切りリスト。
包含リストと除外リストは、次のように使用できます。
-
アップグレードで独自にPDBのセットを含めたり除外することができます
-
優先度リストと組み合せて、PDBのアップグレード順やアップグレードから除外するPDBを詳細に指定できます。
包含リストを優先度リストと組み合せて使用すると、包含リストに指定されたPDBは、優先度リストで割り当てられている優先度の値に従ってアップグレードされます。包含リストに指定されているが、優先度リストに指定されていないPDBは、優先度リストのすべてのPDBがアップグレードされた後にアップグレードされます。
除外リストを優先度リストと組み合せて使用すると、除外リストに指定されたPDBは、アップグレードされません。
ノート:
LinuxやUNIXのvi
やWindowsのメモ帳などのプレーン・テキスト・エディタを使用して優先度リストを作成します。
このトピックの例では、cpu_count
の値は2です。
デフォルト処理を使用するアップグレード優先度
デフォルト処理は、リストを使用してCDB内のPDBをアップグレードする方法を指定しない場合に実行されるアップグレード処理です。
デフォルト処理では、CDB$ROOTがアップグレードされ、次にPDB$SEEDがアップグレードされます。設定した並列度に応じて、1つ以上のPDBをPDB$SEEDとパラレルに更新できます。アップグレードが完了し、アップグレード・プロセッサが使用可能になると同時にPDBがアップグレードされます。
後続の例では、CDBおよびPDBで次のマルチテナント構成を使用します。
CDB$ROOT
PDB$SEED
CDB1_PDB1
CDB1_PDB2
CDB1_PDB3
CDB1_PDB4
CDB1_PDB5
デフォルト処理では、アップグレードするPDBやアップグレードから除外するPDBのプリファレンスは指定しません。デフォルト処理では、CDB$ROOTが最初にアップグレードされ、アップグレードされるPDBの最初のグループでPDB$SEEDが更新されます。
例3-30 完全なPDBアップグレード優先度の指定
次の優先度リストの例では、すべてのPDBの優先度がリストで設定されます。
1,CDB$ROOT
1,PDB$SEED
1,CDB1_PDB1
1,CDB1_PDB2
2,CDB1_PDB3
2,CDB1_PDB4
3,CDB1_PDB5
次に、優先度順にPDBをグループ化する同じリストの別の記述方法を示します。
1,CDB$ROOT
1,PDB$SEED
1,CDB1_PDB1,CDB1_PDB2
2,CDB1_PDB3,CDB1_PDB4
3,CDB1_PDB5
前述の例で、優先度1にリストされているPDBは、CDB1_PDB1およびCDB1_PDB2です。これらのPDBは、CDB1_PDB3およびCDB1_PDB4より先にアップグレードされます。
次に、コンテナIDの値(CON_ID)を使用して優先度順を設定する同じリストの別の記述方法を示します。
1,CDB$ROOT
1,PDB$SEED
1,3,4
2,5,6
3,7
前述の例で、優先度1にリストされているPDBは、CDB1_PDB1 (CON_ID 3で指定)およびCDB1_PDB2 (CON_ID 4で指定)です。これらのPDBは、CDB1_PDB3 (CON_ID 5)およびCDB1_PDB4 (CON_ID 6)より先にアップグレードされます。
CON_IDを使用して優先度を指定する場合、最初の数値で、PDBのグループの優先度を指定します。2番目の数値で、その優先度グループに含まれるPDB (CON_IDで指定)の数値を指定します。CDB$ROOTは、常に最初に更新され、PDB$SEEDは、常に最初のアップグレード優先度グループで更新されます。
これらの例は、すべて次の特性を持つ優先度リストのアップグレードを示します。
-
除外処理: なし
-
包含処理: なし
-
デフォルト処理: なし
アップグレード順序は、次の順番で実行されます。
-
CDB$ROOT
-
PDB$SEED、CDB1_PDB1
-
CDB1_PDB2、CDB1_PDB3
-
CDB1_PDB4、CDB1_PDB5
例3-31 PDBの優先度サブセットの指定およびデフォルト処理による他のPDBのアップグレード
次の例では、アップグレード用にPDBのサブセットを指定するpriority.lst
という優先度リストを指定します。
catctl -L priority.lst catupgrd.sql
1,CDB$ROOT
1,PDB$SEED
1,CDB1_PDB1,CDB1_PDB2
この例は、次の特性を持つ優先度リストのアップグレードを示します。
-
除外処理: なし
-
包含処理: なし
-
デフォルト処理: CDB1_PDB3、CDB1_PDB4、CDB1_PDB5
アップグレード順序は、次の順番で実行されます。
-
CDB$ROOT
-
PDB$SEED、CDB1_PDB1
-
CDB1_PDB2、CDB1_PDB3
-
CDB1_PDB4、CDB1_PDB5
例3-32 PDBの優先度サブセットの指定および包含リストによる他のPDBのアップグレード
次の例では、アップグレード用にPDBの優先度サブセットを指定するpriority.lst
という優先度リストを指定します:
catctl -L priority.lst -c 'CDB1_PDB2 CDB1_PDB4 CDB1_PDB5' catupgrd.sql
このコマンドは、次の優先度リストを参照します。
1,CDB$ROOT
1,PDB$SEED
1,CDB1_PDB2,CDB1_PDB4
2.CDB1_PDB5
この例は、次の特性を持つ優先度リストのアップグレードを示します。
-
除外処理: なし
-
包含処理: CDB1_PDB2 CDB1_PDB4 CDB1_PDB5
-
デフォルト処理: なし
アップグレード順序は、次の順番で実行されます。
-
CDB1_PDB2、CDB1_PDB4
-
CDB1_PDB5
パラレル・アップグレード・ユーティリティは包含リストにあるPDBだけを、優先度リストの順に処理します。
例3-33 PDBの優先度サブセットの指定および除外リストによるCDB$ROOTの除外
次の例では、priority.lst
という優先度リストを使用してcatctl
を実行します。このコマンドを-C
オプション付きで実行するため、アップグレードからCDB$ROOTが除外されます。
catctl -L priority.lst -C 'CDB$ROOT' catupgrd.sql
優先度リストは次のとおりです。
1,CDB$ROOT
1,PDB$SEED
1,CDB1_PDB1,CDB1_PDB2
2,CDB1_PDB3,CDB1_PDB4
3,CDB1_PDB5
アップグレードは、アップグレード優先度を指定する優先度リストを使用して処理されます。
-
包含処理: なし
-
除外処理: CDB$ROOT
-
優先度処理: PDB$SEED、CDB1_PDB1、CDB1_PDB2、CDB1_PDB3、CDB1_PDB4、CDB1_PDB5
CDB$ROOTは除外されるため、優先度処理はシフトします。アップグレード順序は、次の順番で実行されます。
-
PDB$SEED、CDB_PDB1
-
CDB_PDB2、CDB_PDB3
-
CDB1_PDB4、CDB1_PDB5
例3-34 CATCTL_LISTONLYを使用した除外リストの指定
次の例では、アップグレード用にPDBのサブセットを指定するpriority.lst
という優先度リストを指定します。CATCTL_LISTONLYオプションによって、優先度リストに含まれないPDBは、アップグレードから除外されます。
catctl -L priority.lst -C 'CATCTL_LISTONLY' catupgrd.sql
優先度リスト:
1,CDB$ROOT
1,PDB$SEED
1,CDB1_PDB1,CDB1_PDB2
2,CDB1_PDB3
3,CDB1_PDB5
-
除外処理: CATCTL_LISTONLY (包含優先度リストのみを処理)
-
包含処理: なし
-
デフォルト処理: なし
アップグレード順序は、次の順番で実行されます。
-
CDB$ROOT
-
PDB$SEED、CDB1_PDB1、CDB1_PDB2
-
CDB1_PDB3、CDB1_PDB5
ノート:
除外リストにキーワードCATCTL_LISTONLYを指定することで、優先度リストは包含優先度リストになります。リストのPDBのみが処理されます。このシナリオではデフォルト処理は発生しないため、この例ではCDB1_PDB4は処理されません。
例3-35 CON_ID値を使用した優先度リストの指定
次の例では、アップグレード用にPDBのサブセットを指定するpriority.lst
という優先度リストを指定します。
catctl -L priority.lst -C 'CATCTL_LISTONLY' catupgrd.sql
アップグレード順序は、優先度リストの優先度値によって決まります。-L
パラメータによってコールされるリスト(priority.lst
)で、アップグレード優先度値に続く数値は、PDB名に関連付けられたCON_ID値です。
1,3,4
2,5,CDB1_PDB4
3,7
前述のリスト例で、CON_ID値とPDB名を混在させて使用できることに注意してください。
優先度3にリストされているPDBは、CDB1_PDB1 (CON_ID 3で指定)およびCDB1_PDB2 (CON_ID 4で指定)です。これらのPDBは、CDB1_PDB3 (CON_ID 5)、CDB1_PDB4 (名前で指定)およびCDB1_PDB5 (CON_ID 7)より先にアップグレードされます。
-
除外処理:
-C CATCTL_LISTONLY
(包含優先度リストのPDBのみを処理) -
除外処理: なし
-
包含処理:
priority.lst
で指定 -
デフォルト処理: CDB$ROOT、PDB$SEED
アップグレード順序は、PDBに関連付けられたCON_ID値を使用する優先度リストによって決まります。
-
CDB$ROOT
-
PDB$SEED、CDB1_PDB1
-
CDB1_PDB2、CDB1_PDB3
-
CDB1_PDB4、CDB1_PDB5
ノート:
この例は、CON_IDを使用してPDBを指定する方法を示しており、優先度リストからCDB$ROOTおよびPDB$SEEDを省略しています。CDB$ROOTとPDB$SEEDは、デフォルト処理を使用して処理されます。
マルチテナント・アーキテクチャのパラレル・アップグレード
この方法を使用して、コンテナ・データベース(CDB)をアップグレードしてから複数のプラガブル・データベース(PDB)をパラレルにアップグレードして、マルチテナント・アーキテクチャOracle Databaseリリース(Oracle Database 12cリリース1 (12.1.0.1)以降)をアップグレードします。
- プラガブル・データベース(PDB)のパラレル・アップグレードについて
パラレルの方法を使用して、CDBをアップグレードしてからすぐにパラレルSQLプロセッサを使用してPDBをアップグレードできます。 - マルチテナント・コンテナ・データベースのパラレル・アップグレード
この方法を使用して、1回のアップグレード操作でCDB$ROOT、PDB$SEED、およびCDB内のすべてのPDBをアップグレードします。
プラガブル・データベース(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:
-n
を使用して指定したパラメータ設定により決定されるアップグレードのサイクル数で、PDB$SEEDおよびPDBがパラレルにアップグレードされます。
-
-
アップグレード後のステップを完了します。
例3-36 デフォルトを使用したマルチテナント・アーキテクチャのアップグレードの例(パラメータ・セットなし)
このシナリオでは、CPU_COUNT
値は24です。-n
オプションを使用してパラレルPDBプロセッサの値を指定しない場合、パラレルPDBプロセッサ(-n
)のデフォルト値は24になります。-N
の値を指定しない場合、SQLプロセッサの数(-N
)のデフォルト値は2です。
結果:
12個のPDBがパラレルにアップグレードされます(CPU_COUNT
を2で割るか、24を2で割る)。PDBごとに2個のパラレルSQLプロセスが割り当てられます。
例3-37 64個のPDBのパラレル・アップグレード・プロセッサおよび4個のパラレルSQLプロセスを使用したマルチテナント・アーキテクチャのアップグレードの例
このシナリオでは、オプション-n 64
を指定して、パラレルPDBアップグレード・プロセッサの値を64に設定します。オプション-N 4
を指定して、パラレルSQLプロセッサの値を4に指定します。
結果:
16個のPDBがパラレルにアップグレードされます(64を4で割る)。PDBごとに4個のパラレルSQLプロセスが存在します。
例3-38 20個のPDBのパラレル・アップグレード・プロセッサおよび2個のパラレルSQLプロセスを使用したマルチテナント・アーキテクチャのアップグレードの例
このシナリオでは、オプション-n 20
を指定して、パラレルPDBアップグレード・プロセッサの値を20に設定します。オプション-N 2
を指定して、パラレルSQLプロセッサの値を2に指定します。
結果:
10個のPDBがパラレルにアップグレードされます(20を2で割る)。PDBごとに2個のパラレルSQLプロセスが存在します。
例3-39 10個のPDBのパラレル・アップグレード・プロセッサおよび4個のパラレルSQLプロセスを使用したマルチテナント・アーキテクチャのアップグレードの例
このシナリオでは、オプション-n 10
を指定して、パラレルPDBアップグレード・プロセッサの値を10に設定します。オプション-N 4
を指定して、パラレルSQLプロセッサの値を2に指定します。
結果:
2個のPDBがパラレルにアップグレードされます(10を4で割る)。PDBごとに4個のパラレルSQLプロセスが存在します。
親トピック: マルチテナント・アーキテクチャのパラレル・アップグレード
マルチテナント・コンテナ・データベースのパラレル・アップグレード
この方法を使用して、1回のアップグレード操作でCDB$ROOT、PDB$SEED、およびCDB内のすべてのPDBをアップグレードします。
ノート:
パラレル・アップグレード方式を使用してコンテナ全体をアップグレードする場合は、すべてのPDBを停止する必要があります。すべてのPDBを停止できるように、アップグレードはスケジュールされたアップグレード期間に実行します。
注意:
-
構成の変更を開始する前に、既存のデータベースのバックアップを必ず作成してください。
-
COMPATIBLE初期化パラメータを12.1.0.2に設定した後は、データベースをダウングレードできません。プラガブル・データベース(PDB)のダウングレードは、互換性が12.1.0.1以上に設定されている場合にのみ可能です。それでもさらもダウングレードが制限される可能性があります。
-
アップグレードを開始する前には、ソース・データベースとターゲット・データベースを最新のバンドル・パッチまたはパッチ・セット更新(BPまたはPSU)にアップグレードし、ダウングレードを開始する前には、ソース・データベースとターゲット・データベースを最新のリリース更新にアップグレードすることをお薦めします。
親トピック: マルチテナント・アーキテクチャのパラレル・アップグレード
切断/接続を使用したマルチテナント・アーキテクチャの順次アップグレード
以前のリリースのマルチテナント・コンテナ・データベース(CDB) (Oracle Databaseリリース12c (12.1.0.1)以降)に存在するプラガブル・データベース(PDB)をアップグレードするには、以前のリリースのCDBからPDBを切断し、PDBを新しいリリースのCDBに接続できます。
- プラガブル・データベース(PDB)の順次アップグレードについて
PDBをアップグレードするには、以前のリリースのCDBからPDBを切断し、そのPDBを新しいリリースのCDBに接続してから新しいリリースにアップグレードします。 - 以前のリリースのPDBの以前のリリースのCDBからの切断
PDBのアップグレードを準備するには、この手順を使用して以前のリリースのCDBからPDBを切断します。 - 以前のリリースのPDBの新しいリリースのCDBへの接続
以前のリリースのCDBから新しいリリースのCDBにPDBを接続するには、CREATE PLUGGABLE DATABASE
コマンドを使用します。 - 以前のリリースのPDBの新しいリリースへのアップグレード
UPGRADE
モードでのPDBのオープンでは、パラレル・アップグレード・ユーティリティを使用して、以前のリリースのPDBをCDBのリリース・レベルにアップグレードします。 - PDBのアップグレードに包含リストまたは除外リストを使用する
以前のリリースのPDBのサブセットをアップグレードする場合は、包含リストまたは除外リストを使用して、新しいリリース・レベルのCDBまたはPDBを再度アップグレードしないようにします。
プラガブル・データベース(PDB)の順次アップグレードについて
PDBをアップグレードするには、以前のリリースのCDBからPDBを切断し、そのPDBを新しいリリースのCDBに接続してから新しいリリースにアップグレードします。
CDBには、0 (ゼロ)、1またはそれ以上のプラガブル・データベース(PDB)を含めることができます。新しいOracle Databaseリリースをインストールするか、またはCDB (CDB$ROOT
)をアップグレードした後に、CDB上のすべてのPDBをアップグレードせずに1つ以上のPDBをアップグレードできます。
サービス・デリバリのニーズを満たすアップグレード計画を選択できます。たとえば、Oracle Database Upgrade Assistant (DBUA)を使用してPDBのセットをアップグレードしたり、手動アップグレードを使用してPDBを個別にアップグレードしたり、包含リストまたは除外リストを使用できます。CDBとすべてのPDBをアップグレードすることも(パラレル手動アップグレード)、CDBをアップグレードしてから包含リストや除外リストを使用して個別にまたはセットでPDBを順次アップグレードすることもできます。
次に、PDBの順次アップグレードに必要なステップの概要を示します。
-
以前のリリースのPDBを以前のリリースのCDBから切断します。
-
CDBからPDBを削除します。
-
以前のリリースのPDBを新しいリリースのCDBに接続します。
-
以前のリリースのPDBを新しいリリースにアップグレードします。
-
優先度リスト: PDBのアップグレード順序を設定します
-
包含リスト: 優先度リストに指定されたPDBがアップグレードされた後にアップグレードするPDBのセットを指定できます
-
除外リスト: アップグレードしないPDBのセットを指定できます
ノート:
PDBは、バックアップしないとリカバリできません。CDBを作成してPDBに接続する方法でアップグレードした後は、必ずPDBをバックアップしてください。
以前のリリースのPDBの以前のリリースのCDBからの切断
PDBのアップグレードを準備するには、この手順を使用して以前のリリースのCDBからPDBを切断します。
-
PDBでアップグレード前情報ツールを実行します
たとえば、
salespdb
という名前のPDBが$ORACLE_HOME_12.2
のCDBで実行されている場合:$ORACLE_HOME_12.2/jdk/bin/java -jar $ORACLE_HOME_18/rdbms/admin/preupgrade.jar dir /tmp -c salespdb
-
ソース・データベースで
preupgrade_fixups.sql
を実行します。次に例を示します。
CONNECT / AS SYSDBA SQL> ALTER SESSION SET CONTAINER=salespdb; SQL> @/tmp/preupgrade_fixups_salespdb.sql
-
preupgrade.log
にリストされているすべての推奨事項に従います。 -
切断するPDBをクローズします。
たとえば、PDB
salespdb
をクローズするには、次のコマンドを使用します。SQL> ALTER PLUGGABLE DATABASE salespdb CLOSE;
-
もう一度
CDB$ROOT
にログインします。CONNECT / AS SYSDBA SQL> ALTER SESSION SET CONTAINER=CDB$ROOT;
-
次のSQLコマンド構文を使用して以前のリリースのPDBを切断します(
pdb
はPDBの名前で、path
はPDB XMLファイルの場所です)。ALTER PLUGGABLE DATABASE pdb UNPLUG INTO 'path/pdb.xml';
たとえば、pdbの名前が
salespdb
で、パスが/home/oracle/salespdb.xml
の場合:SQL> ALTER PLUGGABLE DATABASE salespdb UNPLUG INTO '/home/oracle/salespdb.xml';
コマンドが完了すると、次のレスポンスが表示されます。
Pluggable database altered
-
プラガブル・データベース
salespdb
は削除しますが、データ・ファイルは保持します。CDBビューに残っている情報をクリーン・アップし、将来の問題を回避するために、この手順の後に
salespdb
を削除することをお薦めします。ベスト・プラクティス・ガイドラインとして、まず対象CDBのPDBをバックアップし、その後にソースでDROP
コマンドを発行します。注意:
DROP
コマンドによりバックアップ・ファイルが削除されるため、元のCDBからPDBを削除した後は、先に行ったバックアップを使用して元に戻すことはできません。プラガブル・データベースを削除するには、次のコマンドを入力します。
SQL> DROP PLUGGABLE DATABASE salespdb KEEP DATAFILES;
-
終了します。
以前のリリースのPDBの新しいリリースのCDBへの接続
以前のリリースのCDBから新しいリリースのCDBにPDBを接続するには、CREATE PLUGGABLE DATABASE
コマンドを使用します。
次の手順例では、Oracle管理ファイルを使用しているときのPDBへの接続方法を示しています。PDBの接続の詳細は、『Oracle Database管理者ガイド』を参照してください。
-
新しいリリースのCDBに接続します。
-
次のSQLコマンドを使用して以前のリリースのPDBに接続します(
pdb
はPDBの名前で、path
はPDB XMLファイルが存在するパスです)。CREATE PLUGGABLE DATABASE pdb USING 'path/pdb.xml';
次に例を示します。
SQL> CREATE PLUGGABLE DATABASE salespdb USING '/home/oracle/salespdb.xml';
コマンドが完了すると、次のレスポンスが表示されます。
Pluggable database created.
ノート:
以前のリリースのPDBに接続するときには、PDBは制限モードです。アップグレードの場合にのみ、PDBをオープンできます。
以前のリリースのPDBの新しいリリースへのアップグレード
UPGRADE
モードでのPDBのオープンでは、パラレル・アップグレード・ユーティリティを使用して、以前のリリースのPDBをCDBのリリース・レベルにアップグレードします。
-
必要に応じて、アップグレードするPDBに切り替えます。たとえば、PDB
salespdb
に切り替えるには、次のコマンドを入力します。SQL> ALTER SESSION SET CONTAINER=salespdb;
-
PDBをUPGRADEモードで開きます。
SQL> ALTER PLUGGABLE DATABASE OPEN UPGRADE;
-
パラレル・アップグレード・ユーティリティ・コマンド(
catctl.pl
、またはシェル・ユーティリティdbupgrade
)を使用してPDBをアップグレードします。PDBをアップグレードする場合、パラレル・アップグレード・ユーティリティで通常使用するコマンドを使用します。ただし、アップグレードするPDBを指定するためにオプション
-c PDBname
も追加します。salespdb
という名前のPDBを使用する次の例に示すとおり、PDBの名前を大文字にします。$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \ $ORACLE_HOME/rdbms/admin -c 'salespdb' -l $ORACLE_BASE catupgrd.sql
-
結果を確認します。
ログのデフォルトのファイル・パスは
Oracle_base/cfgtoollogs/dbname/upgradedatetime
です。Oracle_base
はOracleベース・パス、dbname
はデータベース名、upgradedatetime
はアップグレードの日時です。日時の文字列の書式はYYYYMMDDHHMMSCで、YYYYは年、MMは月、DDは日、HHは時間、MMは分、SCは秒を表します。次に例を示します。
$ORACLE_BASE/cfgtoollogs/salespdb/upgrade20160815120001/upg_summary.log
-
SQL*Plusにログインし、PDBをオープンしてアップグレード後修正を実行してから、データベースの
INVALID
オブジェクトを再コンパイルします。SQL> STARTUP; SQL> ALTER SESSION SET CONTAINER=salespdb;
-
ユーティリティ
catcon.pl
を使用してスクリプトpostupgrade_fixups.sql
を実行します。$ORACLE_HOME/perl/bin/perl catcon.pl –c 'salespdb' -n 1 -e -b postfixups -d '''.''' /tmp/cfgtoollogs/salespdb/preupgrade/postupgrade_fixups.sql
-
$ORACLE_HOME/rdbms/admin
ディレクトリから、ユーティリティcatcon.pl
を使用してutlrp.sql
を実行します。$ORACLE_HOME/perl/bin/perl catcon.pl –c 'salespdb'-n 1 -e -b comp -d '''.''' utlrp.sql
このスクリプトは、データベース内の
INVALID
オブジェクトを再コンパイルし、現在のディレクトリにcomp0.log
という名前のログ・ファイルを配置します。
PDBのアップグレードに包含リストまたは除外リストを使用する
以前のリリースのPDBのサブセットをアップグレードする場合は、包含リストまたは除外リストを使用して、新しいリリース・レベルのCDBまたはPDBを再度アップグレードしないようにします。
アップグレードするコンテナを記録し、包含リストまたは除外リストを使用して、これらのコンテナが連続バルク・アップグレードから除外されるようにします。アップグレードしたコンテナを連続バルク・アップグレードから除外することで、アップグレードが必要なPDBでのみアップグレードが実行されることが保証されます。再アップグレードを回避することでアップグレード時間全体が短縮され、不要なダウン時間を避けることになります。
たとえば、Oracle Database 12cリリース12.2.0.1をインストールした場合は、コンテナCDB$ROOT
、PDB$SEED
、およびCDBが作成されたときに作成された他のPDBは、新しいリリースのマルチテナント・アーキテクチャの一部です。CDBおよび、同時に一連のPDBをリリース12.2.0.1にアップグレードした場合は、CDBコンテナも、アップグレードしたPDBも再度アップグレードする必要はありません。
-
アップグレードするPDBセットだけを指定するには、包含リストを使用します。
-
すでにアップグレードしたCDBおよびPDBを除外するには、除外リストを使用します。
catctl.pl
)は、アップグレードが必要なPDBだけではなく、CDB全体をアップグレードしようとします。アップグレード処理中、システムには不要なダウンタイムがあります。包含リスト・オプションと除外リスト・オプションは相互に排他的です。