AutoUpgrade処理モードについて

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

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

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

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

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

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

    ターゲット・データベースがあるサーバーにログインしている場合、hostnameコマンドを入力すると、ターゲット・データベースのホスト名が返されます。次に例を示します。

    $ hostname sales3

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

2019年1月のリリース更新(DBJAN2019RU)以降、AutoUpgradeサポートはOracle Database 12cリリース2 (12.2)およびOracle Database 18c (18.5)ターゲット・ホームで使用可能になりました。Oracle Database 12cリリース2 (12.2)とOracle Database 18c (18.5)の両方のターゲット・ホームで、My Oracle Supportドキュメント2485457.1から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ホームに設定されている環境変数です。

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

Oracle Databaseリリース12.2 (12.2.0.1)または新しいOracleホームには、デフォルトで有効なJavaバージョンがあります。次の構文を使用して分析モードでAutoUpgradeを起動します。ここで、Oracle_homeはOracleホーム・ディレクトリまたはOracleホームに設定された環境変数で、yourconfig.txtは構成ファイルです。

Oracle_home/jdk8/bin/java -jar autoupgrade.jar -config yourconfig.txt -mode analyze
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.1.0\dbhome_1
#
# Target Oracle Home
#
sales3.target_home=d:\app\oracle\product\12.1.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 fixup

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

Oracle_home/jdk8/bin/java -jar autoupgrade.jar -config yourconfig.txt -mode fixup
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.pngの説明が続きます
図autoupgrade-deploy-flow.pngの説明

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

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

AutoUpgradeアップグレード(upgrade)処理モードでは、ソースOracleホームにアクセスできない場合に、ターゲットのOracleホームをアップグレードできます。

アップグレード・モードを使用して、アップグレードを2つの部分に分割できます。選択すると、最初にそのOracleホームで実行されているソース・データベースで事前修正モードを実行できます。次に、アップグレード・モードを使用して、新しいホームでデータベースのアップグレードを実行します。アップグレード・モードを使用するには、アップグレード・モードでAutoUpgradeを実行する前に、ターゲットOracleホームでデータベースが稼働していて実行中である必要があります。

次の構文を使用してアップグレード・モードでAutoUpgradeを起動します。ここで、Oracle_homeはOracleホーム・ディレクトリまたはOracleホームに設定された環境変数で、yourconfig.txtは構成ファイルです。
Oracle_home/jdk8/bin/java -jar autoupgrade.jar -config yourconfig.txt -mode upgrade
autoupgrade-upgrade-flow.epsの説明が続きます
図autoupgrade-upgrade-flow.epsの説明

このコマンドによって、データベースでのアップグレードおよびアップグレード後の操作が実行されます。このオプションは、Oracle Databaseを元のソース・システムから別のシステムに移動したときに、AutoUpgradeデプロイ・モードを使用できないようにする場合に使用します。

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