データ・ディクショナリのアップグレードおよびアップグレード・ステータスの表示に対する改善
Oracle Database 12cでは、アップグレード処理およびアップグレードされたデータベースのアップグレード・ステータスの表示方法が改善されました。
- パラレル・アップグレード・ユーティリティを使用したデータ・ディクショナリのパラレル・アップグレード
Oracle Databaseのデータ・ディクショナリのアップグレードは、パラレル・アップグレード・ユーティリティを使用してパラレルに実行されるようになったため、アップグレード処理が高速化されます。 - アップグレード・ステータスの設定に対する変更
Oracle Database 12cリリース1以上のリリースでは、UPGRADEDステータスの意味が変更されています。 - utlrp.sql再コンパイル・スクリプト実行後のステータスの変更
Oracle Database 12cでは、VALID
ステータスの意味が変更されています。
親トピック: Oracle Databaseのアップグレード
パラレル・アップグレード・ユーティリティを使用したデータ・ディクショナリのパラレル・アップグレード
Oracle Databaseのデータ・ディクショナリのアップグレードは、パラレル・アップグレード・ユーティリティを使用してパラレルに実行されるようになったため、アップグレード処理が高速化されます。
1つのSQLプロセスでデータ・ディクショナリをロードするかわりに、サーバーのCPU容量に応じて複数のプロセスを使用できます。パラレル・アップグレード・ユーティリティ(catctl.pl
)は、LinuxおよびUnixの場合はdbupgrade
を使用して、Windowsの場合はdbupgrade.com
を使用してコマンドラインから実行でき、可能なかぎり高速にディクショナリにデータをロードし、upgrade
モードのかわりにnormal
モードで実行可能なすべての作業を遅延します。パラレル・アップグレード・ユーティリティを使用してデータベースをアップグレードすると、停止時間全体が短縮されます。
アップグレード・ステータスの設定に対する変更
Oracle Database 12cリリース1以上のリリースでは、UPGRADEDステータスの意味が変更されています。
アップグレードが完了し、アップグレード中にエラーが発生しなかった場合、Oracle Server、Oracle Multimedia (ORDIM)、Spatial (SDO)およびXDBのステータスは、すべてUPGRADED
に設定されます。この動作は、12.1より前のリリースとは異なります。以前のリリースでは、Oracle Server、Oracle Multimedia (ORDIM)、Spatial (SDO)およびXDBのステータスは、アップグレード後にVALID
に設定されました。12.1以上のリリースでは、UPGRADED
ステータスは、データ・ディクショナリがエラーなしでロードされたことを示します。エラーがregistry$error
に記録されている場合、アップグレードのステータスはINVALID
に設定されます。
アップグレード完了時にエラーがない場合は、データベースのステータスはUPGRADED
に設定されます。この動作は、アップグレード後にデータベースのステータスがVALID
に設定されていた以前のリリースとは異なります。UPGRADED
ステータスは、データ・ディクショナリが、エラーなくロードされたことを示します。エラーがregistry$error
に記録されている場合、アップグレードのステータスはINVALID
に設定されます。
utlrp.sql再コンパイル・スクリプト実行後のステータスの変更
Oracle Database 12cでは、VALID
ステータスの意味が変更されています。
Oracle Databaseの以前のリリースでは、データベースのアップグレード後のVALID
は、データ・ディクショナリのすべてのオブジェクトが再コンパイルされ、使用の準備ができたことを意味しました。Oracle Database 12cでは、VALID
ステータスの取得は別の意味になります。utlrp.sql
スクリプトを通常モードで実行し、データ・ディクショナリのオブジェクトを再コンパイルしてそのデータ・ディクショナリをUPGRADED
ステータスからVALID
ステータスに移動します。
データベースのアップグレードが有効かどうかは、アップグレード後、アップグレードされたデータベースが最初に起動される前にutlrp.sql
が実行されるまで保証できません。アップグレードの実行後にutlrp.sql
を実行しないと、データ・ディクショナリ・オブジェクトのコンパイルが最初のアクセス中に強制されます。データベースに最初にアクセスするユーザーは、この最初のアクセス中にアクセスされる無効なオブジェクトごとにパフォーマンス上の悪影響を受けます。これらの無効なオブジェクトが再コンパイルされた後は、通常の処理に戻ります。utlrp.sql
を実行すると、アップグレード後にデータベースを使用する準備が整います。検出されたエラーは、すぐにレポートされます。アップグレードしたデータベースのユーザーに問題が発生する前に、それらを修正できます。