AutoUpgrade処理モードについて

4つのAutoUpgrade処理モード(分析、修正、デプロイおよびアップグレード)は、AutoUpgradeの実行時に実行するアクションを示します。

AutoUpgrade処理モードを実行するための準備

AutoUpgrade処理モードを実行する前に、準備を完了している必要があります。

AutoUpgrade処理モードを使用する前に、次の要件を満たしていることを確認してください。

  • ユーザー構成ファイルが作成されていること。

  • ソースOracle Databaseリリースは、元のOracleホームで稼働しています。AutoUpgradeの再起動の場合は、アップグレード・フローのフェーズに対応するOracleホームでデータベースを起動する必要があります。
  • データベースが実行されているサーバーが、サーバー・ホスト・ファイル(たとえば/etc/hosts)またはドメイン・ネーム・サーバー(DNS)に登録されていること。

    ターゲット・データベースが配置されているサーバーにログインしていて、データベースがlocalhostで実行されている場合、またはAutoUpgradeが実行されている場合は、AutoUpgradeのconfigファイルからhostnameパラメータを削除します。

  • コンテナ・データベース(CDB)で、プラガブル・データベース(PDB)のサブセットをアップグレードする場合、アップグレードを実行するPDBはオープンされ、AutoUpgradeローカル・パラメータpdbsを使用してユーザー構成ファイルで構成されます。PDBのリストを指定しない場合、AutoUpgradeはCDB上のすべてのPDBをアップグレードします。
  • AutoUpgrade jarファイル(autoupgrade.jar)がダウンロード済または使用可能であり、Java 8配布を使用して実行できること。
  • AutoUpgradeをバッチまたはスクリプトで実行する場合は、コマンドでnoconsoleパラメータを使用してAutoUpgradeをコールしておきます。

Oracle Database 19c (19.3)以降のターゲットのOracleホームでは、デフォルトでautoupgrade.jarファイルが存在します。ただし、AutoUpgradeを使用する前に、My Oracle Supportドキュメント2485457.1から入手可能な最新バージョンをダウンロードすることをお薦めします。

AutoUpgrade分析処理モードについて

AutoUpgrade分析(analyze)処理モードでは、データベースをチェックしてアップグレードの準備が完了しているかどうかを確認します。

分析モードでAutoUpgradeを実行すると、AutoUpgradeではデータベースからのデータの読取りのみを実行し、データベースに対する更新は実行しません。通常の営業時間に分析モードを使用してAutoUpgradeを実行できます。ターゲット・リリースのOracle Databaseホームを設定する前に、ソースOracle Databaseホームで分析モードでAutoUpgradeを実行できます。

次の構文を使用して、分析モードでAutoUpgradeを起動します。ここで、Java-8-homeはJava 8ディストリビューションの場所、またはJava 8ホームに設定された環境変数であり、path/yourconfig.txtは構成ファイルのパスとファイル名です。

Java-8-home/bin/java -jar autoupgrade.jar -config /path/yourconfig.txt -mode analyze

たとえば、rdbms/adminの下の新しいリリースのOracleホームに最新のAutoUpgradeリリースをコピーし、そのホームの環境変数を21CHOMEに設定して、ディレクトリ/scriptsの下のOracleユーザー・ホームに構成ファイルをコピーし、21config.cfgという名前を付けた場合、次のコマンドを入力します。

java -jar $21CHOME/rdbms/admin/autoupgrade.jar -config /scratch/scripts/21config.cfg -mode analyze -mode analyze

Oracle Databaseリリース12.2 (12.2.0.1)または新しいOracleホームには、デフォルトで有効なJavaバージョンがあります。

autoupgrade-analyze-flow.epsの説明が続きます
図autoupgrade-analyze-flow.epsの説明

AutoUpgrade分析モードでは2つの出力ファイルが生成され、チェックするデータベースのシステム識別子(SID)の名前が指定されます。

  • SID.html: Webブラウザを使用してこのファイルを表示します。

  • SID_preupgrade.log: テキスト・エディタを使用してこのファイルを表示します。

