アップグレード前情報ツールおよびAutoUpgradeのアップグレード前処理

AutoUpgradeをpreupgrade句とともに使用して、アップグレード前情報ツール(preupgrade.jar)を介して以前に提供された機能と同じ機能を取得する方法を学習します。

Oracle Database 23c以降、手動アップグレード・スクリプトはすべてサポートされなくなりました。以前は手動アップグレード・スクリプトで使用されていたアップグレード・オプションは、AutoUpgradeツールを使用して提供されるようになりました。

AutoUpgradeを使用したアップグレード前情報ツール・チェックの取得

AutoUpgradeユーティリティを使用してアップグレード前情報ツール(preupgrade.jar)を使用し、以前に取得したものと同じシステム・チェックを取得する方法を学習します。

アップグレード前情報ツールを使用してAutoUpgadeを使用して以前に実行したチェックを実行する方法を確認するには、次の比較表を参照し、このトピックの例を参照してください。

AutoUpgradeユーティリティを使用してチェックとスクリプトを実行する方法の詳細は、「AutoUpgradeコマンドライン・パラメータ」のトピックでアップグレード前の作業について参照してください。

表A-3 アップグレード前チェックとアップグレード後チェックの比較

チェック内容 アップグレード前情報ツール AutoUpgrade
アップグレードのためのソースOracle Databaseリリース準備状況の確認 データベース・チェックのためにpreupgrade.jarを実行します。生成されたファイルupgrade.xmlに、チェック結果が示されます。 preupgradeパラメータを指定してAutoUpgradeをanalyzeモードで実行します。ディレクトリLog_dir/database_name/job_number/prechecks/にあるupgrade.xmlから結果を取得します。
アップグレードの準備のためにソースOracle Databaseで検出されたいくつかの問題を修正するスクリプトを取得して実行します。 preupgrade.jarを実行して、SQL*Plusを使用して手動で実行するスクリプト(preupgrade_fixups.sqlおよびpreupgrade_fixups_pdbname.sql)を取得します preupgradeパラメータを指定してAutoUpgradeをfixupsモードで実行します。AutoUpgradeはすべてのデータベース・チェックを実行し、その結果に基づいて自動的に修正を実行します。
アップグレードしたOracle Databaseでアップグレード後の修正を実行するスクリプトを取得および実行します preupgrade.jarを実行して、SQL*Plusを使用して手動で実行するスクリプト(postupgrade_fixups.sqlおよびpostupgrade_fixups_pdbname.sql)を取得します。 preupgradeパラメータを指定してAutoUpgradeをpostfixupsモードで実行します。AutoUpgradeでは、すべてのデータベース・チェックが実行され、これらの結果に基づいて事後修正が自動的に実行されます。

関連項目

アップグレード前およびアップグレード後のチェックの例

アップグレード前情報ツールとAutoUpgradeの違いを理解するには、preupgradeパラメータを使用したアップグレード・シナリオの例を参照してください。

次の例では、次の構成を検討してください。

  • ソース: Oracle Database 12cリリース2 (12.2.0.1) Enterprise Edition
  • Oracleホーム: /u01/app/oracle/product/12.2.0/dbhome_1
  • Oracleシステム識別子(SID): db122
  • ターゲット: アップグレード前情報ツールのOracle Database 19c、およびpreupgradeパラメータを使用したAutoUpgradeのOracle Database 21c
  • アップグレード前情報ツールのターゲット・リリースOracleホーム: /u01/app/oracle/product/19.0.0/dbhome_1
  • preupgradeパラメータを使用したAutoUpgradeのターゲット・リリースのOracleホーム: /u01/app/oracle/product/21.0.0/dbhome_1

例A-1 AutoUpgradeのpreupgradeパラメータを使用した非CDBアップグレード・データベース・チェック

以前は、アップグレード前情報ツールを使用してすべてのデータベース事前チェックを実行したときに、次の順序でステップを完了していました。

  1. setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1の実行
  2. setenv ORACLE_SID db122の実行
  3. ディレクトリのターゲットOracleホームへの切り替え: /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin
  4. アップグレード前情報ツールの実行: java –jar preupgrade.jar dir /user/logディレクトリへの出力の送出
  5. ログ・ディレクトリのupgrade.xmlファイルの確認
  6. 指定したログ・ディレクトリ(/user/log/cfgtoollogs/db122/preupgrade)でpreupgrade_fixups.sqlおよびpostupgrade_fixups.sqlを特定します。

