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のアップグレードのグラフィカル・ユーザー・インタフェースのメソッド

Database Upgrade Assistant (DBUA)は、対話形式でアップグレード処理のステップを実行し、新しいOracle Databaseリリースのデータベースを構成します。

Oracle Databaseのアップグレードには、AutoUpgradeユーティリティを使用することをお薦めします。ただし、Oracle Database 19cでも、引き続きDBUAを使用してマルチテナント・アーキテクチャのコンテナ・データベース(CDB)およびプラガブル・データベース(PDB)をアップグレードできます。

DBUAは、アップグレード前パラメータ(autoupgrade.jar -preupgrade -mode)を使用してAutoUpgrradeを起動します。これにより、一部の構成設定がアップグレードに必要な値に修正されます。たとえば、このツールは、初期化パラメータをアップグレードに必要な値に変更できます。このツールにより、アップグレードを続行する前に手動で修正可能な項目のリストも提供されます。

手動、コマンドラインでOracle Databaseをアップグレードする方法

手動アップグレードでは、アップグレード・プロセスに対してよりきめ細やかな制御が可能です。

手動アップグレードでは、コマンドラインからSQLスクリプトおよびユーティリティを実行して、データベースを新しいOracle Databaseリリースへアップグレードします。

アップグレードの前に

  • AutoUpgrade (autoupgrade.jar -mode analyze)を使用してデータベースを分析します。

    AutoUpgrade分析(analyze)処理モードでは、データベースをチェックしてアップグレードの準備が完了しているかどうかを確認します。分析モードでAutoUpgradeを実行すると、AutoUpgradeではデータベースからのデータの読取りのみを実行し、データベースに対する更新は実行しません。通常の営業時間に分析モードを使用してAutoUpgradeを実行できます。ターゲット・リリースのOracle Databaseホームを設定する前に、ソースOracle Databaseホームで分析モードでAutoUpgradeを実行できます。

  • 新しいOracleホームを準備します。

  • データベースのバックアップを実行します。

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

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

トピック:

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

エクスポート/インポートによるデータ移行のメリットを理解するには、このトピックを参照してください。

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

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

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

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

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

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

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

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

  • 指定されたデータベース・オブジェクトまたはユーザーをコピーできます。オブジェクト、ユーザーおよびその他の必要な項目のみをインポートすると、本番データのサブセットにのみ新規ソフトウェアのテスト環境を確立する場合に役に立ちます。データ・ポンプ・エクスポート/インポートでは、データのサブセット化機能を柔軟に使用できます。

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

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

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

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

Oracle Data Pumpを使用したデータ移行にかかる時間を理解します。

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

Oracle Databaseのアップグレードのグラフィカル・ユーザー・インタフェースのメソッド

Database Upgrade Assistant (DBUA)は、対話形式でアップグレード処理のステップを実行し、新しいOracle Databaseリリースのデータベースを構成します。

Oracle Databaseのアップグレードには、AutoUpgradeユーティリティを使用することをお薦めします。ただし、Oracle Database 19cでも、引き続きDBUAを使用してマルチテナント・アーキテクチャのコンテナ・データベース(CDB)およびプラガブル・データベース(PDB)をアップグレードできます。

DBUAは、アップグレード前パラメータ(autoupgrade.jar -preupgrade -mode)を使用してAutoUpgrradeを起動します。これにより、一部の構成設定がアップグレードに必要な値に修正されます。たとえば、このツールは、初期化パラメータをアップグレードに必要な値に変更できます。このツールにより、アップグレードを続行する前に手動で修正可能な項目のリストも提供されます。