BETA

Oracle 19c [管理者ガイド転写] CDBフリート

投稿日:2020-09-19
最終更新:2020-09-19

学習用に転写しただけです

リファレンス
https://docs.oracle.com/cd/F19136_01/multi.pdf

14 CDBフリートの管理

CDBフリートは、1つの論理CDBとして管理できるCDBおよびホストされるPDBの集合です。

  • CDBフリートについて
    • リードCDBは、フリート内のCDBを監視および管理する中心的な場所です。
  • CDBフリートの目的
    • CDBフリートによって、多数のCDBのスケーラビリティおよび集中管理のためのデータベース・インフラストラクチャが提供されます。
  • CDBフリートへのリードCDBの設定
    • LEAD_CDBデータベース・プロパティをtrueに設定することによって、CDBフリートにリードCDBを設定します。
  • CDBフリート・メンバーの指定
    • LEAD_CDB_URIデータベース・プロパティを、リードCDBを指し示すデータベース・リンクに設定することによって、フリート・メンバーを指定します。

14.1 CDBフリートについて

  • リードCDBは、フリート内のCDBを監視および管理する中心的な場所です。
  • LEAD_CDBデータベース・プロパティをTRUEに設定することによって、フリート内の1つのCDBをリードCDBに指定します。
  • LEAD_CDB_URIデータベース・プロパティを設定することによって、フリート内の他のCDBがリードCDBを指し示します。
  • CDBフリートを構成した後、様々なCDBからのPDB情報はリードCDBと同期されます。
  • CDB内のすべてのPDBがリードCDBに表示されるため、フリート内のPDBにはリードCDBから単一の論理CDBとしてアクセスできます。
  • Oracle Real Application Cluster (Oracle RAC)、RMAN、Point-in-Timeリカバリ、フラッシュバック機能など、OracleDatabaseのすべての機能がフリート内のCDBでサポートされています。
  • 次のコンテナ間機能を使用して、CDBフリート内のCDBおよびPDBにアクセスできます。
    • CDBビュー
    • GV$ビュー
    • CONTAINERS句
    • コンテナ・マップ
  • アプリケーション・コンテナを使用して共通アプリケーション・スキーマが構成されている場合、これらのコンテナ間機能によって、フリートで管理されている異なるCDB内のPDB間で問合せおよびデータ集計が可能になります。
  • 注意:
    • 各PDB名は、CDBフリート内のすべてのCDBで一意である必要があります。
    • フリート内の任意のCDBにPDBを作成できますが、PDBが作成されたCDBでのみPDBを開くことができます。

14.2 CDBフリートの目的

  • CDBフリートによって、多数のCDBのスケーラビリティおよび集中管理のためのデータベース・インフラストラクチャが提供されます。
  • CDBフリートは次の状況で役立ちます。
    • プロビジョニングが必要なPDBの数がMAX_PDBS初期化パラメータ設定を超えているため、複数のCDBを作成する必要がある場合。
    • 最適に機能するには、1つの構成内の異なるPDBで異なるタイプのサーバーが必要な場合。
    • たとえば、一部のPDBは大規模なトランザクションの負荷を処理する可能性があり、それ以外のPDBは主に監視用として使用される場合、これらのPDBに対して適切なサーバー・リソース(CPU、メモリー、I/Oレート、ストレージ・システムなど)が必要です。
    • 同じアプリケーションを使用する異なるPDBは、異なる場所に存在する必要があります。
  • CDB間の収集の監視と診断
    • リードCDBは、フリート内のCDB間で実行する監視アプリケーションおよびレポート・アプリケーションを実行できます。
    • 1つのコンテナに監視アプリケーションをインストールし、CDBビューおよびGV$ビューを使用して、CDBフリート全体の診断データを監視および処理できます。
    • リードCDBで発行されたコンテナ間の問合せは、CDBフリート全体のすべてのPDBで自動的に実行できます。
  • Software as a Service (SaaS)アプリケーション
    • CDBフリート全体で異なるアプリケーション・コンテナの共通スキーマおよび共通アプリケーション・オブジェクトを使用すると、CONTAINERS句またはコンテナ・マップを使用して、CDBフリート内のすべてのPDB間で問合せを実行できます。
    • CDB間で共通アプリケーション・スキーマを使用するために、アプリケーションをアプリケーション・ルートにインストールできます。
    • 一般的なユースケースでは、マスター・アプリケーション・ルートをリードCDBにインストールします。
    • アプリケーション・ルート・クローンはフリート内の他のすべてのCDBに存在します。
    • アプリケーション・ルート・クローンのプロキシPDBはマスター・アプリケーション・ルートに存在します。
  • Database as a Service (DBaaS)アプリケーション
    • リードCDBは、CDBフリートにプロビジョニングされた全部または一部のPDBの使用状況メトリックとステータスを収集および表示できる中心的な場所として機能します。
  • マイクロサービス
    • マイクロサービスは、柔軟で独立してデプロイ可能なソフトウェア・システムを構築するために使用する、サービス指向アーキテクチャを特殊化したものです。
    • マイクロサービスを使用すると、各チームは、カスタマイズされたスケーリングおよび可用性SLAを使用してCDBフリートをデプロイおよび管理できます。
    • CDBでは、異なるストレージ・システムおよび構成設定を使用して、様々なタイプのワークロードに対応できます。
    • リードCDBは、個々のマイクロサービスに関連付けられているCDBの集合を中央のDBAが管理するのに役立ちます。

14.3 CDBフリートへのリードCDBの設定

  • LEAD_CDBデータベース・プロパティをtrueに設定することによって、CDBフリートにリードCDBを設定します。
  • CDBフリートにリードCDBを設定する手順は、次のとおりです。
    1. SQL*Plusで、現在のコンテナが、リードCDBになるCDBのルートであることを確認します。
    2. 必要に応じて、次の問合せを実行して、現在のLEAD_CDBデータベース・プロパティを確認します。
      SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='LEAD_CDB';  
    3. LEAD_CDBデータベース・プロパティをTRUEに設定します。
  • 例14-1 リードCDBのデータベース・プロパティをtrueに設定
    1. CDBルートにアクセスします。
      ALTER SESSION SET CONTAINER = CDB$ROOT;  
    2. 次のSQL文を実行します。
      ALTER DATABASE SET LEAD_CDB = TRUE;  

14.4 CDBフリート・メンバーの指定

  • LEAD_CDB_URIデータベース・プロパティを、リードCDBを指し示すデータベース・リンクに設定することによって、フリート・メンバーを指定します。
  • 前提条件
    • 固定ユーザーのセマンティクスを含むデータベース・リンク(つまり、ユーザー名とパスワードがリンク定義に含まれる)を使用する必要があります。
    • リンクでは、接続ユーザーのセマンティクス(ユーザー名とパスワードがリンク定義に含まれない場合)を使用できません。
  • CDBフリート・メンバーを指定する手順は、次のとおりです。
    1. SQL*Plusで、現在のコンテナが、フリートメンバーとして指定するCDBのルートであることを確認します。
    2. 必要に応じて、次の問合せを実行して、現在のLEAD_CDB_URIデータベース・プロパティを確認します。
      SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='LEAD_CDB_URI';  
    3. データベース・リンクが存在しない場合は、フリート内のリートCDBのルートへのリンクを作成します。
      データベース・リンクは、固定共通ユーザー・データベース・リンクである必要があります。
    4. LEAD_CDB_URIデータベース・プロパティを、リードCDBへのデータベース・リンクの名前に設定します。
  • 例14-2 CDBフリート・メンバーの指定
    • この例では、リードCDBがcdb1で、リードCDBへのデータベース・リンクが存在しないと想定しています。
    • また、現在のCDBがlead_podサービス名を使用してcdb1に接続できるネットワークが構成されていると想定しています。
      1. フリート・メンバーとして指定するCDBのルートにアクセスします。
        ALTER SESSION SET CONTAINER = CDB$ROOT;  
      2. cdb1へのデータベース・リンクを作成します。
        CREATE PUBLIC DATABASE LINK lead_link CONNECT TO C##CF1 IDENTIFIED BY password  USING 'lead_pod';  
      3. LEAD_CDB_URIプロパティをデータベース・リンクの名前に設定します。
        ALTER DATABASE SET LEAD_CDB_URI = 'dblink:LEAD_LINK';  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@sasakihirの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう