Oracle Databaseのアップグレード用スクリプト

Oracleには、アップグレードの前、途中および後に実行するアップグレード用のツールおよびスクリプトのセットがあります。

ノート:

Oracleに付属する一部のスクリプトは、UPGRADEモードでは実行できません。

次の表に、様々なスクリプトおよびツールとそれぞれの説明を示します。

表B-1 アップグレード・スクリプト、アップグレード後スクリプトおよびダウングレード・スクリプト

スクリプト 説明

catcon.pl

UPGRADEモードで実行する必要があります。このスクリプトは、CDBをアップグレードする際に使用されます。

catctl.pl

パラレル・アップグレード・ユーティリティ(catctl.plとシェル・スクリプトdbupgrade)。これらのスクリプトをUPGRADEモードで実行します。パラレル・アップグレード・ユーティリティを使用すると、アップグレード・スクリプトとアップグレード処理をパラレルに実行できます。この機能では、サーバーのCPU容量が最大限に利用されるため、アップグレード時間を短縮できます。DBUAではこのツールが使用されます。

dbdowngrade

catdwgrd.sqlスクリプトをコールするシェル・スクリプト・ユーティリティ。catcon.plスクリプトのコールでダウングレードの推奨値が使用されることを確認します。この機能は、アップグレード時に過剰なスレッドが生成されたために発生するエラーの削減に役立ちます。マルチテナント・アーキテクチャ(CDB)のダウングレードに特に役立ちます。このスクリプトの使用は、Oracleの推奨ダウングレード手順です。

dbupgradedbupgrade.cmd

catctl.plスクリプトを呼び出すシェル・スクリプト。これらのスクリプトによって、シェル・コマンド・プロンプトでdbupgradeコマンドを入力できます。これらのスクリプトは、デフォルト値を使用して実行するか、Perlプロンプトからcatctl.plを実行する際に使用するものと同じ入力パラメータを使用して実行できます。LinuxおよびUnixシステムではdbupgradeを使用し、Windowsシステムではdbupgrade.cmdを使用します。

catdwgrd.sql

これは、ダウングレード・スクリプトで、アップグレードする前の以前のリリースへダウングレードする手順で使用します。

catuppst.sql

このスクリプトは、DBUAを通じて実行するか、手動で実行する必要があります(手動アップグレードを実行する場合)。

DBUAでは、catuppst.sqlは自動的に実行されます。手動アップグレードの場合のみ、このスクリプトを個別に実行する必要があります。

これは、UPGRADEモードで実行しないでください。ORACLE_HOME/rdbms/adminディレクトリにあるcatuppst.sqlを実行し、データベースをUPGRADEモードにする必要がない残りのアップグレード操作を実行します。Oracleバンドルパッチまたはパッチ・セット更新(PSUまたはBP)がOracleホームにインストールされている場合は、このスクリプトによってそのパッチ・セット更新がデータベースに自動的に適用されます。

注意: 手動アップグレードを実行する場合に、catuppst.sqlを実行しないと、時間とともにデータベースのパフォーマンスが低下します。

catuptabdata.sql

catuptabdata.sqlスクリプトは、catuppst.sqlによって自動的に実行され、アップグレード時のOracle管理タイプに対する変更によって影響を受けるすべてのOracle管理表にALTER TABLE UPGRADEが実行されます。

catuptabdata.sqlスクリプトは、手動で実行して、Oracle管理タイプに対する変更のためにアップグレードが必要なすべてのOracle管理表をアップグレードできます。コマンドは、SYSDBAシステム権限が付与された、AS SYSDBAに接続しているユーザー・アカウントで実行する必要があります。

emremove.sql

emremove.sqlスクリプトは、Oracle Enterprise Manager関連のスキーマおよびオブジェクトを削除します。このスクリプトを使用して、DB Controlを手動で削除します。emremove.sqlをアップグレード処理の前に実行することで、停止時間が最小化されます。パラレル・アップグレード・ユーティリティおよびDBUAが自動的にこのスクリプトを実行するため、これはオプションのアップグレード前ステップです。

注意: ダウングレードしてDB Controlをリストアするオプションを使用するためにDB Controlの構成およびデータを保持する場合は、emdwgrdを使用した手順を最初に行う必要があります。

postupgrade_fixups.sql

postupgrade_fixups.sqlスクリプトは、Oracle Databaseに付属しています。アップグレード後に、postupgrade_fixups.sqlを実行します。このスクリプトは、DBUAによって自動的に実行されますが、アップグレード後にいつでもこのスクリプトを実行することができます。

utlrp.sql

utlrp.sqlを使用して、ストアドPL/SQLおよびJavaコードを再コンパイルします。DBUAではこのスクリプトが自動的に実行されます。手動でアップグレードする場合、このスクリプトを実行する必要があります。

Oracle Database 18c (RU 18.8)以降のリリースへのアップグレードにAutoUpgradeを使用すると、AutoUpgradeはOracle管理スキーマが所有する無効なオブジェクトのみを再コンパイルします。データベースのアップグレードではユーザー・オブジェクトにアクセスする必要がないため、AutoUpgradeは無効なオブジェクトを再コンパイルするときにこのポリシーを維持します。

utlusts.sql

utlusts.sqlアップグレード後の状態ツールは、Oracle Databaseに付属していて、DBA_REGISTRY内の各コンポーネントのバージョンおよびアップグレード経過時間が表示されます。アップグレード後の状態ツールは、データベースのアップグレード後にいつでも実行できます。

utluptabdata.sql

アップグレード後にutluptabdata.sqlスクリプトを実行して、アップグレード時に変更されたOracle管理タイプに依存するすべてのユーザー表にALTER TABLE UPGRADEコマンドを実行します。

utluptabdata.sqlスクリプトは、アップグレードするすべての表に対するALTER TABLEシステム権限が割り当てられたユーザー・アカウントを使用するか、AS SYSDBAに接続しているSYSDBAシステム権限を持つユーザー・アカウントを使用して実行する必要があります。

ユーザー表は、データベースのアップグレード時に新しいタイプのバージョンに自動的にアップグレードされないため、ユーザー表領域がREAD ONLYに設定された状態でアップグレードを実行できます。