各レポートはアップグレード・エラーを示します。自動修正スクリプトを実行するか手動修正を実行してこれらを訂正しなければエラーが発生します。エラーが発生した場合、ユーザー・ログ・ファイル、およびstatus.jsonファイルにもレポートされます。

分析モードでは、パスcfgtoollogs/upgrade/auto/statusにステータス・ディレクトリも生成されます。このディレクトリには、分析が成功したか失敗したかを示すファイルが含まれています。このディレクトリには、2つのJSONファイルstatus.jsonおよびprogress.jsonがあります。

  • status.json : アップグレードの最終ステータスを含む高レベルのステータスJSONファイル。
  • progress.json: 構成ファイルのかわりに実行されるすべてのアップグレードの現在の進行状況を含むJSONファイル。エラーが発生した場合、AutoUpgradeを実行しているユーザーのログ・ファイルおよびstatus.jsonファイルにレポートされます。

ターゲット・データベースのOracleホームがサーバーで使用できない場合、構成ファイル内でソースのOracleホーム・パラメータを同じパスに設定し、AutoUpgrade分析処理モードを実行できるようにする必要があります。たとえば:

#
# Source Home
#
sales3.source_home=d:\app\oracle\product\12.2.0\dbhome_1
#
# Target Oracle Home
#
sales3.target_home=d:\app\oracle\product\21.0.0\dbhome_1

以前のリリースのAutoUpgradeでは、target_homeを設定する必要がありました。AutoUpgradeの以降のリリースでは、この制限は分析モードと修正モードの両方に対して導入されていました。

AutoUpgrade修正処理モードについて

AutoUpgrade修正(fixups)処理モードでは、データベースを分析し、アップグレードを実行する前に修正する必要がある項目の修正を実行します。

AutoUpgradeを修正モードで実行すると、AutoUpgradeは分析モードでも実行するチェックを実行します。これらのチェックが完了した後、アップグレードを開始する前に、AutoUpgradeによって、修正に必要なすべての自動修正が実行されます。データベースを別のプラットフォームに移動する場合、修正モードを使用すると、データベースがアップグレード用に準備されます。

注意:

修正モードでAutoUpgradeを実行する前に、分析モードでAutoUpgradeを個別に実行することをお薦めします。修正モードでは、ソース・データベースを変更できます。

アップグレードの準備の一環として、アップグレード中にエラーの原因となるような状態をソース・データベースで修正する必要がある場合には、修正モードでAutoUpgradeを実行することでソース・データベースに対して自動修正が実行されます。修正モードでのAutoUpgradeの実行は別のシステムに移動する際に実行するステップであるため、保証付きリストア・ポイントは作成されません。このモードは通常の営業時間外で実行することをお薦めします。

次の構文を使用して、修正モードでAutoUpgradeを開始します。Java-8-homeは、Java 8配布の場所、またはJava 8ホームに設定されている環境変数です。

Java-8-home/bin/java -jar autoupgrade.jar -config yourconfig.txt -mode fixups

Java 8がソースOracleホームにある場合、次の構文を使用して修正モードでAutoUpgradeを開始します。ここで、Oracle_homeはOracleホーム・ディレクトリまたはOracleホームに設定された環境変数で、yourconfig.txtは構成ファイルです。

Oracle_home/jdk8/bin/java -jar autoupgrade.jar -config yourconfig.txt -mode fixups
autoupgrade-fixup-flow.epsの説明が続きます
図autoupgrade-fixup-flow.epsの説明

AutoUpgradeは修正モードで実行されると、分析モードで実行する場合と同じ事前チェックを実行して開始されます。次に、アップグレードの準備でソース・データベースで自動修正を実行し、修正操作の成功または失敗を示す高レベルのステータス・ファイルを生成します。エラーが発生した場合、エラーはAutoUpgradeを実行しているユーザーのログ・ファイルにレポートされます。

注意:

修正モードのAutoUpgradeでは、保証付きリストア・ポイントは作成されません。修正モードでAutoUpgradeを開始する前に、データベースがバックアップされていることを確認してください。

AutoUpgradeデプロイ処理モードについて

AutoUpgradeデプロイ(deploy)処理モードでは、データベースの実際のアップグレードが実行され、保留中のすべての修正が実行されます。

デプロイを実行する前に、ターゲットのOracleホームが事前にインストールされている必要があります。また、バックアップ計画を準備してから、AutoUpgradeスクリプトの一部としてバックアップ計画を実行する必要があります。

次の構文を使用して修正モードでAutoUpgradeを起動します。ここで、Oracle_homeはOracleホーム・ディレクトリまたはOracleホームに設定された環境変数で、yourconfig.txtは構成ファイルです。

Oracle_home/jdk8/bin/java -jar autoupgrade.jar -config yourconfig.txt -mode deploy
autoupgrade-deploy-flow.epsの説明が続きます
図autoupgrade-deploy-flow.epsの説明

AutoUpgradeをデプロイ・モードで実行すると、AutoUpgradeは、アップグレード前のソース・データベース分析からアップグレード後のチェックまで、データベース上ですべてのアップグレード操作を実行します。各操作は、次の操作の準備を行います。エラーが発生した場合、操作は停止します。エラーはすべて、関連するログ・ファイルおよびコンソール(有効な場合)に記録されます。操作の成功または失敗を示す、操作ごとの高レベルのステータス・ファイルが生成されます。まだ保留中の修正がある場合(たとえば、最初に分析および修正モードでAutoUpgradeを実行せずにデプロイ・モードでAutoUpgradeを実行する場合)、AutoUpgradeがデプロイ・モードで修正を完了することがあります。

AutoUpgradeアップグレード処理モードについて

AutoUpgradeアップグレード(upgrade)処理モードでは、ソースまたはターゲットのOracleホームをアップグレードできます。

アップグレード・モードを使用すると、アップグレードを次の2つの部分に分けることができます。

  1. (強く推奨)Oracleホームで実行されているソース・データベースで事前修正モードを実行します。

  2. (オプション)ソース・データベースを別のシステムの新しいOracleホームに移動します。

  3. アップグレード・モードを使用してデータベースのアップグレードを実行します。

    ノート:

    ソースOracleホームで実行すると、AutoUpgradeはPRECHECKSステージおよびPREFIXUPSステージをスキップした直後にアップグレードの処理を開始します。他のすべてのステージ(POSTUPGRADEを除く)は、通常DEPLOY中に実行されます。

アップグレード・モードを使用するには、AutoUpgradeをアップグレード・モードで実行する前に、ソースまたはターゲットOracleホームでデータベースが稼働している必要があります。このオプションは、AutoUpgradeデプロイ・モードを使用できないように、Oracle Databaseを元のソース・システムから別のシステムに移動したときに特に役立ちます。

このプロシージャは、新しいOracleホームの場所のデータベースでアップグレード、アップグレード後のチェックおよび事後修正の操作を実行します。

アップグレード・モードでのPDBのアップグレード

PDBをアップグレードするには、次の要件を満たす必要があります:

  • PDBがCDBにすでに追加されている必要があります。
  • PDBがアップグレード・モードですでにオープンされている必要があります。
  • 非CDBからPDBへの手動プロシージャまたは切断/接続プロシージャを実行した場合、AutoUpgradeを実行する前に、これらのプロセスを完全に完了しておく必要があります。
  • PDBが以前にCDBに追加されておらず、そのPDBに透過的データ暗号化(TDE)構成がある場合、アップグレードの完了後にTDEを再インポートする必要があります。

ターゲットOracleホームでのAutoUpgradeアップグレード・モード