ここで、AutoUpgradeツールでpreupgradeパラメータを使用し、次の順序でステップを実行します。

  1. setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1の実行
  2. setenv ORACLE_SID db122の実行
  3. java -jar autoupgrade.jar -preupgrade "target_version=21,dir=/autoupgrade/test/log"の実行
  4. ディレクトリ/autoupgrade/test/log/db122/100/prechecksの下のupgrade.xmlの確認

例A-2 AutoUpgradeのpreupgradeパラメータを使用した事前修正を実行する非CDBアップグレード

以前は、アップグレード前情報ツールを使用してソース・データベースで事前修正を実行したときに、次の順序でステップを完了していました。

  1. ディレクトリのソースOracleホームへの変更: /u01/app/oracle/product/12.2.0/dbhome_1
  2. SQL*Plusの起動
  3. SQL*Plusを使用し、指定したディレクトリ(/user/log/cfgtoollogs/db122/preupgrade)に生成されたpreupgrade_fixups.sqlを実行
  4. SQL*Plus出力から修正結果を確認します。

ここで、AutoUpgradeツールでpreupgradeパラメータを使用して、次のようにアップグレード前修正を実行します。

  1. setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1を実行します。
  2. setenv ORACLE_SID db122を実行します。
  3. java -jar autoupgrade.jar -preupgrade "target_version=21,dir=/autoupgrade/test/log" –mode fixupsを実行します。スクリプトは自動的に実行されます。
  4. ディレクトリ/autoupgrade/test/log/db122/102/prefixupsの下にあるprefixups.xmlを確認します。

例A-3 AutoUpgradeのpreupgradeパラメータを使用したアップグレード後修正を実行する非CDBアップグレード

以前は、アップグレード前情報ツールを使用してソース・データベースでアップグレード後修正を実行したときに、次の順序でステップを完了していました。

  1. ソースOracleホーム/u01/app/oracle/product/12.2.0/dbhome_1でSQL*Plusを起動します。
  2. SQL*Plusを使用して、指定したディレクトリ(/user/logcfgtoollogs/db122/preupgrade)で生成されたpostupgrade_fixups.sqlを実行します。
  3. SQL*Plus出力からの修正結果を確認します。

ここで、AutoUpgradeツールでpreupgradeパラメータを使用して、次のようにアップグレード後の修正を実行します。

  1. setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1を実行します。
  2. setenv ORACLE_SID db122を実行します。
  3. java -jar autoupgrade.jar -preupgrade "target_home=/u01/app/oracle/product/21.0.0/dbhome_1,dir=/autoupgrade/test/log" –mode postfixupsの実行
  4. ディレクトリ/autoupgrade/test/log/db122/102/postfixupsの下のpostfixups.xmlを確認します。

例A-4 アップグレード前情報ツールおよびAutoUpgradeの出力例の比較

次に、アップグレード前情報ツール(ターゲット・リリースとしてOracle Database 19cを使用)およびAutoUpgrade (Oracle Database 21cへのアップグレードを使用)で事前チェックを実行して生成される出力の例を示します。スクリプトの完了後、手動でスクリプトを実行する必要があります。


[oracle@localhost preupgrade]$ java -jar /databases/product/19c/dbhome_1/rdbms/admin/preupgrade.jar \
xml dir /autoupgrade/test/preupgrade
==================
PREUPGRADE SUMMARY
==================
 /autoupgrade/test/preupgrade/upgrade.xml
 /autoupgrade/test/preupgrade/preupgrade_fixups.sql
 /autoupgrade/test/preupgrade/postupgrade_fixups.sql
Execute fixup scripts as indicated below:
Before upgrade:
Log into the database and execute the preupgrade fixups
@/autoupgrade/test/preupgrade/preupgrade_fixups.sql
After the upgrade:
Log into the database and execute the postupgrade fixups
@/autoupgrade/test/preupgrade/postupgrade_fixups.sql
Preupgrade complete: 2020-07-06T16:35:14
 

 

次に、ターゲット・リリースOracle Database 21cで、analyzeモードを使用してpreupgradeパラメータを指定してAutoUpgradeを実行する例を示します。

[oracle@localhost /autoupgrade]$ java -jar autoupgrade.jar -preupgrade "target_version=21,dir=/autoupgrade/test/log" -mode analyze
AutoUpgrade tool launched with default options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 databases will be analyzed
Type 'help' to list console commands
upg> Job 102 completed
------------------- Final Summary --------------------
Number of databases [ 1 ]
Jobs finished successfully [1]
Jobs failed [0]
Jobs pending [0]
------------- JOBS FINISHED SUCCESSFULLY -------------
Job 102 for db122