Oracleでは、ご使用のデータベース環境に応じたアップグレード・オプションおよびOracle Databaseのアップグレード処理を自動化するツールが提供されます。
この章の内容は次のとおりです。
アップグレード前後の処理、互換性および相互運用性の最新情報、ディスカッション、ベスト・プラクティスについては、My Oracle Support Webサイト(https://support.oracle.com
)を参照してください。Note IDまたは「データベース・アップグレード」などのキーワードで検索できます。
パッチ・セットに関するすべてのナレッジ・ベースおよび最新情報については、My Oracle Support(https://support.oracle.com
)にアクセスして、検索基準を入力してください。
Oracle Database 11gリリース2へのアップグレードについては、My Oracle Support(https://support.oracle.com
)のID 785351.1「Oracle Upgrade Companion」を参照してください。以前のリリースへのアップグレードに関するその他のUpgrade Companionも利用できます。
アップグレード前情報ツールのダウンロードと実行については、My Oracle Support(https://support.oracle.com
)のID 884522.1「Oracle Database Pre-Upgrade Utility」を参照してください。
これらのアップグレード手順によって、関連アプリケーションを含む既存のOracle Databaseシステムが、Oracle Database 11gリリース2(11.2)システムに変換されます。アップグレード手順はすべてのオペレーティング・システムに適用されますが、例外として一部のオペレーティング・システム固有の詳細項目があります。それについては、オペレーティング・システム固有のOracleマニュアルを参照してください。
Oracle Database 11gリリース2(11.2)は、新しいリリースにデータベースをアップグレードするための次のツールおよび方法をサポートしています。
Database Upgrade Assistant(DBUA)
Graphical User Interfaceによる指示に従ってデータベースをアップグレードできます。DBUAは、インストール中にOracle Universal Installerから起動することもできますが、後からいつでもスタンドアロン・ツールとして起動することができます。
注意: メジャー・リリースのアップグレードまたはパッチ・リリースのアップグレードには、DBUAを使用する方法が推奨されています。 |
SQLスクリプトおよびユーティリティを使用した手動アップグレード
SQLスクリプトとユーティリティを使用して、アップグレードをコマンドラインで実行できます。
エクスポート/インポート・ユーティリティ
Oracle Data PumpユーティリティまたはOracle Database内の固有のエクスポートおよびインポート機能を使用します。これらのユーティリティでは、データベースの全体または一部をエクスポートし、それを新しいOracle Database 11gにインポートします。エクスポート/インポートは、データベースを変更することなく、データベース内のデータのサブセットをコピーすることができます。
CREATE TABLE AS
SQL文
データベースから新しいOracle Database 11gデータベースにデータをコピーします。データのコピーによって、データベースを変更することなく、データのサブセットをコピーできます。
既存のOracle Databaseを新しいOracle Database 11gリリースにアップグレードする手順の詳細は、『Oracle Databaseアップグレード・ガイド』の該当する章を参照してください。
次の手順に、アップグレード処理で実行する主な手順の概要を示します。
手順1: アップグレードの準備
新しいOracle Database 11gリリースの機能を理解します。
新しいリリースへのアップグレード・パスを決定します。
アップグレード方法を選択します。
新しいリリースのOracleホーム・ディレクトリを選択します。
テスト計画を作成します。
バックアップ計画を準備します。
注意: アップグレード中、新しいリリースをテストしている間、既存のリリースを本番環境として使用するために複数のリリースのデータベース・ソフトウェアを実行することを検討してください。「複数のOracleリリースの実行の概要」を参照してください。 |
手順2: アップグレード処理のテスト
テスト・データベースを使用して、アップグレードのテストを実行します。アップグレードのテストは、テスト用に作成した環境で行う必要があり、実際の本番データベースに影響しないようにします。
手順3: アップグレードしたテスト・データベースのテスト
テスト・データベースおよび新しいOracle Database 11gリリースにアップグレードされたテスト・データベースに対して、手順1で計画したテストを実行します。
結果を比較して、テスト・データベースに対するテスト結果と、アップグレードされたデータベースに対するテスト結果の相違点を記録します。
発見した相違点を解決する方法を調べて、その解決方法を実装します。
アップグレードのテストが問題なく完了し、必要なアプリケーションで正常に動作するまで、必要に応じて手順1、手順2、および手順3の最初の部分を繰り返します。
第2章「Oracle Databaseのアップグレードの準備」では、手順1から3までを詳しく説明します。
手順4: 本番データベースの準備および保存
新しいOracle Database 11gリリースへのアップグレードが正しく行われるように、現行の本番データベースを準備します。
本番データベースのバックアップ処理とアップグレード処理に必要な停止時間をスケジューリングします。
現行の本番データベースのバックアップを作成します。データベースのデータが失われないように、必要に応じて、全体または増分バックアップを作成します。
手順5: 本番データベースのアップグレード
新しいOracle Database 11gリリースへ本番データベースをアップグレードします。
アップグレードの後、本番データベースの全体バックアップおよびその他のアップグレード後の処理を行います。
第3章「新しいリリースのOracle Databaseへのアップグレード」では、手順4および手順5でのDBUAの使用方法または手動アップグレードの実行方法について説明します。第4章「Oracle Databaseのアップグレード後の作業」では、アップグレード後の手順5のバックアップ手順および手順6のその他のアップグレード後の処理について説明します。
手順6: 新しい本番データベースのチューニングおよび調整
新しいOracle Database 11gの本番データベースをチューニングします。新しい本番データベースのパフォーマンスは、アップグレード前のデータベースと同等以上にする必要があります。
第4章「Oracle Databaseのアップグレード後の作業」では、これらの調整について説明します。
新しいOracle Database 11gリリースのどの機能を使用するかを決定し、それに応じてアプリケーションを更新します。
必要に応じて、新しいデータベース管理の手順を作成します。
すべてのアプリケーションがテストされ、適切に動作するまでは、本番ユーザーを新しいリリースにアップグレードしないでください。
第5章「Oracle Databaseのアップグレード後のアプリケーションのアップグレード」では、アプリケーションを更新する際の考慮点について説明します。
図1-1は、アップグレード処理の主な手順を示しています。
『Oracle Databaseアップグレード・ガイド』では、Oracle Databaseの異なるリリース間での移行について説明します。Oracle9iリリース2(9.2)以上では、リリース番号の2番目の数字が変更されて、Oracle Databaseのメンテナンス・リリースが示されます。以前のリリースでは、3番目の数字がメンテナンス・リリースを表していました。
図1-2に、リリース番号の各部分とその意味を示します。
リリース番号の詳細は、次の項で説明します。
関連項目: Oracleのリリース番号の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
『Oracle Databaseアップグレード・ガイド』にデータベースのメジャー・リリース番号に関する説明が記載されている場合、その説明は、そのデータベースのメジャー・リリースに含まれるすべてのリリースに適用されます。Oracle Database 11gに関する説明は、Oracle Database 11gリリース1(11.1)およびOracle Database 11gリリース2(11.2)に適用されます。Oracle Database 10gに関する説明は、Oracle Database 10gリリース1(10.1)およびOracle Database 10gリリース2(10.2)に適用され、Oracle9iに関する説明は、Oracle9iリリース1(9.0.1)およびOracle9iリリース2(9.2)などに適用されます。
同様に、『Oracle Databaseアップグレード・ガイド』にメンテナンス・リリースに関する説明が記載されている場合、その説明は、そのメンテナンス・リリースに含まれるすべてのコンポーネント固有のリリースおよびプラットフォーム固有のリリース(パッチ・セット・リリースとも呼ばれる)に適用されます。したがって、Oracle Database 11gリリース2(11.2)に関する説明は、リリース11.2.0.1、リリース11.2.0.2、リリース11.2.0.3およびOracle Database 11gリリース2(11.2)に含まれるその他すべてのプラットフォーム固有のリリースに適用されます。
同一のコンピュータ上で異なるリリースのOracle Databaseを同時に実行できます。ただし、複数のリリースを同時に使用する場合は次の条件を考慮する必要があります。
Oracle Databaseは、以前のリリースとは別の新しいOracleホームにインストールする必要があります。
1つのOracleホームに複数のリリースをインストールすることはできません。複数のOracleホームを作成する場合、OFAを採用することをお薦めします。
それぞれのデータベース・サーバーは、そのリリース番号に対応するデータベースにのみアクセスできます。
たとえば、Oracle9iおよびOracle Database 11gを同一のコンピュータにインストールしている場合は、Oracle9iのデータベース・サーバーはOracle9iデータベースにはアクセスできますが、Oracle Database 11gのデータベースにはアクセスできません。また、Oracle Database 11gのデータベース・サーバーはOracle Database 11gのデータベースにはアクセスできますが、Oracle9iデータベースにはアクセスできません。
関連項目: ご使用のオペレーティング・システムで複数のリリースのOracle Databaseを実行する方法および適用される可能性のある制限の詳細は、各オペレーティング・システム固有のOracleマニュアルを参照してください。 |
次の項では、複数のリリースのOracle Databaseを実行する際の概要を説明します。
同じコンピュータ・システムに以前のリリースのOracle Databaseをインストールして、それらのデータベースにクライアントから接続できない場合があります。たとえば、同じコンピュータ上の複数の(異なる)OracleホームにOracle8i、Oracle9i、Oracle Database 10gおよびOracle Database 11gデータベースをインストールし、Oracle8i、Oracle9i、Oracle Database 10gおよびOracle Database 11gクライアントから、いずれかまたはすべてのデータベースに接続することはできません。1つのシステム上にいくつかのリリースの組合せを配置できる場合があります。ただし、必ず互換性とサポートされている構成に関する最新情報を参照してください。
関連項目: My Oracle Support(https://support.oracle.com )のNote 207303.1「Client / Server / Interoperability Support Between Different Oracle Versions」 |
異なるコンピュータ上の複数の(異なる)OracleホームにOracle8i、Oracle9i、Oracle Database 10gおよびOracle Database 11gデータベースをインストールし、Oracle8i、Oracle9i、Oracle Database 10gおよびOracle Database 11gクライアントから、いずれかまたはすべてのデータベースに接続できます。
Oracle8i、Oracle9i、Oracle Database 10gまたはOracle Database 11gのデータベースを、新しいOracle Database 11gリリースにアップグレードして、Oracle8i、Oracle9i、Oracle Database 10gおよびOracle Database 11gクライアントから、アップグレードされたデータベースに接続できます。必ず互換性とサポートされている構成に関する最新情報を参照してください。
Oracle8i、Oracle9i、Oracle Database 10gまたはOracle Database 11gのクライアントのいずれかまたはすべてを、新しいOracle Database 11gリリースにアップグレードできます。新しいOracle Database 11gリリースのクライアントから、Oracle8i、Oracle9i、Oracle Database 10gおよびOracle Database 11gのデータベースにアクセスできます。
Oracle Databaseリリース間の相違点が原因で、互換性の問題や相互運用性の問題が発生する可能性があります。これらの違いは、一般的なデータベース管理および既存のアプリケーションに影響する可能性があります。
次の項で、互換性および相互運用性について説明します。
異なるリリースのOracle Databaseソフトウェアで同じ機能がサポートされており、その機能が同様に動作する場合は、リリースが異なってもデータベースには互換性があります。新しいリリースのOracle Databaseへアップグレードする場合、一部の新機能が原因で以前のリリースとの互換性が失われることがあります。
アップグレードしたデータベースで以前のリリースとの互換性が失われるのは、次の場合です。
新機能によってディスクに格納されるデータ(データ・ディクショナリの変更を含む)が、以前のリリースでは処理できない場合。
既存の機能の動作が、以前の環境と新しい環境とで異なる場合。
次の項目には、互換性の詳細が記載されています。
Oracle Databaseでは、COMPATIBLE
初期化パラメータを使用して、データベースの互換性を制御できます。COMPATIBLE
初期化パラメータがパラメータ・ファイルに設定されていない場合、Oracle Database 11gリリース2(11.2)では11.2.0
がデフォルトで設定されます。アップグレードしたデータベースの互換性を失わせる可能性のあるOracle Database 11gリリース2(11.2)の新機能は、COMPATIBLE
初期化パラメータをこの値に設定しないかぎり使用できません。
注意:
|
関連項目: 初期化パラメータの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
表1-1に、Oracle Database 11gリリース2(11.2)、およびOracle Database 11gリリース2(11.2)へのアップグレードがサポートされている各リリースのCOMPATIBLE
初期化パラメータのデフォルト値、最小値、最大値を示します。
表1-1 COMPATIBLE初期化パラメータ
Oracle Databaseのリリース | デフォルト値 | 最小値 | 最大値 |
---|---|---|---|
Oracle9iリリース2(9.2) |
|
|
|
Oracle Database 10gリリース1(10.1) |
|
|
|
Oracle Database 10gリリース2(10.2) |
|
|
|
Oracle Database 11gリリース1(11.1) |
|
|
|
Oracle Database 11gリリース2(11.2) |
|
|
|
Oracle Database 11gリリース2(11.2)にアップグレードする前に、COMPATIBLE
初期化パラメータを10.0.0
以上に設定する必要があります。COMPATIBLE初期化パラメータがこの値に設定されている間は、Oracle Database 11g
リリース2(11.2)のサブセットの機能のみが使用できます。
Oracle Database 11gリリース2(11.2)にアップグレードしたら、COMPATIBLE
初期化パラメータを新しいリリースのリリース番号と一致するように設定できます。このように設定すると、新しいリリースのすべての機能を使用できますが、以前のリリースにダウングレードすることはできません。
アップグレード後にダウングレードする場合は、アップグレード後も、COMPATIBLE
初期化パラメータを次のように設定する必要があります。
Oracle Database 10gリリース1(10.1)からアップグレードした場合は設定を10.1.0
に維持
Oracle Database 10gリリース2(10.2)からアップグレードした場合は10.2.0
または10.1.0に設定
Oracle Database 11gリリース1(11.1)からアップグレードした場合は11.1.0
、10.2.0
または10.1.0
に設定
重要: COMPATIBLE パラメータを増やした後、データベースを互換性のために設定されたリリースより前のリリースにダウングレードすることはできません。 |
COMPATIBLE
初期化パラメータは、次のように動作します。
データベースの動作を制御します。たとえば、COMPATIBLE
初期化パラメータを10.1.0
に設定してOracle Database 11gリリース2(11.2)のデータベースを実行すると、Oracle Database 10gリリース1(10.1)と互換性のあるデータベース構造がディスクに生成されます。つまり、COMPATIBLE
初期化パラメータの設定によって、新機能を有効または無効にできます。データベースの互換性を損なう新機能をCOMPATIBLE
初期化パラメータの操作によって使用しようとすると、エラーが表示されます。ただし、互換性を損なう変更をディスクに行わない新機能はすべて使用できます。
これが、そのデータベースのCOMPATIBLEの設定と互換性があることを確認します。データベースがその設定と互換性がない場合、データベースは起動せず、エラーを戻して終了します。この場合、COMPATIBLE
初期化パラメータを、データベースに対する適切な値に設定する必要があります。
関連項目: データベース構造の詳細は、『Oracle Database概要』を参照してください。 |
データベースの互換性レベルは、COMPATIBLE
初期化パラメータの値に対応します。たとえば、COMPATIBLE
初期化パラメータを11.2.0
に設定すると、データベースはリリース11.2.0の互換性レベルで実行されます。
COMPATIBLE初期化パラメータの現在の値を確認するには、次の手順を実行します。
次のSQL文を入力します。
SQL> SELECT name, value FROM v$parameter WHERE name = 'compatible';
COMPATIBLE
パラメータは、アップグレードしたデータベースの完全なテストを実行した後でのみ増やすことをお薦めします。アップグレードが完了したら、COMPATIBLE
初期化パラメータの設定を新しいOracle Database 11gリリースの最大レベルまで増加できます。ただし、COMPATIBLE
パラメータを増やすと、後でデータベースをダウングレードできません。
Oracle Databaseにおける相互運用性とは、異なるリリースのOracle Database間での通信および連動が分散環境において可能である状態を指します。分散データベース・システムには異なるリリースのOracle Databaseを配置することができ、サポート対象すべてのリリースのOracle Databaseを分散データベース・システムに参加させることができます。ただし、分散データベースと連動するアプリケーションでは、システム内の各ノードで使用できる機能やファンクションとも相互運用できる必要があります。
新しいOracle Database 11gリリースの最小要件によって一部またはすべてのホストのオペレーティング・システムをアップグレードする必要がある場合があるため、特にローリング・アップグレード時には、異なるオペレーティング・システムおよびオペレーティング・システム・バージョン間での相互運用性が問題となる可能性があります。そのため、ローリング・アップグレード中のシステムのすべての中間的な状態において、ドライバ、ネットワークおよびストレージ間の互換性を確認する必要があります。
注意: 『Oracle Databaseアップグレード・ガイド』では、異なるリリースのOracle Database間で実行されるアップグレードおよびダウングレードについて説明しているため、相互運用性の定義はOracle Databaseリリース用です。他のOracleのマニュアルでは、さらに幅広い定義で相互運用性という言葉を使用している場合があります。たとえば、異なるハードウェア・プラットフォームおよびオペレーティング・システム間の通信を相互運用性という場合があります。 |
関連項目: My Oracle Support(https://support.oracle.com )のNote ID 207303.1「Client / Server / Interoperability Support Between Different Oracle Versions」 |
Oracle Databaseのインストールには、Optimal Flexible Architecture(OFA)規格をお薦めします。OFA規格とは、効率的で信頼性のあるOracle Database用の構成ガイドラインであり、メンテナンスが簡素化されます。
OFAには、次のメリットがあります。
ディスク上の大量の複雑なソフトウェアおよびデータを、デバイスのボトルネックまたはパフォーマンスの低下を避けながら構成する。
ソフトウェアやデータのバックアップ機能など、データ破損の危険性のある日常業務を簡単にする。
複数のOracle Database間での切替えを軽減する。
データベースの成長を処理および管理できる。
データ・ディクショナリにおける空き領域の断片化を排除し、その他の断片化を特定し、リソース競合を最小限に抑える。
現在、OFA規格を使用していない場合、OFA規格への切替えには、ディレクトリ構造の修正とデータベース・ファイルの再配置が伴います。
関連項目:
|
以前は32ビットOracle Databaseをインストールしていた環境に64ビットOracle Database 11gソフトウェアをインストールすると、新しいOracle Database 11gリリースへのパッチ・リリースまたはメジャー・リリースのアップグレード中にデータベースは自動的に64ビットに変換されます。
変換を完了するには、次のアップグレード後の処理を手動で実行する必要があります。
64ビットの操作をサポートするために、システム・グローバル領域に影響を与える初期化パラメータ(SGA_TARGET
、SHARED_POOL_SIZE
など)を増やします。
適切な64ビット用の初期化パラメータで新しいセッションを作成するために、データベースの起動後に再接続します。次に例を示します。
CONNECT AS SYSDBA STARTUP UPGRADE CONNECT AS SYSDBA SPOOL UPGRADE.LOG @catupgrd.sql
関連項目:
|
Oracle Databaseの32ビットから64ビットへの変換のトラブルシューティング
32ビットのデータベースを64ビットに移行する場合、utlrp.sql
スクリプトを実行すると、既知のエラーORA-07445が発生します。
ORA-07445: 例外が検出されました: コア・ダンプ [_intel_new_memcpy()+2132] [ACCESS_VIOLATION] [ADDR:0x11D1F0F67] [PC:0x621BEA4] [UNABLE_TO_READ] []
utlrp.sql
スクリプトはORACLE_HOME
/rdbms/admin
ディレクトリにあり、ストアドPL/SQLおよびJavaコードを再コンパイルするために使用されます。このエラーおよび回避策については、My Oracle Support (http://support.oracle.com
)のNote ID 341880.1「How to convert a 32-bit database to a 64-bit database on Linux」を参照してください。
ローリング・アップグレード処理では、データベースを停止することなく、Oracle Real Application Clusters(Oracle RAC)環境のOracle Automatic Storage Management(Oracle ASM)インスタンスを一度に1つずつアップグレードできます。選択したローリング・アップグレード方法に応じて、データベースをほとんどまたはまったく停止することなく、Oracle DatabaseソフトウェアやOracle ASMインスタンスのアップグレード、パッチ・セットの適用、または個々のパッチの適用(個別パッチとも呼ばれる)を実行できます。Databaseインスタンスのローリング・アップグレードはサポートされません。
関連項目:
|
Oracleでは、ご使用の環境およびアプリケーションに応じて、ローリング・アップグレードを実行するための様々な方法とオプションを提供します。表1-2は、ローリング・アップグレードの様々な実行方法の概要と適切なドキュメントへの相互参照を示しています。
表1-2 Oracle Databaseのローリング・アップグレードの実行方法
新しいOracle Database 11gリリースより前のリリースのOracle Database Standard Editionを使用している場合は、Oracle Enterprise Editionソフトウェアをインストールし、第3章「新しいリリースのOracle Databaseへアップグレード」で説明する通常のアップグレード手順を実行して、Oracle Database Enterprise Editionに変更することができます。
注意: この手順を実行すると、Standard Editionソフトウェアが削除され、その結果としてOracleホーム下に存在するデータベース・ファイルが削除されます。したがって、保持する必要のある現在のOracleホーム下のデータベース・ファイルはすべてバックアップする必要があります。これについては、手順4および5で説明しています。「リリース11.2.0.4の削除ツールに関する既知の問題」も参照してください。 |
既存のStandard EditionデータベースをEnterprise Editionデータベースに変更するには、次の手順を実行します。
Standard Editionサーバー・ソフトウェアとEnterprise Editionサーバー・ソフトウェアのリリース番号が同じかどうかを確認します。
たとえば、Standard Editionサーバー・ソフトウェアがリリース11.1.0.6の場合、Enterprise Editionサーバー・ソフトウェアもリリース11.1.0.6にアップグレードする必要があります。
データベースを停止します。
オペレーティング・システムがWindowsの場合、OracleService
SID
(SID
はインスタンス名)を含むすべてのOracleサービスを停止します。
$Oracle_Home/network/admin
下のファイルのバックアップ・コピーを作成します。こうすることにより、これら一連の手順の完了後にリスナーが構成されます。
保持する必要のある現在のOracleホーム下のデータベース・ファイルおよびデータをすべてバックアップします。
Linuxの場合は、$Oracle_Home/dbs/
をバックアップします。
Windowsの場合は、$Oracle_Home/database/
をバックアップします。
Oracle_Home/utl
ディレクトリにあるorabase_cleanup.lst
ファイルを編集し、「oradata」および「admin」エントリを削除します。「以前のリリースのOracle DatabaseのOracleホームを削除したことにより、そのOracleホームに関連付けられていた古いOracleベースが削除される可能性がある」を参照してください。
Standard Editionサーバー・ソフトウェアを削除します。
Oracleホームからdeinstall
ツールを実行します。削除ツールは、UNIXプラットフォームの場合$ORACLE_HOME/deinstall
ディレクトリに、Windowsプラットフォームの場合ORACLE_HOME\deinstall
ディレクトリにあります。
重要: 削除ツールでは、データベースのデータも含めてOracleホームにある既存のデータベース・ファイルがすべて削除されます。したがって、データの現在のバックアップを保持することをお薦めします。 |
Oracle Universal Installer(OUI)を使用して、Enterprise Editionサーバー・ソフトウェアをインストールします。
削除したStandard Editionで使用されていたのと同じOracleホームを選択します。インストール中は、必ずEnterprise Editionを選択します。プロンプトが表示されたら、「データベース構成」画面から「ソフトウェアのみ」を選択します。
データベースを起動します。
これで、ご使用のデータベースがEnterprise Editionへアップグレードされました。
$Oracle_Home
/utl
ディレクトリにあるorabase_cleanup.lst
ファイルを編集し、「oradata
」および「admin
」エントリを削除します。その後、アンインストールを続行します。Enterprise EditionデータベースからStandard Editionデータベースへの変換を適切に行うには、エクスポート/インポート操作を実行する必要があります。このデータのエクスポートには、Standard Editionの エクスポート・ユーティリティ を使用することをお薦めします。Standard Editionソフトウェアのインストールのみを実行した場合、一部のデータ・ディクショナリ・オブジェクトが無効になり、データベースのメンテナンス時に問題が発生します。
Enterprise Editionには、Standard Editionで使用できないデータ・ディクショナリ・オブジェクトが含まれています。エクスポート/インポート操作では、SYS
スキーマ・オブジェクトはエクスポートされないため、Enterprise Edition固有のデータ・ディクショナリ・オブジェクトは対象となりません。Standard Editionデータベースへのインポート後に必要な作業は、Enterprise Edition機能に関連するユーザー・スキーマの削除のみです。