CDBでは、CDB$ROOTがメジャー・バージョン(最初の数字)の場合、Autoupgradeを使用して下位バージョンのPDBをアップグレードできます。アップグレードする各PDBのプロセスは次のとおりです:

autoupgrade-upgrade-flow.epsの説明が続きます
図autoupgrade-upgrade-flow.epsの説明

AutoUpgradeがアップグレード・モードで実行されると、AutoUpgradeスクリプトを実行するユーザーのログ・ファイルにエラーが記録されます。操作の成功または失敗を示す、操作ごとの高レベルのステータス・ファイルが生成されます。

ノート:

AutoUpgradeをアップグレード・モードで実行する場合、PDBはすでに移行モードでオープンしている必要があります。この構成の自動バックアップ・オプションはありません。このシナリオでは、アップグレード後の操作は実行されないため、これらのステップは後で個別に実行する必要があります。たとえば、次のアップグレード後操作は実行されません。

  • ネットワーク・ファイルのコピー(tnsnames.orasqlnet.oralistener.oraおよびその他のリスナー・ファイル、LDAPファイル、oranfstab)
  • アップグレード中に作成された保証付きリストア・ポイント(GRP)の削除
  • Oracle Real Application Clustersデータベースの最終再起動

ソースOracleホームでのAutoUpgradeアップグレード・モード

ソースOracleホームでデータベースがオープンしている場合、アップグレード・ホームで実行されるステージは、アップグレード・モードでAutoUpgradeを起動する前にソースOracleホームで修正が実行されているかどうかによって異なります。

  • ソースOracleホームで修正がすでに実行されている場合は、事前チェックおよび事前修正を除く、一般的なデプロイ・モードのすべてのステージが実行されます。

    このオプションは、事前チェックおよび事前修正を個別に実行できる場合に使用します。これは、AutoUpgradeは、アップグレード中には事前チェックおよび事前修正ステージの実行をバイパスし、停止時間を減らすためです。

  • ソースOracleホームでの修正が過去3日以内に実行されていない場合、アップグレード・モードにそれらのステージが含まれます。その結果、ソースOracleホームでAutoUpgradeをアップグレード・モードで実行することは、デプロイ・モードでAutoUpgradeを実行することとまったく同じです。これは、事前チェック・ステージおよび事前修正ステージはアップグレード・モードの一部として実行されるためです。

例3-1 新しい場所へのデータベースの移動後のターゲット・ホームでのAutoUpgradeの実行

ここで、dbnameはデータベースの名前で、次のステップを使用してAutoUpgradeを実行します。

    • AutoUpgradeを事前修正モードで実行した場合:
      1. デフォルト名(initSID.ora)を使用して、during_upgrade_pfile_dbname.oraファイルをターゲットOracleホームのデフォルトの場所にコピーします。

        during_upgrade_pfile_dbname.oraファイルは、AutoUpgradeの実行に使用されるログ・パスのtempディレクトリにあります。

      2. (オプション) SQL*Plusに接続し、tempディレクトリのduring_upgrade_pfile_dbname.oraを使用してSPFILEを作成できます。たとえば:

        SQL> create spfile from pfile='/u01/autoupgrade/au21/CDBUP/temp/during_upgrade_pfile_cdbupg.ora';
    • AutoUpgradeを事前修正モードで実行しなかった場合:
      1. 初期化ファイル(init.oraまたはspfileSID.ora)をソースOracleホームからターゲットOracleホームの場所にコピーします。
  1. 次の構文を使用してアップグレード・モードでAutoUpgradeを実行します。ここで、Oracle_homeはOracleホーム・ディレクトリ・パスまたはOracleホームに設定された環境変数で、yourconfig.txtは構成ファイルです。

    Oracle_home/jdk8/bin/java -jar autoupgrade.jar -config yourconfig.txt -mode upgrade

    このコマンドでは、データベースでアップグレード操作を実行します。