Oracle管理タイプに依存する表のアップグレードについて

Oracle Database 12cリリース2 (12.2)から、表に設定する-TオプションをREAD ONLYに指定して、パラレル・アップグレード・ユーティリティを実行できます。

-Tオプションを指定してパラレル・アップグレード・ユーティリティを実行した場合、Oracle管理オブジェクトを含まないすべての表領域はREAD ONLYに設定されます。これらの表をREAD ONLYに設定すると、データベースをアップグレードする前にバックアップが必要なデータ量を減らすことができます。

Oracle管理タイプに依存するユーザー表(AQキュー表など)がデータベースに含まれる場合、アップグレード後に手動でそれらの表をアップグレードする必要があります。

アップグレードが完了した後でOracle管理タイプに依存する表をアップグレードするには、スクリプトutluptabdata.sqlを実行して、アップグレード中にREAD ONLYに設定された表領域の表に対してALTER TABLE UPGRADEコマンドを実行します。

Oracle Database 12cリリース2以降では、ALTER TYPE文の動作も変更されています。アクセス可能な表領域に従属表がある場合は、それが自動的に新しいバージョン・タイプにアップグレードされます。従属表がREAD ONLY表領域にある場合は、自動的にアップグレードされません。utluptabdata.sqlスクリプトを実行して、アップグレード中にREAD ONLY表領域状態に設定された表をアップグレードします。utluptabdata.sqlスクリプトを実行する必要があるのは、-Tオプションを指定してパラレル・アップグレード・ユーティリティを実行し、アップグレードする場合だけです。

ノート:

これらの表をREAD ONLYに設定すると、表領域内のすべての表は、ユーザーの更新権限レベルに関係なく更新できません。たとえば、SYSDBAとして接続しているユーザーは、アプリケーション・データを変更できません。