Oracle Databaseのアップグレードのトラブルシューティング
これらのトラブルシューティングのヒントを使用して、データベースのアップグレード中に発生する可能性のあるエラーまたは問題に対処します。
また、関連リンクも参照して、発生したエラーに関連する可能性のある、このリリースに影響する変更を理解し、エラーの解決後にアップグレードを再実行する方法について確認してください。
- Oracle Databaseのアップグレード・モードでの起動の概要
Oracle Databaseをアップグレード・モードで起動する場合、固定ビューに対する問合せのみを実行できます。他のビューまたはPL/SQLを実行しようとしても、ここに記載されているエラーが発生します。 - 異なるORACLE_HOME所有者でのDBUAの実行
Oracle Databaseホームが異なるオペレーティング・システム・ユーザー・アカウントによって所有されているか、「upgrade.xmlが見つかりません」エラーが発生した場合、このトピックを参照してください。 - 無効なオブジェクトの警告およびDBAレジストリ・エラー
アップグレードを開始する前に、アップグレード前情報ツール(preupgrd.jar
)を実行することをお薦めします。 - 無効なオブジェクトおよび時期尚早なアップグレード後ツールの使用
アップグレードが完了するまで、新しいOracle Database 12.2リリース(utlu122s.sql
)に対してアップグレード後の状態ツールを実行しないでください。 - Oracle Databaseアップグレード・スクリプトの終了エラーの解決
ORA-00942、ORA-00904またはORA-01722エラーが発生した場合、この項を参照してください。 - Oracle Databaseのアップグレード中におけるリソース制限エラーの原因のトラブルシューティング
リソース制限エラーを意味するORA-01650、ORA-01651、ORA-01652、ORA-01653、ORA-01654、ORA-01655、ORA-0431、ORA-01562、ORA-19815などのエラーが発生した場合、この項を参照してください。 - Oracle DatabaseでのSQL*Plusエディション・セッションの起動エラーの解決
この項を使用して、SP2–1540: 「Oracle Databaseはエディション・セッションでは起動できません。」を理解および解決します。 - エラーORA-00020 utlrp.sqlの実行中に処理の最大数が超過する
このエラーは、使用するOracle構成にリコンパイルに必要な数のプロセスがないことを示します。 - アップグレード後のDBMS_DSTパッケージによるORA-01822の修正
この手順を使用して、タイムゾーン・ファイルの不一致に関連するORA-01822およびORA-16512エラーを修正します。 - 「ORA-28365: ウォレットがオープンしていません」エラーの修正
透過的暗号化(TDE)によるOracleウォレットを使用しており、Database Upgrade Assistant (DBUA)を使用してデータベースをアップグレードする場合は、ORA-28365「ウォレットがオープンしていません」エラーが発生する可能性があります。 - マルチテナント・アップグレード中にORA-44787エラー
アップグレード・ログに複数のORA-44787: サービスに切り替えることができません。
エラーが報告された場合、ターゲットのOracleホームに最新リリースの更新(RU)をインストールしてください。 - ビューCDB_JAVA_POLICYの問題の解決
ビューCDB_JAVA_POLICYが無効になった場合は、この手順を使用します。 - サーバーの再起動後のアップグレードの継続(ADVM/ACFSドライバ・エラー)
Windowsプラットフォームでは、アップグレード中にサーバーが再起動した場合に、ADVMドライバまたはACFSドライバ関連のエラーが発生する可能性があります。 - アップグレード後の状態ツールを使用したコンポーネント・ステータスの理解
アップグレード後の状態ツール(utlu122s.sql
)は、アップグレードの完了後にデータベース・コンポーネント・ステータスをレポートします。 - Standard Editionの初期データベースおよびステータスがOPTION OFFのコンポーネント
Oracle Database Standard Edition (SE)のアップグレードでは、初期データベースに含まれないコンポーネントはアップグレードされません。 - アップグレード後のOracle ASMパスワード・ファイルの場所の調整
Oracle Grid Infrastructureのアップグレード後にOracle ASMの新しいパスワード・ファイルを作成する必要があります。 - プラガブル・データベースのアップグレードでの「警告: XDBは現在無効です」エラーの修正
プラガブル・データベース(PDB)のアップグレード時に「警告: XDBは現在無効です、無効なオブジェクトが見つかりました」というエラーが発生した場合、このトピックを参照してください。 - ORA-27248: 「sys.dra_reevaluate_open_failuresが実行されています」の修正
この手順を使用して、アップグレードをブロックしているDRA_REEVALUATE_OPEN_FAILURES
ジョブを特定します。 - 「ORA-22288: ファイルまたはLOB操作FILEOPENがパスのソフト・リンクで失敗」の修正
ORA-22288は、BFILESをオープンするときにシンボリック・リンクがディレクトリ・オブジェクトのパスまたはファイル名にある場合に発生します。 - Oracle Databaseエンタープライズ・ユーザー・セキュリティ、OLS-OIDおよびプロビジョニング・プロファイルのエラーの修正
参照してORA-16000: 「データベースは読取り専用アクセスでオープンされています。」エラーを理解してください。 - utl32k.sqlおよびMAX_STRING_SIZEによる32K移行エラーの修正
この手順を使用して、ORA-01722: 「数値が無効です。」というアップグレード・エラーを修正します。 - CRSの停止およびローリング移行を失ったOracle ASMからのリカバリ
Cluster Ready Services (CRS)がすべてのクラスタ・メンバーで停止すると、クラスタが異種状態になる可能性があります。この手順を使用して、この問題から回復します。 - データ型のバージョニングによるバージョン間のレプリケーション(ORA-26656)
バージョニングによって影響を受けるユーザー定義のオブジェクト・タイプを確認してください。 - libclntsh.so.11.1での「参照シンボル・カウントが未定義です」エラー
「参照シンボル・カウントが未定義です」、「共有オブジェクト・ファイルを開くことができません」などのエラーによってlibclntsh.so.11.1
を参照するエラーが発生した場合、このトピックを参照してください。 - ISO 8601タイムスタンプを原因とするタイムスタンプ・エラーの解決
Oracle Database 12cリリース2 (12.2)へのアップグレード後にアプリケーションでタイムスタンプ・エラーが発生した場合、このトピックを参照してください。 - Datapatchのみが失敗した場合の失敗したアップグレードの修正
アップグレード中にdatapatchが失敗した場合にのみ、datapatchを直接再実行します。
関連項目
- Oracle Database 12c で非推奨となった機能とサポートが終了した機能
- Oracle Databaseのアップグレードの再実行
親トピック: Oracle Databaseのアップグレード
Oracle Databaseのアップグレード・モードでの起動の概要
Oracle Databaseをアップグレード・モードで起動する場合、固定ビューに対する問合せのみを実行できます。他のビューまたはPL/SQLを実行しようとしても、ここに記載されているエラーが発生します。
データベースがアップグレード・モードで起動された場合、パラレル・アップグレード・ユーティリティ(直接catctl.pl
で、またはdbupgrade
スクリプトを使用して)を実行するまでは、修正したビューでの問合せだけがエラーなしで実行されます。アップグレード・スクリプトを実行する前は、他のビューへの問合せやPL/SQLの実行で、エラーが戻されます。
この項に記載されているエラーは、新しいOracle Database 12cデータベースの起動を試みると発生する可能性があります。これらのエラーの一部はアラート・ログに記録され、セッションには表示されません。いずれかのエラーが表示された場合、 SHUTDOWN ABORT
コマンドでデータベースを停止し、問題を修正します。
-
ORA-00401: パラメータcompatibleの値はこのリリースではサポートされません。
COMPATIBLE
初期化パラメータが11.2.0
未満に設定されている場合。 -
ORA-39701: データベースをUPGRADEまたはDOWNGRADE用にEXCLUSIVEでマウントしてください
CLUSTER_DATABASE
初期化パラメータがFALSE
ではなく、TRUE
に設定されている場合。 -
ORA-39700: データベースは、UPGRADEオプションを使用してオープンしてください
UPGRADE
キーワードを指定しないでSTARTUP
コマンドを発行した場合。 -
Ora-00704: ブートストラップ障害
パス変数が以前のリリースのOracleホームを指している可能性がある場合。
-
ORA-00336: ログ・ファイルのサイズxxxxが最小値8192より小さくなっています
REDOログのサイズが4MB未満の場合。
サポートが終了した初期化パラメータを示すエラーが表示された場合は、そのサポートが終了した初期化パラメータを記録し、アップグレードを継続します。次回、データベースを停止したときに、そのサポートが終了した初期化パラメータを削除します。
異なるORACLE_HOME所有者でのDBUAの実行
Oracle Databaseホームが異なるオペレーティング・システム・ユーザー・アカウントによって所有されているか、「upgrade.xmlが見つかりません」エラーが発生した場合、このトピックを参照してください。
DBUAのアップグレードでは、デフォルトで、ソース(Oracle Database 12cより前のリリース)のOracleホームと宛先(新しい12c)のOracleホームが両方とも同じユーザーに所有されていると想定されます。各Oracleホームが同じユーザーに所有されていない場合、データベース・ファイルの権限を変更し、DBUAに追加のパラメータを渡す必要があります。これを行わない場合、アップグレード中にDBUAの「前提条件チェック」ページに「upgrade.xmlが見つかりません」エラーがレポートされます。このエラーが修正されるまで、アップグレードを継続することはできません。
-
すべてのOracle Databaseインストール所有者は、プライマリ・グループとして、OINSTALLグループ(またはOracleインベントリ・グループ)に指定したグループを保持している必要があります。すべてのデータベース・ファイル(データファイル、REDOファイル、制御ファイル、アーカイブ・ログの保存先、リカバリ領域、SPFILEおよびパスワード・ファイル)が新しい12cと12cより前の両方のバイナリ所有者によって読取りおよび書込み可能であることを確認します。これに該当しない場合、各インストール所有者がそのプライマリ・グループと同じグループを保持していることを確認し、OINSTALLグループのメンバーが以前のリリースと新しいリリースのすべてのOracle Databaseファイルおよびディレクトリに読取り/書込みアクセスできることを確認してください。
-
-logdir
コマンドライン・オプションを指定してDBUAを実行し、新しいリリースと以前のリリースの両方のバイナリ所有者が書き込むことのできるディレクトリを指定します。たとえば、/tmp
のように入力します。DBUAは、logdirパラメータで指定されたディレクトリを使用して、アップグレード前情報ツールからの出力を格納し、アップグレード中に生成されたDBUAログ・ファイルを格納します。以前のリリースのOracle Databaseインスタンスのアップグレード前情報ツールは、以前のリリースのOracle Databaseインストール所有者のユーザー・アカウントとして実行します。次に例を示します。
dbua -logdir /tmp
無効なオブジェクトの警告およびDBAレジストリ・エラー
アップグレードを開始する前に、アップグレード前情報ツール(preupgrd.jar
)を実行することを強くお薦めします。
アップグレード前情報ツールでは、無効なSYSおよびSYSTEMオブジェクト、さらに他の無効なオブジェクトが識別されます。utlrp.sql
を使用して、無効なオブジェクトを再コンパイルします。アップグレード前にこれを行わないと、システム内で、アップグレード前に無効であったオブジェクトと、アップグレード後に無効になったオブジェクトを判別するのが難しくなります。
無効なオブジェクトおよび時期尚早なアップグレード後ツールの使用
アップグレードが完了するまで、新しいOracle Database 12.2リリース(utlu122s.sql
)に対してアップグレード後の状態ツールを実行しないでください。
アップグレード処理が完了し、utlrp.sql
を実行した後でのみ、アップグレード後の状態ツールを実行することをお薦めします。@utlrp.sql
を実行する前にアップグレード後の状態ツールが実行された場合、ツールの出力に正確な最終的コンポーネントの状態値が表示されないことがあります。utlrp.sql
を実行する前にツールが実行された場合、コンポーネントの状態値が最終的な状態を正確に反映しないことがあります。最終的なコンポーネント状態は、utlrp.sql
を実行した後でのみ特定できます。
Oracle Databaseアップグレード・スクリプトの終了エラーの解決
ORA-00942、ORA-00904またはORA-01722エラーが発生した場合、この項を参照してください。
アップグレードの開始前にアップグレード前情報ツールを実行しないと、catctl.pl
およびcatupgrd.sql
スクリプトが次のエラーで終了します。
ORA-00942: table or view does not exist
ORA-00904: "TZ_VERSION": invalid identifier
ORA-01722: invalid number
これらのいずれかのエラーが発生した場合、次の手順を実行します。
-
SHUTDOWN ABORT
コマンドを入力し、コマンドが実行を完了するまで待機します。 -
元のOracleホーム・ディレクトリに戻ります
-
アップグレード前情報ツールを実行します。
Oracle Databaseのアップグレード中におけるリソース制限エラーの原因のトラブルシューティング
リソース制限エラーを意味するORA-01650、ORA-01651、ORA-01652、ORA-01653、ORA-01654、ORA-01655、ORA-0431、ORA-01562、ORA-19815などのエラーが発生した場合、この項を参照してください。
アップグレード中にリソースが不足した場合は、リソースの割当てを増やします。リソースの割当てを増やした後、SHUTDOWN ABORTでインスタンスを停止し、UPGRADEモードでインスタンスを再起動してからcatupgrd.sql
スクリプトを再実行します。
通常、Oracle Databaseの新しいリリース用に増やす必要があるリソースは、次のとおりです。
-
SYSTEM
表領域およびSYSAUX
表領域SYSTEM
表領域のサイズが不十分な場合、通常は次のエラー・メッセージが表示されます。ORA-01650: unable to extend rollback segment string by string in tablespace string ORA-01651: unable to extend save undo segment by string for tablespace string ORA-01652: unable to extend temp segment by string in tablespace string ORA-01653: unable to extend table string.string by string in tablespace string ORA-01654: unable to extend index string.string by string in tablespace string ORA-01655: unable to extend cluster string.string by string in tablespace string
これらのエラーを回避するには、
SYSTEM
およびSYSAUX
表領域にAUTOEXTEND ON MAXSIZE UNLIMITED
を設定します。 -
共有メモリー
場合によっては、より大きな共有メモリー・プール・サイズが必要です。増やす必要がある共有メモリーの初期化パラメータが、次の形式でエラー・メッセージに示されます。
ORA-04031: unable to allocate string bytes of shared memory ("string","string","string","string")
参照:
手動の共有メモリー管理の使用の詳細は、『Oracle Database管理者ガイド』を参照してください。
-
ロールバック・セグメント/UNDO表領域
ロールバック・セグメントを使用している場合、アップグレード・スクリプトの実行中は、1つの大きい(100MBの)
パブリック
・ロールバック・セグメントをオンラインにする必要があります。小さいパブリック・ロールバック・セグメントは、アップグレード中はオフラインにする必要があります。ロールバック・セグメントのサイズが不十分な場合、通常は次のエラーが発生します。ORA-01562: failed to extend rollback segment number string
UNDO表領域を使用している場合は、400MB以上であることを確認してください。
-
高速リカバリ領域
高速リカバリ領域を使用していてアップグレード中にこの領域が一杯になった場合は、アラート・ログに次のエラーが表示され、その後に問題から復旧するためのアドバイスが表示されます。
ORA-19815: WARNING: db_recovery_file_dest_size of string bytes is 98.99% used, and has string remaining bytes available.
問題の根本原因を特定し、アップグレードを続行するための適切な対処を行います。アップグレード中にこの問題が発生しないようにするには、アップグレードを開始する前に、高速リカバリ領域内の使用可能な領域を増やします。
Oracle DatabaseでのSQL*Plusエディション・セッションの起動エラーの解決
この項を使用して、SP2–1540: 「Oracle Databaseはエディション・セッションでは起動できません。」を理解および解決します。
SQL*Plusでアップグレード・スクリプトまたはコマンドを実行してEDITIONパラメータを設定すると、それ以降Oracle Databaseを適切に起動できません。データベースを起動しようとすると、次のエラーが発生します。
SP2-1540: "Oracle Database cannot startup in an Edition session"
この問題を回避するには、このパラメータが変更されるcatugrd.sql
またはSQL*Plusセッションを実行した後に、そのSQL*Plusセッションを終了し、別のセッションでそのインスタンスを再起動します。
エラーORA-00020 utlrp.sqlの実行中に処理の最大数が超過する
このエラーは、使用するOracle構成にリコンパイルに必要な数のプロセスがないことを示します。
PROCESSESパラメータの設定の詳細は、Oracleのマニュアルを参照してください。
アップグレード後のDBMS_DSTパッケージによるORA-01822の修正
この手順を使用して、タイムゾーン・ファイルの不一致に関連するORA-01822およびORA-16512エラーを修正します。
Oracle Database 12cへのアップグレード後にDBMS_DST
パッケージを実行すると、ORA-01882: 「タイムゾーンのリージョンが見つかりません」
エラーが発生する場合があります。
このエラーは、タイムゾーン・ファイルのバージョンが正しく設定されていない場合に返されます。タイムゾーンの設定が正しくないと、いくつかのタイムゾーン・リージョンのリージョンIDがデータベースに正しく格納されないことがあります。次に例を示します。
ERROR at line 1: @ ORA-01882: time zone region not found @ ORA-06512: at "SYS.DBMS_DST", line 113 @ ORA-06512: at "SYS.DBMS_DST", line 1101 @ ORA-06512: at line 1
この問題を修正するには、タイムゾーン・バージョンを更新してアップグレードを再実行します。
「ORA-28365: ウォレットがオープンしていません」エラーの修正
透過的暗号化(TDE)によるOracleウォレットを使用しており、Database Upgrade Assistant (DBUA)を使用してデータベースをアップグレードする場合は、ORA-28365「ウォレットが開いていません」エラーが発生する可能性があります。
マルチテナント・アップグレード中にORA-44787エラー
アップグレード・ログに複数のORA-44787: サービスに切り替えることができません。
エラーが報告される場合、ターゲットのOracleホームに最新リリースの更新(RU)をインストールしてください。
Oracle Database 12cリリース2 (12.2)へのアップグレードにおいて、マルチテナント・システムのアップグレード中のORA-44787エラーの原因は、リリース間でのデータ・ディクショナリの変更による可能性があります。
回避策: ターゲットのOracleホームに最新のRUをインストールして、アップグレードを再実行してください。
ビューCDB_JAVA_POLICYの問題の解決
ビューCDB_JAVA_POLICYが無効になった場合は、この手順を使用します。
Oracle Database 12cリリース2 (12.2)へのアップグレード後、またはリリース12.2から12.1へのダウングレード後に、CDB_JAVA_POLICYビューに関する問題が発生することがあります。通常は機能する方法でビューを使用しているときにCDB_JAVA_POLICYが無効になるか、またはエラーが発生することがあります。エラーが発生した場合はSYSとして接続し、次のコマンドを実行します。
非CDB:
alter session set "_ORACLE_SCRIPT"=true;
exec CDBView.create_cdbview(false,'SYS','dba_java_policy','CDB_java_policy');
grant select on SYS.CDB_java_policy to select_catalog_role
/
create or replace public synonym CDB_java_policy for SYS.CDB_java_policy
/
マルチテナント・アーキテクチャ・システム:
同じこれらのコマンドを実行しますが、まずCDB$ROOTで、次にCDBの他のコンテナで実行します。
サーバーの再起動後のアップグレードの継続(ADVM/ACFSドライバ・エラー)
Windowsプラットフォームでは、アップグレード中にサーバーが再起動した場合に、ADVMドライバまたはACFSドライバ関連のエラーが発生する可能性があります。
サーバーがアップグレード中に再起動した場合、次のいずれかのエラー・メッセージが表示されることがあります。
ACFS-9427: Failed to unload ADVM/ACFS drivers. A system reboot is recommended
ACFS-9428 Failed to load ADVM/ACFS drivers. A system reboot is recommended.
-
原因
ADVMドライバとACFSドライバがまだ使用中です。システムを再起動して新しいドライバを起動する必要があります。
-
処置
次の手順に記載されているステップを完了します。
最初のノード(アップグレードを開始したノード)以外のノードで、次の手順を実行します。
-
エラーが発生したノードを再起動します。
-
そのノード上で、rootスクリプトを再度実行します。
最初のノード(アップグレードを開始したノード)で、次の手順を実行します。
-
クラスタ内の他のすべてのノードでアップグレードを完了します。
-
最初のノードを再起動します。
-
最初のノード上で、rootスクリプトを再度実行します。
-
アップグレードを完了するには、rootでログインし、パス
Grid_home
/cfgtoollogs/configToolAllCommands
にあるスクリプトconfigToolAllCommands
を実行します。
参照:
クラスタのアップグレードの問題のトラブルシューティングの詳細は、使用しているオペレーティング・システムの『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。
アップグレード後の状態ツールを使用したコンポーネント・ステータスの理解
アップグレード後の状態ツール(utlu122s.sql
)は、アップグレードの完了後にデータベース・コンポーネント・ステータスをレポートします。
アップグレード後の状態ツール(utlu122s.sql
)は、アップグレード後に、またはutlrp.sql
で無効なオブジェクトを再コンパイルした後にいつでも実行できます。
次のリストでは、アップグレード後の状態ツールによってレポートされるステータス値を簡単に説明します。
-
INVALID
アップグレードが完了したときに、コンポーネントの一部のオブジェクトが無効な状態のまま残されました。コンポーネント・アップグレードのログ・ファイルにエラーが見つからない場合、スクリプト
utlrp.sql
を実行します。このスクリプトを実行することで、アップグレード全体を再実行せずに無効なコンポーネントのステータスをVALID
に変更できる可能性があります。utlrp.sql
を実行した後に、DBA_REGISTRY
ビューを確認します。 -
VALID
コンポーネントは有効で、エラーがありません。
-
LOADING
コンポーネントはロード中です。
-
LOADED
コンポーネントは正常にロードが終了しました。
-
UPGRADING
コンポーネントはアップグレードの処理中です。
-
UPGRADED
コンポーネントはアップグレードが完了し、エラーがありません。
-
DOWNGRADING
コンポーネントはダウングレードの処理中です。
-
DOWNGRADED
コンポーネントはダウングレードが完了し、エラーがありません。
-
REMOVING
コンポーネントは削除の処理中です。
-
REMOVED
データベースから削除されたため、コンポーネントはアップグレードされませんでした。
-
OPTION OFF
コンポーネントに必要なサーバー・オプションがインストールされていないか、またはサーバーとリンクされていません。
V$OPTION
ビューおよびインストール・ログを確認します。コンポーネントをインストールするか、サーバーを必要なオプションと再リンクしてから、パラレル・アップグレード・ユーティリティを再実行します。 -
NO SCRIPT
コンポーネント・アップグレード・スクリプトが$ORACLE_HOMEに見つかりませんでした。インストール・ログを確認し、コンポーネント・ソフトウェアをインストールしてから、パラレル・アップグレード・ユーティリティを再実行します。
注意:
パラレル・アップグレード・ユーティリティを実行できます(LinuxおよびUNIXではコマンドライン・スクリプトdbupgrade
を、Windowsではdbupgrade.cmd
を使用してcatctl.pl
を実行)。
- アップグレード・サマリー・レポートの例
アップグレード・サマリー・レポートでは、コンポーネントのアップグレード・ステータスに関する情報が提供されます。
アップグレード・サマリー・レポートの例
アップグレード・サマリー・レポートでは、コンポーネントのアップグレード・ステータスに関する情報が提供されます。
アップグレードが完了すると、Oracle Database 12cリリース2以上では、utlu1212.sql
スクリプトによって、次の書込み順序を使用してレポートのコピーが書き込まれます。
-
ORACLE_BASE/cfgtoollogs/db_unique_name/upgradeYYMMDDHHMMSC/upg_summary.rpt
-
$ORACLE_HOME/rdbms/log/upg_summary.rpt
-
LinuxおよびUNIX:
/tmp/upg_summary.rpt
Windowsの場合:
\TEMP\upg_summary.rpt
utlu122s.sql
は、最初のディレクトリ・スキームにレポートを作成できない場合、引き続き2番目の場所、3番目の場所の順に書込みを試みます。これらのどのパスにも書き込むことができない場合、アップグレード・サマリー・レポートは書き込まれません。
例3-35 アップグレード後の状態ツールのアップグレード・サマリー・レポート
Oracle Database 12.2 Post-Upgrade Status Tool 06-05-2015 08:53:44
Component Current Version Elapsed Time
Name Status Number HH:MM:SS
Oracle Server UPGRADED 12.2.0.0.0 00:14:49
JServer JAVA Virtual Machine UPGRADED 12.2.0.0.0 00:04:01
Oracle Real Application Clusters OPTION OFF 12.2.0.0.0 00:00:02
Oracle Workspace Manager UPGRADED 12.2.0.0.0 00:01:07
OLAP Analytic Workspace UPGRADED 12.2.0.0.0 00:00:36
Oracle OLAP API UPGRADED 12.2.0.0.0 00:00:39
Oracle Label Security UPGRADED 12.2.0.0.0 00:00:15
Oracle XDK UPGRADED 12.2.0.0.0 00:00:51
Oracle Text UPGRADED 12.2.0.0.0 00:01:05
Oracle XML Database UPGRADED 12.2.0.0.0 00:01:45
Oracle Database Java Packages UPGRADED 12.2.0.0.0 00:00:17
Oracle Multimedia UPGRADED 12.2.0.0.0 00:04:03
Spatial UPGRADED 12.2.0.0.0 00:05:13
Oracle Database Vault UPGRADED 12.2.0.0.0 00:00:28
Final Actions 00:01:29
Post Upgrade 00:02:28
Total Upgrade Time: 01:02:01
Standard Editionの初期データベースおよびステータスがOPTION OFFのコンポーネント
Oracle Database Standard Edition (SE)のアップグレードでは、初期データベースに含まれないコンポーネントはアップグレードされません。
Oracle Database Standard Edition (SE)の初期データベースをアップグレードする場合、SEサーバーでは、初期データベースに含まれないコンポーネントをアップグレードすることはできません(これらのコンポーネントでは、Standard Editionリリースにインストールされないオプションが必要なため)。
Oracle Database Standard Editionデータベースをアップグレードした後、コンポーネントのDBA_REGISTRY
ビューのSTATUS値がOPTION OFF
になる可能性があります。また、関連するコンポーネント・スキーマに無効なオブジェクトが発生することもあります。Oracle Database Upgrade Assistant (DBUA)には、これらのコンポーネントのアップグレードが失敗したことが表示されます。
アップグレード後のOracle ASMパスワード・ファイルの場所の調整
Oracle Grid Infrastructureのアップグレード後にOracle ASMの新しいパスワード・ファイルを作成する必要があります。
Grid Infrastructureのアップグレード後、srvctl config asm
を実行すると、コマンド出力にはOracle ASMパスワード・ファイルの場所は表示されません。パスワード・ファイルの場所は、新しいOracle ASMディスク・グループに自動的には渡されません。SRVCTLがアップグレード後のパスワード・ファイルの場所を特定できるようにするには、ディスク・グループの互換性の設定を拡張し、ディスク・グループにPWFILEを作成する必要があります。SRVCTLは、共有PWFILEの構成済の場所を報告します。
参照:
ディスク・グループでの共有パスワード・ファイルの管理の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください
プラガブル・データベースのアップグレードでの「警告: XDBは現在無効です」エラーの修正
プラガブル・データベース(PDB)のアップグレード時に「警告: XDBは現在無効です、無効なオブジェクトが見つかりました」というエラーが発生した場合、このトピックを参照してください。
Oracle Database 12cリリース1 (12.1)のプラガブル・データベース(PDB)をOracle Database 12cリリース2 (12.2)のマルチテナント・コンテナ・データベース(CDB)に接続する場合に、XMLオブジェクト・エラーが発生する可能性があります。
オブジェクト・リレーショナルXMLスキーマにシステム生成の名前を登録することで、共通オブジェクト(dba_objects
にsharing='METADATA LINK'を含むオブジェクト)が作成されます。これらの共通タイプは、オブジェクト・リレーショナル記憶域に複数のORDSYSスキーマを登録することで作成されます。
これらの共通オブジェクトの名前はシステムによって生成されますが、リリース12.1で生成される名前は、リリース12.2でそれらのオブジェクトに使用される名前と異なる場合があります。これらの名前変更の可能性により、リリース12.1のオブジェクト・タイプは、リリース12.2のCDBルートの共通タイプと一致しないことがあります。
この問題を解決するには、次の手順を使用します。
ORA-27248: 「sys.dra_reevaluate_open_failuresが実行されています」の修正
この手順を使用して、アップグレードをブロックしているDRA_REEVALUATE_OPEN_FAILURES
ジョブを特定します。
アップグレード時に、DBUAがエラーORA-27248: 「sys.dra_reevaluate_open_failuresが実行されています」で失敗した場合、アップグレードの障害の原因となるジョブDRA_REEVALUATE_OPEN_FAILURES
が実行されています。アップグレードを継続する前に、このジョブが停止していることを確認してください。
ジョブ定義で、ALLOW_RUNS_IN_RESTRICTED_MODE
がTRUEに設定され、ジョブ所有者が制限モード中にログインできる場合、データベースが制限モードやアップグレード・モードでもそのジョブを実行できます。このパラメータのデフォルトの設定はFALSEです。
次の問合せを使用して、実行中のジョブの状態を確認してください。
SQL> select OBJECT_NAME, Owner, OBJECT_TYPE from dba_objects whereobject_name like '%DRA_REEVA%';
「ORA-22288: ファイルまたはLOB操作FILEOPENがパスのソフト・リンクで失敗」の修正
ORA-22288は、BFILESをオープンするときにシンボリック・リンクがディレクトリ・オブジェクトのパスまたはファイル名にある場合に発生します。
ディレクトリ・オブジェクトまたはBFILEオブジェクトを作成するときには、次の条件を満たす必要があります。
-
オペレーティング・システム・ファイルが、シンボリック・リンクまたはハード・リンクではないこと。
-
Oracleディレクトリ・オブジェクトに指定されているオペレーティング・システム・ディレクトリ・パスが、既存のオペレーティング・システム・ディレクトリ・パスであること。
-
Oracleディレクトリ・オブジェクトに指定されているオペレーティング・システム・ディレクトリ・パスのコンポーネントに、シンボリック・リンクが含まれていないこと。
BFILEを開くときに、ディレクトリ・パスとファイル名全体がチェックされます。シンボリック・リンクが検出されると、次のエラーが表示されます。
ORA-22288: file or LOB operation FILEOPEN failed soft link in path
このエラーを解決するには、シンボリック・リンクを削除し、さらに、BFILEを作成するための他の要件に従います。
Oracle Databaseエンタープライズ・ユーザー・セキュリティ、OLS-OIDおよびプロビジョニング・プロファイルのエラーの修正
参照してORA-16000: 「データベースは読取り専用アクセスでオープンされています。」エラーを理解してください。
OLSを使用するデータベースおよびスタンバイ・データベースをアップグレードすると、ORA-16000 (データベースは読取り専用アクセスでオープンされています。)が表示される場合があります。スイッチオーバー後、プロビジョニング・プロファイルを新しいプライマリの接続情報で更新してください。プロビジョニング・プロファイルを更新しないと、新しいスタンバイ(前のプライマリ)にポリシーが伝播し続け、データベースのORA-16000エラーの障害は解消しません。
参照:
Oracle Databaseをリリース10g (10.1)以上からOracle Database 12cにアップグレードする際に必要な追加のステップの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください
utl32k.sqlおよびMAX_STRING_SIZEによる32K移行エラーの修正
この手順を使用して、ORA-01722: 「数値が無効です。」というアップグレード・エラーを修正します。
初期化パラメータMAX_STRING_SIZEがEXTENDED
に設定されているが、utl32k.sql
スクリプトによって実行される32K移行が完了していない場合、データベース・アップグレードは次のエラーで失敗します。
SELECT TO_NUMBER('32K_MIGRATION_NOT_COMPLETED') * ERROR at line 1: ORA-01722: invalid number
データベース・アップグレードではutl32k.sql
スクリプトを自動的に実行せず、32K移行を実行しません。
この手動の手順を使用して、アップグレードと32Kマイグレーションを完了します。
-
初期化パラメータMAX_STRING_SIZEをSTANDARDにリセットします。
-
UPGRADE
モードでデータベースを再起動します。 -
手動による手順を使用してアップグレードを再実行します。
-
データベースのアップグレード後、初期化パラメータMAX_STRING_SIZEを
EXTENDED
に設定します。 -
UPGRADE
モードでデータベースを再起動します。 -
SQLスクリプト
../rdbms/admin/utl32k.sql
を実行します。
utl32k.sql
スクリプトを実行すると、アップグレードしたデータベースで32K移行が完了し、EXTENDEDパラメータがサポートされます。
CRSの停止およびローリング移行を失ったOracle ASMからのリカバリ
Cluster Ready Services (CRS)がすべてのクラスタ・メンバーで停止すると、クラスタが異種状態になる可能性があります。この手順を使用して、この問題から回復します。
CRSがすべてのノードで停止した場合、Oracle Automatic Storage Management (Oracle ASM)ではローリング移行状態が失われます。このCRSの停止によって、異種状態が発生し、すべてのクラスタ・メンバー・ノードを再起動できなくなる可能性があります。クラスタで異なるバージョンの2つのノードを起動することはできません。異なるバージョンのOracle ASMが実行されているノードを起動しようとすると、Oracle ASMノードが実行されている異種ノードのセットのいずれかに障害が発生し、ORA-15153またはORA-15163エラー・メッセージが生成されます。
Oracle Databaseリリース11.2.0.2で、リリース12.1.0.2にアップグレードされる4つのノード(node1、node2、node3およびnode4)の次のシナリオを考えてみます。
-
node1およびnode2は12.1.0.2にアップグレードされ、実行中です。
-
node3およびnode4は11.2.0.2のままで、実行中です。
-
すべてのCRSスタックがダウンしている停止があると考えます。クラスタは異機種状態のままです(つまり、11.2.0.2に2ノード、12.1.0.2に2ノード)。
このシナリオを例として使用し、次の手順を実行します。
-
以前のリリースのノードのみを再起動します。このシナリオでは、リリース11.2.0.2 (node3またはnode4、あるいはその両方)のノードを起動します。
-
12.1.0.2ノードを起動する前に、node3またはnode4でOracle ASMインスタンスに次のSQLコマンドを実行します。
ALTER SYSTEM START ROLLING MIGRATION TO '12.1.0.2'
-
障害の時点から、記載されているアップグレード手順を継続します。
データ型のバージョニングによるバージョン間のレプリケーション(ORA-26656)
バージョニングによって影響を受けるユーザー定義のオブジェクト・タイプを確認してください。
リリース12.1.0.2では、Oracleオブジェクト・タイプの属性に使用できるデータ型のバージョニングが導入されています(Oracle Bug#18897657を参照)。この機能により、リリース12.1.0.1データベースとリリース12.1.0.2データベースのバージョン間のレプリケーションは影響を受ける可能性があり、ORA-26656エラーが発生します。
ユーザー定義のオブジェクト・タイプにDATE
、TIMESTAMP
、TIMESTAMP WITH TIME ZONE
、TIMESTAMP WITH LOCAL TIME ZONE
、BINARY_FLOAT
、BINARY_DOUBLE
、NCHAR
、NVARCHAR2
、NCLOB
、ANYDATA
などのオブジェクトの属性が含まれる場合、リリース12.1.0.1のすべてのインスタンスに必須のパッチ・セット更新18038108を適用する必要があります。
libclntsh.so.11.1での「参照シンボル・カウントが未定義です」エラー
「参照シンボル・カウントが未定義です」、「共有オブジェクト・ファイルを開くことができません」などのエラーによってlibclntsh.so.11.1
を参照するエラーが発生した場合、このトピックを参照してください。
Oracle Database 12cへのアップグレード中に、libclntsh.so.11.1
ファイルに対してリンクされているクライアント・アプリケーションが、Oracle Solaris、HP-UX ItaniumまたはIBM AIXプラットフォームで実行できない場合があります。その場合、次のようなエラー・メッセージが表示されます。
referenced symbol count is undefined
回避策
影響を受けるクライアント・アプリケーションを新しいlibclntsh.so.12.2
ファイルに対して再リンクします。
ISO 8601タイムスタンプを原因とするタイムスタンプ・エラーの解決
Oracle Database 12cリリース2 (12.2).へのアップグレード後にアプリケーションでタイムスタンプ・エラーが発生した場合、このトピックを参照してください
ISO 8601は、国際標準化機構(ISO)および国際電気標準会議(IEC)によって策定された、日付と時刻関連のデータを交換するための国際標準です。この標準の目的は、数値で日付と時刻を記述する場合に異なる表記規則を使用するそれぞれの国の間で使用されるデータについて、日付と時刻の間違った解釈を避けるため、日付と時刻を表現するための共通の国際標準を提供することです。次に例を示します。
2015-09-23T19:25:25.123456+00:00
この標準を使用することをお薦めします。
デフォルトでは、初期化パラメータUNIFORM_LOG_TIMESTAMP_FORMATはTRUEに設定されます。ISO 8601標準を使用することでスクリプトが中断する場合、UNIFORM_LOG_TIMESTAMP_FORMATをFALSEに設定し、Oracle Database 12.2リリースを、Oracle Database 12.1で使用していたタイムスタンプ形式に戻すことができます。初期化パラメータの変更後、ISO 8601タイムスタンプを使用できるようにスクリプトを修正してください。スクリプトでISO 8601標準を使用できるようになったら、パラメータをデフォルト値のTRUEに戻してください。
Datapatchのみが失敗した場合の失敗したアップグレードの修正
アップグレード中にdatapatchが失敗した場合にのみ、datapatchを直接再実行します。
Datapatchスクリプトdatapatch.pl
は、PERLスクリプトです。一部のパッチ適用操作では、ORA-20001などのエラーのため、最終的なアップグレード後のパッチ適用は実行されないことがあります。Datapatchスクリプトのみが失敗した場合は、この問題を修正するためにアップグレードを再実行する必要はありません。かわりに、datapatch.pl
を直接実行します。
失敗したdatapatchを修正するには、Oracleユーザーとしてログインし、この手順を完了します。