プラガブル・データベースについて
この記事では、プラガブル・データベースの詳細と、バックアップ、リストア、再配置、クローンなどの様々な機能の管理について説明します。
マルチテナント・アーキテクチャによって、Oracle Databaseをコンテナ・データベースにすることができます。コンテナ・データベース(CDB)には、ユーザーが作成した1つ以上のプラガブル・データベースおよびアプリケーション・コンテナが含まれます。プラガブル・データベース(PDB)は、アプリケーションに別のデータベースとして表示されるスキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトをポータブルに集めたものです。物理レベルでは、各プラガブル・データベースには、そのプラガブル・データベースのデータを格納する独自のデータ・ファイルのセットがあります。コンテナ・データベースには、コンテナ・データベースに含まれるプラガブル・データベースのすべてのデータファイルと、コンテナ・データベース自体のメタデータを格納するシステム・データファイルのセットが含まれます。
DBシステムで作成されたOracle 19c以上のデータベースには、OCIコンソールのデータベース詳細ページからアクセスできる初期プラガブル・データベースが含まれています。OCIコンソールまたはAPIを使用して、プラガブル・データベースを起動、停止、クローニングおよび削除できます。コンテナ・データベースに追加のプラガブル・データベースを作成することもできます。OCIコンソールまたはAPIを使用して実行されたすべてのプラガブル・データベース操作は、操作によって生成された作業リクエストを使用してモニターできます。詳細は、作業リクエストを参照してください。
OCIコンソールおよびAPIを使用して、DBシステムでプラガブル・データベースを作成および管理できます。
ノート:一般に、「データベース」という用語はコンテナ・データベース(CDB)を指します。
作成
1つのプラガブル・データベースに複数のプラガブル・データベースを含めることができます。プラガブル・データベースは一度に1つずつ作成する必要があり、新しいプラガブル・データベースを作成しても、プラガブル・データベースの既存のプラガブル・データベースには影響しません。
OCIコンソールを使用してプラガブル・データベースを作成するには、プラガブル・データベースの作成を参照してください。
復元
プラガブル・データベースは、バックアップからリストアできます。次の2種類のリストアがサポートされています。
- アウトオブプレース・リストア: バックアップからコンテナ・データベースを作成し、新しいデータベースでリストアするプラガブル・データベースまたはそのサブセットを選択することで、プラガブル・データベースをリストアできます。
- インプレース・リストア: 同じコンテナ・データベース内のプラガブル・データベースを、最後に認識された良好な状態または指定されたタイムスタンプにリストアできます。
プラガブル・データベースを指定された状態または時間に戻す場合は、インプレース・リストアを実行できます。コンテナ・データベースとプラガブル・データベースの両方が起動され、実行中である必要があり、一度にリストアできるプラガブル・データベースは1つのみです。
- コンテナ・データベースに複数のプラガブル・データベースがあり、その複数のプラガブル・データベースを同じコンテナ・データベースにリストアする場合は、個々のプラガブル・データベース(一度に1つのプラガブル・データベース)をコンテナ・データベースのバックアップからリストアできます。
- コンテナ・データベースが停止している場合、完全なコンテナ・データベースをリストアでき、そのコンテナ・データベース内のすべてのプラガブル・データベースもリストアされます。
- データベースを指定されたタイムスタンプにリストアするか、または最後に認識された正常な状態にリストアできます。
OCIコンソールを使用してプラガブル・データベースをリストアするには、プラガブル・データベースのリストアを参照してください。
再配置
プラガブル・データベースは、あるコンテナ・データベースから同じ可用性ドメイン(AD)内の別のコンテナ・データベースに、コンパートメント、DBシステムまたはVCNs全体で同じバージョンまたはそれ以降のデータベース・バージョンに再配置できます。2つの異なるVCNsが使用されている場合、再配置する前に両方のVCNsをピアリングする必要があります。再配置中、プラガブル・データベースはソース・コンテナ・データベースから削除され、稼働中の宛先コンテナ・データベースに移動されます。Data Guardアソシエーションでは、プライマリに再配置されたプラガブル・データベースもスタンバイと同期されます。
OCIコンソールを使用してプラガブル・データベースを再配置するには、プラガブル・データベースの再配置を参照してください。
クローン
クローンは、クローニング操作時に存在していた、指定されたデータベースの独立した完全なコピーです。プラガブル・データベースのクローンを同じコンテナ・データベースまたは別のコンテナ・データベース内に作成し、クローニングされたプラガブル・データベースをリフレッシュできます。
次のタイプのクローンがサポートされています。
- ローカル・クローン: プラガブル・データベースのコピーが同じコンテナ・データベース内に作成されます。
-
リモート・クローン: プラガブル・データベースのコピーが別のコンテナ・データベースに作成されます。
コンパートメント、DBシステムまたはVCNs全体で、1つのコンテナ・データベースから同じ可用性ドメイン(AD)内の別のコンテナ・データベースへのプラガブル・データベースのリモート・クローンを同じバージョンまたはそれ以降のデータベース・バージョンに実行できます。2つの異なるVCNsが使用されている場合、クローニングの前に両方のVCNsをピアリングする必要があります。
-
リフレッシュ可能クローン: プラガブル・データベースのコピーが別のコンテナ・データベースに作成され、クローニングされたプラガブル・データベースをリフレッシュできます。
コンパートメント、DBシステムまたはVCNs全体で、あるコンテナ・データベースから同じ可用性ドメイン(AD)内の別のコンテナ・データベースへのプラガブル・データベースのリフレッシュ可能クローンを、同じバージョンまたはそれ以降のデータベース・バージョンに実行できます。2つの異なるVCNsが使用されている場合、クローニングの前に両方のVCNsをピアリングする必要があります。
OCIコンソールを使用してプラガブル・データベースをクローニングするには、プラガブル・データベースのクローンを参照してください。
リフレッシュ可能クローン
リフレッシュ可能クローンを使用すると、リモート・クローンをソース・プラガブル・データベースで更新できます。
- リフレッシュできるのは、プラガブル・データベースがマウント・モードの場合のみです。
- 使用できる唯一のオープン・モードは読取り専用であり、読取り専用モードの間はリフレッシュを実行できません。
- リフレッシュ可能クローンを作成するには、データベース・リンク・ユーザー資格証明が必要です。
- クローン、再配置およびインプレース・リストア操作は、リフレッシュ可能クローンではサポートされていません。再配置およびインプレース・リストア操作はソースではサポートされておらず、リフレッシュ可能クローンを切断または削除した後にのみソースを削除できます。
- プラガブル・データベースを19cから26aiにクローニングする場合、クローニングされたプラガブル・データベースは自動的に26aiにアップグレードされます。たとえば、リフレッシュ可能クローンを使用して26aiにクローニングし、それを通常のプラガブル・データベースに変換すると、必要なすべてのアップグレード・ステップが自動的に処理され、リフレッシュ可能クローンが完全にアップグレードされた26aiプラガブル・データベースに変換されます。
- Data Guardアソシエーションでは、リフレッシュ可能クローンはスタンバイに作成できませんが、プライマリに作成できます。ただし、プライマリはスタンバイに同期されません。
- スタンバイのプラガブル・データベースは、リフレッシュ可能なプラガブル・データベースのソースとして使用できません。
OCIコンソールを使用してリフレッシュ可能クローンを作成するには、プラガブル・データベースのクローニングを参照してください。
OCIコンソールを使用してクローンをリフレッシュするには、プラガブル・データベースのリフレッシュを参照してください。
リフレッシュ可能クローンの通常のプラガブル・データベースへの変換
リフレッシュ可能クローン(宛先プラガブル・データベース)をソース・プラガブル・データベースからいつでも切断することで、リフレッシュ可能クローンを通常のプラガブル・データベースに変換できます。リフレッシュ・プラガブル・データベースがData Guardアソシエーションにある場合、それが通常のプラガブル・データベースに変換されると、プラガブル・データベースは変換プロセスの一部としてスタンバイに同期されます。
OCIコンソールを使用してプラガブル・データベースを変換するには、「リフレッシュ可能クローンの通常のプラガブル・データベースへの変換」を参照してください。
SQLワークシート
SQLワークシートには、データベース接続を使用してブラウザに直接SQL文を入力できるWebベースの{\f2 SQL}ワークスペースが用意されています。SQLワークシートから、データベースに対してSQL文またはスクリプトを実行し、データベース・オブジェクトを作成できます。
SQLワークシートを使用するには、接続を作成する必要があります。SQLワークシートでは、サービスで作成した接続を利用して、コンソールからSQLコマンドおよびスクリプトを実行する機能が提供されます。SQLワークシートで使用されるスクリプトは、OCIオブジェクト・ストレージまたはローカル・ドライブに配置できます。「接続」選択メニューを使用して、SQLワークシートが使用している接続を即時に変更できます。
接続とは、OCIでOracle Databaseにアクセスするために必要な情報を含むリソースです。接続は、単にデータベースの場所に関する情報を提供することによって作成されます。接続には、データベースへのアクセスに使用されるユーザーと、OCI Vaultに格納されているパスワードの場所も含まれます。
OCIコンソールを使用して接続を作成し、SQLワークシートを起動して使用するには、SQLワークシートを参照してください。
バックアップ
コンテナ・データベースが自動バックアップ機能で構成されている場合、作成、クローニングまたは再配置操作中に、オプションでプラガブル・データベースのバックアップを取得できます。プラガブル・データベースのバックアップ先は常にコンテナ・データベースと同じであり、バックアップに直接アクセスしたり、オンデマンドで作成することはできません。Oracleでは、プラガブル・データベースを作成またはクローニングした後、プラガブル・データベースをすぐにバックアップすることをお薦めします。これは、プラガブル・データベースは、次の日次自動バックアップが正常に完了するまでリカバリできず、データ損失が発生する可能性があるためです。
オープンモード
OCIコンソールでは、プラガブル・データベースのオープン・モード(読取り/書込み、読取り専用、マウントなど)を確認できます。プラガブル・データベースのステータスがすべてのノードで同じ場合、すべてのプラガブル・データベースで同じステータスが表示されます。プラガブル・データベースのステータスがノード間で異なる場合、プラガブル・データベースが読取り/書込みモードでオープンされているノードを示すメッセージが表示されます。APIまたはOCIコンソールを使用してプラガブル・データベースのオープン・モードを変更することはできません。ただし、プラガブル・データベースを起動または停止できます。プラガブル・データベースを起動すると、読取り/書込みモードで起動されます。プラガブル・データベースを停止すると、そのデータベースはクローズされ、マウント・モードのままになります。
プラガブル・データベース管理の制限事項
- SQLで作成された新しいプラガブル・データベースは、すぐに検出されてOCIコンソールに表示されるわけではありません。ただし、OCIは手動で作成されたプラガブル・データベースを検出するために定期的に同期操作を実行するため、作成日から6時間以内にはOCIコンソールおよびAPIベースのツールに表示されるようになります。Oracleでは、OCIコンソールまたはAPIベースのツール(OCI CLI、SDK、Terraformなど)を使用してプラガブル・データベースを作成することをお薦めします。
- プラガブル・データベース操作は、Oracle Database 19c以降を使用するデータベースでのみサポートされます。
- プラガブル・データベースはコンテナ・データベース・レベルでバックアップされ、各バックアップにはコンテナ・データベース内のすべてのプラガブル・データベースが含まれます。OCIでは、個々のプラガブル・データベースのバックアップの作成はサポートされていません。