B Oracle Databaseアップグレード・ユーティリティ

Oracleアップグレード・ユーティリティ・スクリプトは、Oracle Databaseのアップグレードの実行に役立ちます。

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

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

ノート:

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

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

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

スクリプト 説明

catcon.pl

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

catctl.pl

パラレル・アップグレード・ユーティリティ(catctl.plとシェル・スクリプトdbupgrade)。これらのスクリプトは、UPGRADEモードで実行する必要があります。Oracle Database 12c以上のリリースでは、パラレル・アップグレード・ユーティリティによって、SQLアップグレード・ユーティリティcatupgrd.sqlが置き換えられています。パラレル・アップグレード・ユーティリティを使用すると、アップグレード・スクリプトとアップグレード処理をパラレルに実行できます。この機能では、サーバーのCPU容量が最大限に利用されるため、アップグレード時間を短縮できます。DBUAではこのツールが使用されます。

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

catdwgrd.sql

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

catnoamd.sql

UPGRADEモードでは実行しないでください。アップグレード後にのみ、このスクリプトを実行します。catnoamd.sqlスクリプトは、OLAPカタログのコンポーネント(AMDとも呼ばれます)を削除します。

catnoexf.sql

アップグレード・プロセスによって、このスクリプトが実行されますが、アップグレード前にcatnoexf.sqlスクリプトを実行できます。このスクリプトをUPGRADEモードで実行しないでください。catnoexf.sqlスクリプトによって、このリリースでサポートが終了したExpression Filter (EXF)およびデータベースRules Manager (RUL)コンポーネントが削除されます。

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システム権限が付与された、SYSDBAとして接続しているユーザー・アカウントで実行する必要があります。

emdwgrd

このスクリプトをUPGRADEモードで実行しないでください。emdwgrdユーティリティは、リリース11gデータベースのOracle Enterprise Manager Database Control (DB Control)構成ファイルおよびデータを保存します。

Oracle Database 18cをOracle Database 11g (11.2)にダウングレードする必要があり、Oracle DB Controlをリストアする必要があると考えられる場合、アップグレードの前にemdwgrdを実行する必要があります。

関連項目: OracleサポートのドキュメントID 1484775.1。

emremove.sql

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

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

olspreupgrade.sql

このスクリプトをUPGRADEモードで実行しないでください。olspreupgrade.sqlスクリプトは事前処理スクリプトで、Oracle Label Security (OLS)およびOracle Database Vaultを使用するOracle Databaseリリース12.1より前のデータベースをアップグレードする場合に必要です。

postupgrade_fixups.sql

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

preupgrd.sql

(12.2以上のリリースで廃止) preupgrd.sqlアップグレード前情報ツールは、Oracle Database 12cリリース1 (12.1)に付属しています。データベースを分析するために、preupgrd.sqlをアップグレード前に実行します。アップグレード前情報ツールでは、DBUAが確認する項目のプレビューが提供され、ソース・データベースでフラグ付けされている問題を解決するために実行できる修正スクリプトと呼ばれるスクリプトが生成されます。リリース12.1で、utlu121i.sqlスクリプトがpreupgrd.sqlスクリプトに置き換えられました。リリース12.2で、preupgrd.sqlpreupgrade.jarに置き換えられています。

preupgrade.jar

preupgrade.jarアップグレード前情報ツールは、Oracle Database 12cリリース2 (12.2)に付属しています。preupgrade.jarの機能は、preupgrade.jarによって置き換えられたpreupgrd.sqlと同じです。

utlrp.sql

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

utlu122s.sql

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

utluptabdata.sql

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

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

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