Oracle Databaseのアップグレード方法の選択

エンタープライズの複雑さに対応するため、データベースをアップグレードするための様々な方法が提供されています。

AutoUpgradeユーティリティでOracle Databaseをアップグレードする方法

AutoUpgradeユーティリティは、アップグレード前に問題を識別し、アップグレード前とアップグレード後のアクションを実行し、アップグレードをデプロイし、アップグレード後のアクションを実行して、アップグレードされたOracle Databaseを起動します。

My Oracle Supportドキュメント2485457.1から最新バージョンのAutoUpgradeユーティリティをダウンロードし、autoupgrade.jarを使用してアップグレードを準備およびデプロイすることをお薦めします。AutoUpgradeユーティリティは、アップグレードの開始前、アップグレードのデプロイメント時、およびアップグレード後のチェックと構成の移行時、アップグレード・プロセスを自動化するように設計されています。新しいOracle Databaseリリースのバイナリをダウンロードした後にAutoUpgradeを使用し、新しいリリースのOracleホームを設定します。AutoUpgradeを使用するときに、各データベース・デプロイメントで必要に応じてカスタマイズされた単一の構成ファイルを使用して、複数のOracle Databaseデプロイメントを同時にアップグレードできます。Oracle Database 21c以降、既存のターゲット・リリースのCDBがある場合、AutoUpgradeを使用して、アップグレード中に非CDBのOracle Databaseをターゲット・リリースのCDBのPDBに変換できるようになりました。

AutoUpgradeでは、既存のターゲット・リリースのCDBがある場合、AutoUpgradeを使用して、アップグレード中に非CDBのOracle Databaseをターゲット・リリースのCDB上のPDBに変換できます。

AutoUpgradeバージョン22.1以降、Oracleでは、Oracle REST Data Services (ORDS)またはOracle Cloud Infrastructure (OCI) REST APIを使用してSSHを介してリモートでアップグレードを実行できるREST APIを提供しています。ORDSデータベースAPIは、Oracle REST Data Servicesに埋め込まれているデータベース管理およびモニタリングREST APIです。OCI REST APIは、OCI署名バージョン1のセキュリティ・ポリシーを使用するようにRESTアダプタ接続を構成することで有効化されます。これらの機能を使用し、HTTPSまたはHTTPを介してAutoUpgradeアップグレードをリモートで実行できます。

ソース・データベースの最小COMPATIBLEパラメータ設定は12.2.0以上である必要があります。COMPATIBLE設定が低いバージョンの場合、変換およびアップグレード・プロセス中にCOMPATIBLEが12.2.0に設定されます。変換中、元のデータファイルは保持されます。これらは、新しいPDBを作成するためにコピーされません。AutoUpgradeでアップグレードを実行できるようにするには、AutoUpgrade構成ファイルを編集して、AutoUpgradeパラメータtarget_versionをターゲットCDBリリースに設定し、target_cdbを使用して、アップグレードしたデータベースが配置されるCDBを識別します。変換およびアップグレード・プロセスでは、AutoUpgradeはその情報を使用してターゲットCDBへのアップグレードを完了します。

注意:

変換およびアップグレードを完了するためにAutoUpgradeを実行する前に、ソース・データベースの完全なバックアップを作成し、アップグレードの完全なテストを完了することをお薦めします。AutoUpgradeがこのプロシージャを開始した後、非CDBのOracle Database状態にロールバックするオプションはありません。

リプレイ・アップグレードでOracle Databaseをアップグレードする方法

リプレイ・アップグレード機能は、以前に取得した文を使用してアップグレードを実行することで、データベースをマルチテナント・アーキテクチャにアップグレードします。

リプレイ・アップグレード機能では、ターゲット・リリースのCDB Oracle DatabaseのCDB$ROOTの取得表が使用されます。マルチテナント・アーキテクチャを使用する新しいOracle Databaseリリースをインストールします。CDBをアップグレードする場合、CDB内の各PDBはリプレイ・アップグレードを使用してアップグレードされます。個々のPDBをアップグレードする場合、または非CDBデータベースをアップグレードする場合は、各データベースを新しいOracle Databaseリリースに接続してからデータベースをオープンします。データベースがオープンされると、ソース・データベースが新しいリリースにアップグレードされます。ソース・データベースが非CDBの場合は、非CDBからPDBに変換され、アップグレード文が新しいOracle Databaseにリプレイされ、データベース表のデータ・ディクショナリがプロセスで更新されます。

Oracle Databaseのアップグレード時のデータの移行でエクスポート/インポートする方法

Oracle Data Pumpを使用してデータのエクスポートとインポートを実行できます。

トピック:

アップグレードしたOracle Databaseでのエクスポート/インポートの影響

