データベースのアップグレード

この記事では、コンソールおよびAPIを使用してDBシステムのデータベースをアップグレードする手順について説明します。

Oracle Databaseリリースおよびソフトウェアのサポート・タイムラインについては、My Oracle SupportポータルのRelease Schedule of Current Database Releases (Doc ID 742060.1)を参照してください。

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者からポリシーでセキュリティ・アクセス権が付与されている必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。

管理者の場合: 「データベース管理者がOracle Cloudデータベース・システムを管理できるようにします」のポリシーにより、指定したグループがデータベースおよび関連データベース・リソースに対してすべてのことを実行できるようになります。

ポリシーを初めて使用する場合は、ポリシーの開始および共通ポリシーを参照してください。データベースのポリシーの記述方法の詳細は、データベース・サービスの詳細を参照してください。

前提条件

DBシステムでOracle Databaseをアップグレードするための次の前提条件を確認します。

  • データベースがarchivelogモードになっている必要があります。
  • データベースはフラッシュバックが有効になっている必要があります。

詳細は、次を参照してください:

データベースのアップグレードについて

データベース・ソフトウェア・バージョンのアップグレードに関する次の情報を確認してください。

  • Oracle Database 19cまたは21cをOracle Database 23aiにアップグレードできます。以前のOracle Databaseバージョンはすべて、最初にOracle Database 19cにアップグレードする必要があります。
  • DBシステムは、Grid Infrastructureソフトウェア・バージョン23aiを使用してOracle Database 23aiにアップグレードする必要があります。
  • DBシステムでは、Oracle Linux 8 (OL8)を使用してOracle Database 23aiにアップグレードする必要があります。
  • DBシステムでは、Oracle Linux 7 (OL7)を使用してOracle Database 19cにアップグレードする必要があります。
  • DB Systemで自動ストレージ管理(ASM)ストレージ管理ソフトウェアを使用している場合、システムはOracle Grid Infrastructureの19c以降を使用する必要があります。
  • DBシステム上のデータベースが最小ソフトウェア・バージョン要件を満たしていない場合、バックアップ/リストア操作を使用してOL7およびGI 19cを使用するDBシステムにデータベースをリストアしてからでないと、アップグレードできません。
  • データベースのアップグレードには、データベースの停止時間が含まれます。データベース・アップグレードをスケジュールする際には、これを考慮することをお薦めします。
  • アップグレードする前に、データベースをバックアップし、テスト・システムで新しいソフトウェア・バージョンをテストすることをお薦めします。

    オンデマンド完全バックアップの作成の詳細は、オンデマンド完全バックアップを参照してください。

  • アップグレードの実行の計画時までに軽減する必要のある問題を検出できるように、アップグレードの実行前にデータベースのアップグレード事前チェック操作を実行することをお薦めします。事前チェック操作を実行してもデータベースの可用性に影響はありません。そのため、いつでも実行できます。
  • 自動バックアップ操作の進行中は、アップグレード操作を実行できません。アップグレードの前に、Oracleでは、自動バックアップを無効にして手動バックアップを実行することをお薦めします。

    詳細については、データベースの自動バックアップの構成およびデータベースのオンデマンド完全バックアップの作成を参照してください。

  • アップグレード後は、アップグレード前に取得した自動バックアップを使用してデータベースを以前の時点にリストアすることはできません。
  • バージョン11.2ソフトウェアを使用するデータベースをアップグレードする場合、結果のバージョン19cデータベースは、非コンテナ・データベース(非CDB)になります。アップグレードの完了後に、コンソールまたはAPIを使用して、結果の19cデータベースをプラガブル・データベース(PDB)に変換できます。

    事前チェックの実行および非CDBのPDBへの変換の詳細は、非コンテナ・データベースのOracle Database 19c PDBへの変換を参照してください。

  • 一般利用可能なOracle Databaseソフトウェア・リリースを使用してアップグレードする場合、dbcliユーティリティを使用してアップグレードを実行することはできません。コンソールを使用して、データベースのアップグレードを実行してください。組織でカスタマイズされたソフトウェア・バージョンを使用してアップグレードする必要がある場合は、Oracleに連絡して、dbcliで使用できる事前認証済URLを取得してソフトウェアをダウンロードしてください。dbcliを使用したアップグレードは、Oracleがこの事前認証済リクエストURL (PAR URL)を提供している場合にのみ実行できます。

