アップグレード前情報ツールおよびAutoUpgradeのアップグレード前処理
AutoUpgradeをpreupgrade
句とともに使用して、アップグレード前情報ツール(preupgrade.jar
)を介して以前に提供された機能と同じ機能を取得する方法を学習します。
Oracle Database 23c以降、手動アップグレード・スクリプトはすべてサポートされなくなりました。以前は手動アップグレード・スクリプトで使用されていたアップグレード・オプションは、AutoUpgradeツールを使用して提供されるようになりました。
- AutoUpgradeを使用したアップグレード前情報ツール・チェックの取得
アップグレード前情報ツール(preupgrade.jar
)を使用して以前に取得したものと同じシステム・チェックをAutoUpgradeユーティリティを使用して取得する方法について説明します。 - アップグレード前およびアップグレード後のチェックの例
アップグレード前情報ツールとpreupgrade
パラメータを使用した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アップグレード・データベース・チェック
以前は、アップグレード前情報ツールを使用してすべてのデータベース事前チェックを実行したときに、次の順序でステップを完了していました。
setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1
の実行setenv ORACLE_SID db122
の実行- ディレクトリのターゲットOracleホームへの切り替え:
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin
- アップグレード前情報ツールの実行:
java –jar preupgrade.jar dir /user/log
ディレクトリへの出力の送出 - ログ・ディレクトリの
upgrade.xml
ファイルの確認 - 指定したログ・ディレクトリ(
/user/log/cfgtoollogs/db122/preupgrade
)でpreupgrade_fixups.sql
およびpostupgrade_fixups.sql
を特定します。
ここで、AutoUpgradeツールでpreupgrade
パラメータを使用し、次の順序でステップを実行します。
setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1
の実行setenv ORACLE_SID db122
の実行java -jar autoupgrade.jar -preupgrade "target_version=21,dir=/autoupgrade/test/log"
の実行- ディレクトリ
/autoupgrade/test/log/db122/100/prechecks
の下のupgrade.xml
の確認
例A-2 AutoUpgradeのpreupgradeパラメータを使用した事前修正を実行する非CDBアップグレード
以前は、アップグレード前情報ツールを使用してソース・データベースで事前修正を実行したときに、次の順序でステップを完了していました。
- ディレクトリのソースOracleホームへの変更:
/u01/app/oracle/product/12.2.0/dbhome_1
- SQL*Plusの起動
- SQL*Plusを使用し、指定したディレクトリ(
/user/log/cfgtoollogs/db122/preupgrade
)に生成されたpreupgrade_fixups.sql
を実行 - SQL*Plus出力から修正結果を確認します。
ここで、AutoUpgradeツールでpreupgrade
パラメータを使用して、次のようにアップグレード前修正を実行します。
setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1
を実行します。setenv ORACLE_SID db122
を実行します。java -jar autoupgrade.jar -preupgrade "target_version=21,dir=/autoupgrade/test/log" –mode fixups
を実行します。スクリプトは自動的に実行されます。- ディレクトリ
/autoupgrade/test/log/db122/102/prefixups
の下にあるprefixups.xml
を確認します。
例A-3 AutoUpgradeのpreupgradeパラメータを使用したアップグレード後修正を実行する非CDBアップグレード
以前は、アップグレード前情報ツールを使用してソース・データベースでアップグレード後修正を実行したときに、次の順序でステップを完了していました。
- ソースOracleホーム
/u01/app/oracle/product/12.2.0/dbhome_1
でSQL*Plusを起動します。 - SQL*Plusを使用して、指定したディレクトリ(
/user/logcfgtoollogs/db122/preupgrade
)で生成されたpostupgrade_fixups.sql
を実行します。 - SQL*Plus出力からの修正結果を確認します。
ここで、AutoUpgradeツールでpreupgrade
パラメータを使用して、次のようにアップグレード後の修正を実行します。
setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1
を実行します。setenv ORACLE_SID db122
を実行します。java -jar autoupgrade.jar -preupgrade "target_home=/u01/app/oracle/product/21.0.0/dbhome_1,dir=/autoupgrade/test/log" –mode postfixups
の実行- ディレクトリ
/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