データベースのアップグレード
この記事では、コンソールおよび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ドキュメンテーションを参照してください。
- データベースのオンデマンド完全バックアップの作成
- バックアップからのDB Systemの作成
データベースのアップグレードについて
データベース・ソフトウェア・バージョンのアップグレードに関する次の情報を確認してください。
- Oracle Database 19cまたは21cをOracle AI Database 26aiにアップグレードできます。以前のすべてのOracle Databaseバージョンは、最初にOracle Database 19cにアップグレードする必要があります。
- DBシステムは、Oracle AI Database 26aiにアップグレードするためにGrid Infrastructureソフトウェア・バージョン26aiを使用する必要があります。
- DBシステムは、Oracle AI Database 26aiにアップグレードするためにOracle Linux 8 (OL8)を使用する必要があります。
- 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が変更され、スタンバイ・データベースがマウント・モードでオープンし、プライマリが読取り/書込みモードでオープンします。
プライマリ・データベースとスタンバイ・データベースの両方が正常にアップグレードされたら、次を実行します。
- データベース・バージョン11.2および12.1の場合は、アップグレード前に無効にしたData Guard構成を有効にします。
- スタンバイ・データベースのオープン・モードを確認します。
- スタンバイ上に作成されたGRPを削除します。
データベース・サービスによるデータベース・アップグレード操作の実行方法
データベースのアップグレード・プロセス中に、次のステップが自動的に実行されます:
- 自動事前チェックを実行します。これにより、システムでは軽減が必要な問題を識別し、アップグレード操作を停止することができます。
- GRPを設定して、アップグレードが失敗した場合にフラッシュバックを実行できるようにします。
- 指定したOracle公開またはカスタムのデータベース・ソフトウェア・イメージに基づいて、新しいデータベース・ホームを作成します。
- Database Upgrade Assistant (DBUA)ソフトウェアを実行して、データベースでアップグレードを実行します。Data Guardアソシエーションを構成するデータベースの場合、このステップはプライマリ・データベースでのみ実行されます。
失敗したデータベース・アップグレードのロールバック
ノート:ロールバック操作は、Oracle Database Enterprise Editionsでのみ使用できます。
データベースのアップグレードが正常に完了しない場合は、ロールバックを実行できます。データベース・アップグレード操作の失敗後、「データベースの詳細」ページに表示されるバナー・メッセージでロールバック・オプションが提供されます。
ロールバックを開始する前に、次の情報を確認してください。
- ロールバックすると、データベースはアップグレード前の状態にリセットされます。
- アップグレード中およびそれ以降に行われたデータベースに対する変更は、すべて失われます。
Data Guardアソシエーションのデータベースでは、次のステップに従ってロールバックを実行する必要があります。
- スタンバイ・データベースのアップグレードが失敗し、ロールバックする場合は、次のステップを実行します。
- スタンバイ・データベースをロールバックします。
- スタンバイ・データベースのアップグレードが失敗し、再試行する場合は、次のステップを実行します。
- スタンバイ・データベースをロールバックします。
- スタンバイ・データベースをアップグレードします。
- プライマリ・データベースのアップグレードが失敗し、ロールバックする場合は、次のステップを実行します。
- プライマリ・データベースをロールバックします。
-
CLIを使用してスタンバイ・データベースをロールバックします。コンソールには、成功したアップグレードをロールバックするオプションはありません。
CLIの詳細は、Upgrade Rollbackを参照してください。
- 11.2および12.1データベース・バージョンで実行されているプライマリ・データベースで、Data Guard構成を再度有効にします。
- ロールバックが成功したら、Data Guard構成を確認します。
- プライマリ・データベースのアップグレードが失敗し、再試行する場合は、次のステップを実行します。
- プライマリ・データベースをロールバックします。
-
スタンバイ・データベースでGRPへのフラッシュバックを実行します。
GRPの詳細は、保証付きリストア・ポイントの管理に関する項を参照してください。
- プライマリ・データベースをアップグレードします。
ノート:必ず、最初にプライマリ・データベース、次にスタンバイ・データベースをロールバックする必要があります。
通常、コンソールでロールバック・オプションを使用してデータベースをロールバックすると、データベース・サービスによって次のステップが自動的に行われます。
- フラッシュバックの実行。
- データベース・ホームの変更。
- 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バックアップおよびリカバリ・ユーザーズ・ガイド』のリストア・ポイントの削除に関する項を参照してください。
データベースのアップグレード
OCIコンソールを使用して、古いリリースから新しいメジャー・リリース・バージョンにデータベースをアップグレードするには、次のステップを実行します。
- 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、DBシステムのリストを参照してください。
- 「データベース」タブで、操作するデータベースを選択します。
-
データベースの詳細ページで、「更新」タブを選択して、データベースで使用可能なアップグレードのリストを表示します。
承認された最新のリリース更新は、デフォルトで利用可能です。表示されるメッセージを確認した後、前述の2つのリリース更新(N-1またはN-2)のいずれかを選択することもできます。N-2より前のリリース更新を使用するには、サービス・リクエストを発行する必要があります。
- 目的のアップグレードの「アクション」メニューから、次のいずれかのアクションを選択します:
- 詳細の表示: このアップグレードに関する詳細を表示します。
- 事前チェック: アップグレードが正常に適用できることを確認するために、前提条件をチェックします。
- 更新の適用: 選択したアップグレードを適用します。アップグレードを適用する前に、アップグレードの事前チェック操作を実行することをお薦めします。
リストでは、「状態」に操作のステータスが表示されます。アップグレードの適用中は、「状態」が「アップグレード中}」と表示されます。データベースのステータスも「アップグレード中」として表示されます。データベースとそのリソースに対するライフサイクル操作は、一時的に使用できなくなる可能性があります。アップグレードが正常に完了すると、状態が「適用済」に変更され、データベースのステータスが「使用可能」に変わります。
データベース・アップグレード履歴の表示
OCIコンソールを使用してデータベースのアップグレード履歴を表示するには、次のステップを実行します。
- 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、DBシステムのリストを参照してください。
- 「データベース」タブで、操作するデータベースを選択します。
- 詳細ページで、「更新履歴」タブを選択して、そのデータベースの更新操作およびアップグレード操作の履歴を表示します。
失敗したデータベース・アップグレードのロールバック
前提条件
- アップグレード・ロールバック操作を使用できるのは、アップグレードに成功せず、現在のライフサイクル状態が「失敗」になっているOracle Database Enterprise Editionソフトウェアだけです。
- 次のステップに進む前に、失敗したデータベース・アップグレードのロールバックのトピックの情報を確認してください。
手順
OCIコンソールを使用して、失敗したデータベースのアップグレードを以前のOracle Databaseバージョンにロールバックするには、次のステップを実行します。
- 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、DBシステムのリストを参照してください。
- 「データベース」タブで、操作するデータベースを選択します。
- アップグレードに失敗すると、データベースの詳細ページの上部に「ロールバック」ボタンを含むバナーが表示されます。
- 「ロールバック」を選択して確認します。
非コンテナ・データベースの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への変換
- 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、DBシステムのリストを参照してください。
- 「データベース」タブで、操作するデータベースを選択します。
- データベース詳細ページの「データベース情報」タブで、「データベース・アーキテクチャ」フィールドを確認して、データベースが非コンテナー・データベースになっていることを確認します。
- データベースの詳細ページで、「アクション」メニューから「PDBに変換」を選択します。
- 「非CDBデータベースのプラガブル・データへの変換」パネルで、「コンテナ・データベースの詳細セクションには次の情報を指定します:
- コンテナ・データベース名が: 変換されたPDBを格納する新しいCDBの名前を指定します。
- パスワード: 新しいCDBのパスワードを指定します。
- パスワードの確認: CDBパスワードを再度入力します。
- TDEウォレットに管理者パスワードを使用: TDEウォレットに別のパスワードを設定する場合は、このオプションの選択を解除します。このオプションの選択を解除すると、次のフィールドが表示されます:
- TDEウォレット・パスワードの入力: 新しいCDBにTDEウォレット・パスワードを指定します。
- TDEウォレット・パスワードの確認: TDEウォレット・パスワードを再入力してください。
- 「非コンテナ・データベース詳細」セクションで、変換する非CDBの既存のTDEウォレット・パスワードを入力します。
-
「事前チェック」をクリックして事前チェックを実行するか、データベースを変換する準備ができている場合は「PDBに変換」を選択します。
ノート:事前チェックを実行すると、コンソールのデータベースの詳細ページに戻ります。変換操作を起動するには、このトピックのすべてのステップを再度実行し、最終ステップで「PDBに変換」オプションを選択します。
データベースが正常に変換されると、コンソールの「データベース詳細」ページの「データベース・アーキテクチャ」フィールドにコンテナ・データベースが表示されます。このフィールドは、データベース詳細ページの「データベース情報」タブにあります。
非CDBからPDBへの変換に関するトラブルシューティングのヒント
変換操作が正常に完了しない場合は、データベースCLI (dbcli)コマンドライン・ユーティリティを使用して問題をトラブルシューティングできます。データベースcliの詳細は、『Oracle Database CLIリファレンス』を参照してください。
トラブルシューティングするには:
- DB Systemへの接続の概要の説明に従って、DBシステムにログインします。
dbcli list-jobsコマンドを使用して、失敗したデータベース変換操作のジョブIDおよびステータスを確認します。dbcli describe-jobコマンドを使用して、失敗したデータベース変換操作の詳細を表示します。
dbcli describe-jobコマンドで返された情報に基づいて、変換操作の失敗の原因となった問題の解決を試行できます。接続プロセス中に発生したエラー(新しいPDBを新しいCDBにプラグインするとき)については、失敗の原因となった問題の解決後、変換を完了する際のサポートについてOracle Supportに連絡してください。
変換操作が失敗した場合、コンソールにはDBシステム内の2つのデータベースが表示されるか、終了したデータベースのみが表示されます。DBシステム自体のリセットに最大2時間かかる場合があります。コンソールに2つデータベースまたは1つの終了したデータベースが表示されなくなった場合は、変換を再試行できます。DBシステム自体がリセットされず、再試行できない場合は、Oracle Supportに連絡してください。