Data Guardアソシエーションを持つデータベースのアップグレード

Data Guardアソシエーションを持つデータベースの場合は、必ず最初にスタンバイ・データベース、次にプライマリ・データベースをアップグレードする必要があります。コンソールを使用して作成されたData Guardアソシエーションについては、コンソールでアップグレード・オプションを使用できます。ただし、データベースがData Guardアソシエーションを持たないが、手動でプライマリ・データベースまたはスタンバイ・データベースとして構成されている場合、このようなデータベースのアップグレードには次のことが適用されます。

  • データベース・サービスは、データベースがプライマリかスタンバイかを検出および識別できるようになります。
  • データベース・バージョン11.2および12.1の場合は、アップグレード前にData Guard構成を無効にする必要があります。
  • 最初にスタンバイ・データベース、次にプライマリ・データベースをアップグレードする必要があります。
  • データベース・サービスによって、アップグレードするデータベースに保証付きリストア・ポイント(GRP)が設定されます。アップグレードが成功すると、GRPはプライマリ・データベースから自動的に削除されます。ただし、スタンバイ・データベースではGRPを手動で削除する必要があります。

  • アップグレード中、DB_HOMEが変更され、スタンバイ・データベースがマウント・モードでオープンし、プライマリが読取り/書込みモードでオープンします。

プライマリ・データベースとスタンバイ・データベースの両方が正常にアップグレードされたら、次を実行します。

  1. データベース・バージョン11.2および12.1の場合は、アップグレード前に無効にしたData Guard構成を有効にします。
  2. スタンバイ・データベースのオープン・モードを確認します。
  3. スタンバイ上に作成されたGRPを削除します。

データベース・サービスによるデータベース・アップグレード操作の実行方法

データベースのアップグレード・プロセス中に、次のステップが自動的に実行されます:

  • 自動事前チェックを実行します。これにより、軽減が必要な問題を識別し、アップグレード操作を停止できます。
  • GRPを設定して、アップグレードが失敗した場合にフラッシュバックを実行できるようにします。
  • 指定したOracle公開またはカスタムのデータベース・ソフトウェア・イメージに基づいて、新しいデータベース・ホームを作成します。
  • Database Upgrade Assistant (DBUA)ソフトウェアを実行して、データベースでアップグレードを実行します。Data Guardアソシエーションを構成するデータベースの場合、このステップはプライマリ・データベースでのみ実行されます。

失敗したデータベース・アップグレードのロールバック

ノート:

ロールバック操作は、Oracle Database Enterprise Editionsでのみ使用できます。

データベースのアップグレードが正常に完了しない場合は、ロールバックを実行できます。データベース・アップグレード操作の失敗後、「データベース詳細」ページに表示されるバナー・メッセージでロールバック・オプションが提供されます。

ロールバックを開始する前に、次の情報を確認してください。

  • ロールバックすると、データベースはアップグレード前の状態にリセットされます。
  • アップグレード中およびそれ以降に行われたデータベースに対する変更は、すべて失われます。

Data Guardアソシエーション内のデータベースの場合、次のステップに従ってロールバックを実行する必要があります。

  • スタンバイ・データベースのアップグレードが失敗し、ロールバックする場合は、次のステップを実行します。
    1. スタンバイ・データベースをロールバックします。
  • スタンバイ・データベースのアップグレードが失敗し、再試行する場合は、次のステップを実行します。
    1. スタンバイ・データベースをロールバックします。
    2. スタンバイ・データベースをアップグレードします。
  • プライマリ・データベースのアップグレードが失敗し、ロールバックする場合は、次のステップを実行します。
    1. プライマリ・データベースをロールバックします。
    2. CLIを使用してスタンバイ・データベースをロールバックします。コンソールには、成功したアップグレードをロールバックするオプションはありません。

      CLIの詳細は、アップグレード・ロールバックを参照してください。

    3. 11.2 および12.1データベース・バージョンで実行されているプライマリ・データベースで、Data Guard構成を再度有効にします。
    4. ロールバックが成功したら、Data Guard構成を確認します。
  • プライマリ・データベースのアップグレードが失敗し、再試行する場合は、次のステップを実行します。
    1. プライマリ・データベースをロールバックします。
    2. スタンバイ・データベースでGRPへのフラッシュバックを実行します。

      GRPの詳細は、保証リストア・ポイントの管理を参照してください。

    3. プライマリ・データベースをアップグレードします。