エクスポート/インポートのデータ移行を使用して新しいOracle Databaseインスタンスに移行すると、可用性を維持できますが、実行する必要がある制限とテストがあります。

エクスポート/インポートによるデータ移行方法では、現行のデータベースが変更されないため、データベースはアップグレード処理を通して常に使用可能な状態です。ただし、一貫性のあるデータベースのスナップショットが必要な場合(データの整合性保持またはその他の目的のため)、データベースは、制限モードで実行するか、またはエクスポート手順の実行中は変更禁止にする必要があります。現行のデータベースを使用可能な状態にしておくことができるため、たとえば、既存の本番データベースを実行しながら、新しくアップグレードしたOracle Databaseの作成とエクスポート/インポートを同時に行うことができます。このアップグレード処理中にデータベースの完全な一貫性を維持するには、新しくアップグレードしたOracle Databaseにも同じ変更を加えないかぎり、データベースのデータを変更できないようにします。

最も重要なことは、エクスポート/インポート操作の結果として、新しいデータベースが作成されることです。現行のターゲット・データベースには最終的に指定した移行済のデータのコピーが含まれますが、アップグレードしたデータベースは、元のソース・データベースとは異なる方法で運用される可能性があります。エクスポート/インポートにより、データベースと同じコピーが作成されますが、データベース・リリース間の差異に関連するその他の要因によって、予期しないパフォーマンスの問題が発生する可能性があります。(ディスクのデータ配列、調整パラメータの未設定など)。

Oracle Databaseのデータ移行でのエクスポート/インポートの利点

Oracle Databaseのアップグレード時にOracle Data Pumpエクスポート/インポートを使用してデータを移行すると、パフォーマンスを向上できるメリットがあります。

Oracle Data Pumpエクスポートおよびインポートを使用してデータを移行すると、次のメリットがあります。

  • データの断片化を解消できます。インポートされたデータを圧縮することによって、パフォーマンスを向上できます。

  • データベースを再構築できます。新しい表領域を作成したり、既存の表、表領域、またはインポートしたデータを移入するパーティションを変更することができます。

  • 完全に新しいデータベースが作成されるため、以前のリリースの(現在の) Oracle Databaseと新しいリリースのOracle Databaseの比較テストを行うことができます。

  • 指定されたデータベース・オブジェクトまたはユーザーをコピーできます。オブジェクト、ユーザーおよびその他の必要な項目のみをインポートすると、本番データのサブセットにのみ新規ソフトウェアのテスト環境を確立する場合に役に立ちます。Oracle Data Pumpエクスポートおよびインポートでは、INCLUDEやEXCLUDEなどのデータのサブセット化機能を柔軟に使用できます。これらの機能を使用することで、インポートするオブジェクトのリストを絞り込むことができます。QUERYパラメータを使用することで、エクスポート時およびインポート時に表の行をフィルタ処理で除外できます。

  • バックアップ・アーカイブとして機能します。データベースの全体エクスポートを現行のデータベースのアーカイブとして使用できます。

  • 以前のリリースのデータベースが配置されているプラットフォームとは異なるオペレーティング・システムまたはハードウェア・プラットフォームにアップグレード後のデータベースを構築できます。

  • ネットワークベースのOracle Data Pumpインポートによって、以前のリリースのOracle Databaseで使用されているネットワーク全体に新しいリリースのOracle Databaseを直接ロードできます。ネットワークベースのOracle Data Pumpインポートを使用することで、介在するダンプ・ファイルを使用する必要がなくなります。

エクスポート/インポートを使用したデータ移行の時間要件

Oracle Data Pumpを使用したデータ移行にかかる時間を把握し、それに応じて計画します。

エクスポートとインポートを使用してOracle Data PumpによってOracle Database全体を移行する場合は、時間がかかる可能性があります(特にAutoUpgrade使用時と比べると長い)。Oracle Data Pumpを使用してデータを移行する場合、ピーク時以外に移行をスケジュールするか、アップグレード時に現在のデータベースに対して行われる変更を新しいデータベースに伝播するようにプロビジョニングします。

そのプロセスを迅速化するために実行できることがいくつかあります。ベスト・プラクティス・ガイドラインに従い、『Oracle Databaseユーティリティ』内のOracle Data Pumpパフォーマンス・ガイドラインを参照してください。

データベースのトランスポートおよびアップグレードについて(フル・トランスポータブル・エクスポート/インポート)

データの転送には、ファイルベース・モードまたは非ファイルベース・モードを使用できます。

Oracle Data Pumpのフル・トランスポータブル・エクスポート/インポート機能には、2つのオプションがあります。

  • ファイルベースのOracle Data Pumpエクスポート/インポートの使用

  • 非ファイルベースのネットワーク・モードのOracle Data Pumpインポートの使用

参照: