Oracle Databaseのアップグレードに関連するスクリプト

Oracleには、アップグレードに関連する特定のタスクを支援するツールとスクリプトのセットが用意されています。

ノート:

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

Oracle Database 23c以降では、Oracle Databaseをアップグレードするための手動スクリプトの使用はサポートされなくなりました。Oracleでは、データベースのアップグレードにAutoUpgradeを使用することをお薦めします。

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

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

スクリプト 説明

catcon.pl

このアップグレード・スクリプトの使用は、Oracle Database 23cでサポートされなくなりました。

dbdowngrade

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

catdwgrd.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を実行します。このスクリプトは、アップグレード後いつでも実行できます。

utlprpom.sql

AutoUpgrade 23.1以降、AutoUpgradeユーティリティを実行すると、AutoUpgradeによってutlprpom.sqlスクリプトが実行され、utlrp.sqlは実行されません。Oracle Database 12cリリース2 (12.2.0.1)以降のリリースへのアップグレードにAutoUpgradeを使用すると、AutoUpgradeはOracle管理スキーマが所有する無効なオブジェクトのみを再コンパイルします。データベースのアップグレードではユーザー・オブジェクトにアクセスする必要がないため、AutoUpgradeは無効なオブジェクトを再コンパイルするときにこのポリシーを維持します。

utlrp.sql

utlrp.sqlを使用して、ストアドPL/SQLおよびJavaコードを再コンパイルします。このスクリプトでは、ユーザー・スキーマに所有されている無効なオブジェクトが再コンパイルされます。

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に設定された状態でアップグレードを実行できます。