ノート:

必ず、最初にプライマリ・データベース、次にスタンバイ・データベースをロールバックする必要があります。

通常、コンソールでロールバック・オプションを使用してデータベースをロールバックすると、データベース・サービスによって次のステップが自動的に行われます。

  1. フラッシュバックの実行。
  2. データベース・ホームの変更。
  3. GRPの削除。

成功したスタンバイ・データベース・アップグレードをロールバックできるのは、CLIのみです。

コンソールを使用してロールバックを実行するステップの詳細は、失敗したデータベース・アップグレードのロールバックを参照してください。

データベース・アップグレードの完了後

アップグレードが成功したら、次に注意してください:

  • Oracleでは、dbcliユーティリティを使用して古いデータベース・ホームを削除することをお薦めします。

    詳細は、Dbhomeコマンドを参照してください。

  • アップグレード前に自動バックアップを無効にした場合は、データベースの自動バックアップが有効になっていることを確認します。
  • Oracle DatabaseのCOMPATIBLEパラメータを、新しいOracle Databaseバージョンを反映するように編集します。

    詳細は、Oracle Databaseの互換性の概要を参照してください。

  • Oracleユーザーのホーム・ディレクトリにある.bashrcファイルが19cデータベース・ホームを指すように更新されていることを確認します。
  • データベースをOracle Database 11.2からOracle Database 19cにアップグレードした場合、結果の非コンテナ・データベースをプラガブル・データベース(PDB)に変換できます。変換の前に事前チェックを実行すると、変換操作の前に問題を特定できます。
  • スタンバイ・データベース上に作成されたGRPは削除する必要があります。

保証付きリストア・ポイントの管理

保証付きリストア・ポイントのリスト

次の文を使用して、V$RESTORE_POINTビューを使用してすべてのGRPをリストできます。

SELECT NAME FROM V$RESTORE_POINT WHERE GUARANTEE_FLASHBACK_DATABASE='YES';

詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』V$RESTORE_POINTビューを使用したリストア・ポイントのリストに関する項を参照してください。

保証付きリストア・ポイントの削除

次の文を使用して、DROP RESTORE POINT文を使用してGRPを削除できます。

DROP RESTORE POINT <grp name>;

grp nameは、削除する必要があるGRPの名前です。

詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』リストア・ポイントの削除に関する項を参照してください。

データベースのアップグレード

データベース・アップグレード履歴の表示

失敗したデータベース・アップグレードのロールバック

前提条件

  • アップグレード・ロールバック操作を使用できるのは、アップグレードに失敗し、現在のライフサイクル状態が「失敗」になっているOracle Database Enterprise Editionソフトウェアのみです。
  • 次のステップに進む前に、失敗したデータベース・アップグレードのロールバックのトピックの情報を確認してください。

手順

OCIコンソールを使用して、失敗したデータベース・アップグレードを以前のOracle Databaseバージョンにロールバックするには、次のステップを実行します。

  1. 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、DBシステムのリストを参照してください。
  2. 「データベース」タブで、操作するデータベースを選択します。
  3. アップグレードが失敗すると、データベースの詳細ページの上部に「ロールバック」ボタンを含むバナーが表示されます。
  4. 「ロールバック」を選択して確認します。

非コンテナ・データベースのOracle Database 19c PDBへの変換

このトピックは、Oracle Database 11.2からOracle Database 19cへのデータベース・アップグレードに適用されます。変換プロセスの一部として、非CDBの変換によって作成されたプラガブル・データベース(PDB)を格納する新しいコンテナ・データベース(CDB)を作成します。非コンテナ・データベースを、19cより新しいバージョンのOracle Databaseを使用するPDBに変換するには、このトピックのステップを実行してから、データベースのアップグレードの説明に従って、結果の19cデータベースを新しいソフトウェア・バージョンにアップグレードします。

前提条件および推奨される方法

  • 非CDBをPDBに変換するには、非CDBのTDEウォレット・パスワードが必要です。
  • 変換を試行する前に、データベースの手動バックアップを作成することをお薦めします。詳細は、ベース・データベース・サービスでのバックアップおよびリカバリを参照してください
  • コンソールでは、変換を正常に完了できることを確認するために、変換操作に対して事前チェックを実行できます。変換を実行する前に事前チェックを実行することをお薦めします。事前チェックを実行するには、この手順のステップを実行し、最終ステップで「事前チェック」を選択します。
  • ソースDBシステムで変換を試行する前に、DBシステムをクローニングし、クローニングしたシステムのデータベースで変換操作をテストできます。詳細は、DB Systemのクローニングを参照してください。

コンソールを使用した非CDBからPDBへの変換

  1. 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、DBシステムのリストを参照してください。
  2. 「データベース」タブで、操作するデータベースを選択します。
  3. データベースの詳細ページの「データベース情報」タブで、「データベース・アーキテクチャ」フィールドを確認して、データベースがコンテナ・データベースではないことを確認します。
  4. データベースの詳細ページで、「アクション」メニューから「PDBに変換」を選択します。
  5. 「非CDBデータベースのプラガブル・データベースへの変換」パネルで、「コンテナ・データベースの詳細」セクションに次の情報を指定します:
    • コンテナ・データベース名: 変換されたPDBを格納する新しいCDBの名前を指定します。
    • パスワード: 新しいCDBのパスワードを指定します。
    • パスワードの確認: CDBパスワードを再入力します。
    • TDEウォレットに管理者パスワードを使用: TDEウォレットに別のパスワードを設定する場合は、このオプションの選択を解除します。このオプションの選択を解除すると、次のフィールドが表示されます:
      • TDEウォレット・パスワードの入力: 新しいCDBのTDEウォレット・パスワードを指定します。
      • TDEウォレット・パスワードの確認: TDEウォレット・パスワードを再入力します。
  6. 「非コンテナ・データベースの詳細」セクションで、変換する非CDBの既存のTDEウォレット・パスワードを入力します。
  7. 「事前チェック」を選択して事前チェックを実行するか、データベースを変換する準備ができている場合は「PDBに変換」を選択します。

    ノート:

    事前チェックを実行すると、コンソールのデータベースの詳細ページに戻ります。変換操作を起動するには、このトピックのすべてのステップを再度実行し、最終ステップで「PDBに変換」オプションを選択します。

データベースが正常に変換されると、コンソールの「データベース詳細」ページの「データベース・アーキテクチャ」フィールドにコンテナ・データベースが表示されます。このフィールドは、「データベースの詳細」ページの「データベース情報」タブにあります。

非CDBからPDBへの変換に関するトラブルシューティングのヒント

変換操作が正常に完了しない場合は、データベースCLI (dbcli)コマンドライン・ユーティリティを使用して問題をトラブルシューティングできます。データベース・セキュリティの詳細は、『Oracle Database CLIリファレンス』を参照してください。

トラブルシューティングするには:

  1. DB Systemへの接続の概要の説明に従ってDBシステムにログインします。
  2. dbcli list-jobsコマンドを使用して、失敗したデータベース変換操作のジョブIDおよびステータスを確認します。
  3. dbcli describe-jobコマンドを使用して、失敗したデータベース変換操作の詳細を表示します。

dbcli describe-jobコマンドで返された情報に基づいて、変換操作の失敗の原因となった問題の解決を試行できます。プラグイン・プロセス中に発生したエラー(新しいPDBを新しいCDBにプラグインする場合)については、Oracle Supportに連絡して、失敗の原因となった問題の解決後に変換を完了する際の支援を受けてください。

変換操作が失敗した場合、コンソールにはDBシステム内の2つのデータベースが表示されるか、終了したデータベースのみが表示されます。DBシステム自体のリセットに最大2時間かかる場合があります。コンソールに2つのデータベースまたは1つの終了したデータベースが表示されない場合は、変換を再試行できます。DBシステム自体がリセットされず、再試行できない場合は、Oracle Supportに連絡してください。