プライマリ・コンテンツに移動
Oracle® Database管理者ガイド
12cリリース1 (12.1)
B71301-11
目次へ移動
目次
索引へ移動
索引

前
次

37 CDBの作成および構成

マルチテナント・コンテナ・データベース(CDB)の作成および構成には、CDBの作成の計画、CDBの作成、オプションでCDBに対するEM Expressの構成などのタスクが含まれます。

37.1 CDBの作成の概要

マルチテナント・コンテナ・データベース(CDB)を作成する手順は、非CDBを作成する手順と非常によく似ています。

非CDBを作成する手順は、「Oracle Databaseの作成および構成」で説明されています。CDBを作成する前に、「Oracle Databaseの作成および構成」で説明されている概要およびタスクについて理解する必要があります。

この章では、CDBを作成する場合の特別な考慮事項について説明します。この章では、「Oracle Databaseの作成および構成」の非CDBの作成手順とCDBの作成手順の違いについても説明します。

「CDB作成計画」に示すいくつかのガイドラインを使用してCDBを計画した後、Oracle Databaseソフトウェアのインストール中またはインストール後に、CDBを作成できます。インストール後にCDBを作成する一般的な理由は、次のとおりです。

  • Oracle Universal Installer (OUI)を使用してソフトウェアのみをインストールし、CDBを作成しなかったため。

  • 既存のCDBまたは既存の非CDBと同じホストに別のCDBを作成するため。この場合、この章では、新しいCDBで既存のデータベースと同じOracleホームが使用されると想定します。OUIを再度実行して、新しいOracleホームにCDBを作成することもできます。

CDBを作成する場合、具体的には次の方法があります。

37.2 CDB作成計画

CDB作成では、複数のオペレーティング・システム・ファイルがCDBとして連携して動作するように準備します。

注意:

CDBを計画する前に、CDBおよびPDBの概念について『Oracle Database概要』で確認してください。

37.2.1 CDBの構成方法の決定

CDBの作成を準備するには、調査と綿密な計画が必要です。

表37-1に、CDBに適用される推奨処理および考慮事項をリストします。表37-1のアクションの多くの詳細は、表2-1を参照してください。

表37-1 CDBの計画

アクション CDBの考慮事項 追加情報

プラガブル・データベース(PDB)の表および索引を計画し、それらに必要な領域を見積ります。

CDBでは、ほとんどのユーザー・データがPDBに存在します。ルートには、ユーザー・データは含まれないか、または最小限のユーザー・データが含まれます。CDBに含められるPDBを計画します。CDBのディスク記憶域要件は、Oracle Databaseインストールに必要な領域に、CDBに含められるすべてのPDBの領域要件の合計を加えたものです。CDBには、シードを含む最大253個のPDBを含めることができます。

Oracle Databaseの構造と記憶域

スキーマ・オブジェクト

SQL*Plusを使用したPDBの作成および削除

CDBを構成する基礎となるオペレーティング・システム・ファイルのレイアウトを計画します。

ルート、シードおよび各PDBについて個別のデータファイルが存在します。

単一インスタンスCDBにREDOログが1つ存在するか、またはOracle Real Application Clusters (Oracle RAC) CDBのインスタンスごとにREDOログが1つ存在します。また、Oracle RACでは、すべてのデータファイルおよびREDOログ・ファイルが共有記憶域に存在する必要があります。

Oracle Managed Filesの使用

『Oracle Automatic Storage Management管理者ガイド』

『Oracle Databaseパフォーマンス・チューニング・ガイド』

『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』

Oracle RACの記憶域の構成の詳細は、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

該当のOracle Databaseインストレーション・ガイドなど、使用しているオペレーティング・システム固有のOracleマニュアル。

CDBで必要とされるバックグラウンド・プロセス数を計画します。

ルートとすべてのPDBによって共有された1セットのバックグラウンド・プロセスが存在します。

「最大プロセス数の指定」

ネットワーク構造内のCDBの名前と場所で構成されたグローバル・データベース名を選択し、DB_NAMEおよびDB_DOMAINの両方の初期化パラメータを設定してルートのグローバル・データベース名を作成します。

ルートのグローバル・データベース名は、CDBのグローバル・データベース名です。

PDBのグローバル・データベース名は、PDB名およびDB_DOMAIN初期化パラメータによって定義されます。

「グローバル・データベース名の決定」

初期化パラメータ・ファイルに含まれる可能性がある初期化パラメータについて理解します。サーバー・パラメータ・ファイル(SPFILE)の概要と操作について理解します。SPFILEファイルを使用すると、初期化パラメータをサーバー側のディスク・ファイルに永続的に格納して管理できます。

CDBでは、1つのSPFILEまたは1つのテキスト形式の初期化パラメータ・ファイル(PFILE)が使用されます。ルートに設定した初期化パラメータの値は、PDBで継承することが可能です。ALTER SYSTEM文を使用して、PDBの一部の初期化パラメータを設定できます。

SPFILEを操作する場合、ルートは現在のコンテナである必要があります。SPFILEを作成または変更するユーザーは、SYSDBASYSOPERまたはSYSBACKUP管理権限を持つ共通ユーザーである必要があり、AS SYSDBAAS SYSOPERまたはAS SYSBACKUPとしてそれぞれ接続して権限を行使する必要があります。

CDBを作成するには、ENABLE_PLUGGABLE_DATABASE初期化パラメータがTRUEに設定されている必要があります。

「初期化パラメータの指定」

「CDBにおけるALTER SYSTEM SET文の使用方法」

「PDBで変更可能な初期化パラメータをリスト」

「現在のコンテナについて」

『Oracle Databaseリファレンス』

キャラクタ・セットを選択します。

CDB内のすべてのPDBで、このキャラクタ・セットが使用されます。CDBのデータベースのキャラクタ・セットを選択する場合、CDBに統合(接続)するデータベースの現在のキャラクタ・セットを考慮する必要があります。

CDBデータベースのキャラクタ・セットにはAL32UTF8、CDBの各国語キャラクタ・セットにはAL16UTF6をお薦めします。これらは最も柔軟性が高いためです。

非CDBをCDBに移行する場合、最初に非CDBをAL32UTF8に移行するのが最適です。Oracle Database Migration Assistant for Unicode (DMU)を使用すると、非CDBをAL32UTF8に移行できます。CDBの作成後に、DMUを使用してCDBのキャラクタ・セットを移行することはできません。

『Oracle Databaseグローバリゼーション・サポート・ガイド』

CDBでサポートする必要があるタイム・ゾーンを検討します。

CDB全体(すべてのPDBを含む)についてタイム・ゾーンを設定できます。また、PDBごとに個々にタイム・ゾーンを設定することもできます。

「データベースのタイム・ゾーンとタイム・ゾーン・ファイルの指定」

データベースの標準ブロック・サイズを選択します。このサイズはCDBの作成時にDB_BLOCK_SIZE初期化パラメータによって指定しますが、CDBの作成後は変更できません。

標準ブロック・サイズはCDB全体に適用されます。

「データベース・ブロック・サイズの指定」

セクター・サイズが4KBのディスク上にオンラインREDOログ・ファイルを格納する場合は、REDOログのブロック・サイズを手動で指定する必要があるかどうかを確認します。また、バックアップおよびリカバリ計画を作成し、CDBを障害から保護します。

CDB全体について、REDOログおよび制御ファイルがそれぞれ1つ存在します。

「REDOログ・ファイルのブロック・サイズの計画」

REDOログの管理

アーカイブREDOログ・ファイルの管理

制御ファイルの管理

『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』

SYSAUX表領域の適切な初期サイズを決定します。

ルートおよび各PDBには、個別のSYSAUX表領域が存在します。

「SYSAUX表領域の概要」

SYSTEM以外のユーザーに対してはデフォルトの表領域を使用し、データベース・オブジェクトがSYSTEM表領域に誤って保存されないようにします。

ルートおよび各PDBに、個別のデフォルト表領域を指定できます。また、ルートおよび各PDBには、個別のSYSTEM表領域が存在します。

共有一時表領域は再帰的SQLでのみ使用され、PDBによって直接使用されることはありません。

「デフォルト永続表領域の作成」

「CDBを変更する文の概要」

デフォルト一時表領域の使用を計画します。

ルートおよび各PDBについてデフォルト一時表領域が存在します。

「デフォルト一時表領域の作成」

「CDBを変更する文の概要」

UNDOデータを管理するために、UNDO表領域を使用します。

単一インスタンスCDBには、アクティブなUNDO表領域が1つ存在します。Oracle RAC CDBの場合、アクティブなUNDO表領域はインスタンスごとに1つ存在します。適切な権限を持ち、現在のコンテナがルートである共通ユーザーのみが、UNDO表領域を作成できます。

CDBでは、UNDO_MANAGEMENT初期化パラメータをAUTOに設定する必要があり、UNDOデータの管理にUNDO表領域が必要です。

現在のコンテナがルートである場合、UNDO表領域は静的データ・ディクショナリ・ビューおよび動的パフォーマンス(V$)・ビューに表示されます。現在のコンテナがPDBである場合、UNDO表領域は動的パフォーマンス・ビューにのみ表示されます。

Oracle Databaseでは、現在のコンテナがPDBである場合、UNDO表領域とロールバック・セグメントの操作が警告なしで無視されます。

UNDOの管理

「現在のコンテナについて」

アプリケーションのニーズを満たすために必要なデータベース・サービスを計画します。

ルートおよび各PDBには、複数のサービスが必要な場合があります。ルートまたは個々のPDBに、サービスを作成できます。

データベース・サービスには、オプションのPDBプロパティがあります。サービスを作成し、作成したサービスをPDBプロパティを指定して特定のPDBに関連付けることができます。nullのPDBプロパティが指定されたサービスは、ルートに関連付けられます。SRVCTLユーティリティ、Oracle Enterprise Manager Cloud Controlおよび提供されているDBMS_SERVICE PL/SQLパッケージを使用して、サービスを管理できます。

PDBを作成すると、PDBの新しいデフォルト・サービスが自動的に作成されます。サービスの名前はPDBと同じになります。このサービスは、SRVCTLユーティリティでは管理できません。ただし、ユーザー定義サービスを作成し、アプリケーションに合わせてカスタマイズできます。

「データベース・サービスでのアプリケーション・ワークロードの管理」

「PDBに関連付けられたサービスの管理」

単一インスタンス・データベースでのSRVCTLユーティリティの使用の詳細は、「Oracle RestartのSRVCTLコマンド・リファレンス」を参照してください

Oracle RACデータベースでのSRVCTLユーティリティの使用の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

インスタンスの起動と停止、CDBのマウントとオープンの原理およびオプションについて理解します。

CDBでは、ルートおよびすべてのPDBで単一インスタンスが共有されますが、Oracle RACを使用する場合には、複数の同時データベース・インスタンスが共有されます。個々のPDBではなく、CDB全体を起動および停止します。ただし、CDBがオープンしている場合は、ALTER PLUGGABLE DATABASE文、SQL*PlusのSTARTUPコマンドおよびSQL*PlusのSHUTDOWNコマンドを使用して、個々のPDBのオープン・モードを変更できます。また、CDBがオープンしており、現在のコンテナがPDBの場合は、SQL*Plus STARTUPコマンドおよびSQL*Plus SHUTDOWNコマンドの両方が機能します。ただし、SQL*Plus STARTUP MOUNTコマンドはCDB専用の操作で、PDBが現在のコンテナである場合は使用できません。

「データベースの起動」

「PDBのオープン・モードの変更」

「ALTER PLUGGABLE DATABASE文を使用したPDBの変更」

Oracle RACを使用する場合は、Oracle RAC環境を計画します。

Oracle RACドキュメントでは、Oracle RAC環境でのCDBの特別な考慮事項について説明しています。

Oracle RAC環境でのCDB作成の詳細は、使用しているプラットフォーム固有のOracle RACインストレーション・ガイドを参照してください。

『Oracle Real Application Clusters管理およびデプロイメント・ガイド』

サポートされない機能を回避します。

CDBで現在サポートされていないOracle Database機能のリストは、『Oracle Databaseプラットフォーム共通日本語README』に記載されています。

これらの機能のうち1つ以上を使用する必要がある場合、非CDBを作成します。

Oracle Databaseの作成および構成

37.2.2 CDB作成の前提条件

新規CDBを作成する前に、前提条件を満たす必要があります。

新しいCDBを作成するには、次の前提条件を満たす必要があります。

  • 「マルチテナント環境の前提条件」で説明する前提条件を満たしていることを確認してください。

  • Oracle Databaseインスタンスを起動するために十分なメモリーが使用可能であること。

    CDBに必要なメモリーのサイズは、その各コンテナのワークロードおよびコンテナの数にあわせて調整する必要があります。

  • Oracle Databaseを実行するコンピュータ上で、設計したPDBのための十分なディスク記憶域が使用可能であること。Oracle RAC環境では、十分な共有記憶域が使用可能である必要があります。

    CDBで必要なディスク記憶域は、CDBに含められるすべてのPDBの領域要件の合計です。

これらすべての前提条件は、オペレーティング・システムに固有の『Oracle Databaseインストレーション・ガイド』または『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。Oracle Universal Installerを使用すると、表示される手順に従ってインストールでき、環境変数、ディレクトリ構造および認可の設定に関するヘルプが表示されます。

37.3 DBCAを使用したCDBの作成

Database Configuration Assistant (DBCA)はほとんど自動化されており、DBCAが完了するとCDBが使用可能状態になるので、この方法でCDBを作成することをお薦めします。DBCAを使用すると、CDBを作成するときに、CDB内のPDB数を指定できます。

選択したインストール・タイプによっては、Oracle Universal Installer(OUI)からDBCAを起動できます。また、Oracle Databaseをインストール後は、スタンドアロン・ツールとして、いつでもDBCAを起動できます。

DBCAを使用すると、CDBを対話型モードまたは非対話型(サイレント)モードで作成できます。対話型モードには、CDBを作成して構成するためのグラフィカル・インタフェースおよびガイド付きワークフローが用意されています。非対話型(サイレント)モードでは、CDB作成スクリプトを記述できます。DBCAを非対話型(サイレント)モードで実行するには、コマンドライン引数またはレスポンス・ファイル、あるいはその両方を指定します。

CDBの作成後、DBCAを使用してPDBをCDBに接続したり、CDBから切断できます。

関連項目:

37.4 CREATE DATABASE文を使用したCDBの作成

CREATE DATABASE SQL文を使用してCDBを作成できます。

注意:

Database Configuration Assistant (DBCA)の使用はほとんど自動化されており、DBCAが完了するとCDBが使用可能状態になるので、CREATE DATABASE SQL文ではなくこの方法でCDBを作成することをお薦めします。

37.4.1 CREATE DATABASE文を使用したCDBの作成の概要

CREATE DATABASE SQL文を使用したCDBの作成は、非CDBの作成とよく似ています。この項では、CDBを作成するための追加要件について説明します。CREATE DATABASE SQL文を使用してCDBを作成する場合は、PDBを使用可能にして、ルートのファイルおよびシードのファイルの名前と場所を指定する必要があります。

注意:

DBCAを使用しないで手動でCDBを作成する場合は、CREATE DATABASE SQL文を使用します。

関連項目:

CDBのファイルの詳細は、『Oracle Database概要』を参照してください。

37.4.1.1 PDBの有効化の概要

CDBを作成するには、CREATE DATABASE文にENABLE PLUGGABLE DATABASE句が含まれている必要があります。この句が含まれている場合、この文によってルートおよびシードを含むCDBが作成されます。

ENABLE PLUGGABLE DATABASE句がCREATE DATABASE文に含まれていない場合、新しく作成されるデータベースは非CDBとなります。この文によってルートおよびシードは作成されず、非CDBにPDBを含めることはできません。

37.4.1.2 ルートのファイルおよびシードのファイルの名前と場所の概要

CREATE DATABASE文では、ルートのファイル(データファイルなど)を使用してシードのファイル名を生成します。ルートのファイルおよびシードのファイルの名前と場所を指定する必要があります。CREATE DATABASE文が正常に完了すると、シードおよびそのファイルを使用して新しいPDBを作成できます。シードは、作成した後に変更できません。

シードのファイルの名前と場所は、次のいずれかの方法で指定する必要があります。

  1. SEED FILE_NAME_CONVERT

  2. Oracle Managed Files

  3. PDB_FILE_NAME_CONVERT初期化パラメータ

これらのうち複数の方法を使用する場合、CREATE DATABASE文では、前のリストの優先度に従っていずれかの方法が使用されます。たとえば、すべての方法を使用する場合、CREATE DATABASE文では、SEED FILE_NAME_CONVERT句での指定のみが使用されます。

37.4.1.2.1 SEED FILE_NAME_CONVERT句

CREATE DATABASE文のSEED FILE_NAME_CONVERT句は、ルートのファイル名を使用してシードのファイル名をどのように生成するかを指定します。

この句を使用して、次のいずれかのオプションを指定できます。

  • 1つ以上のファイル名パターンおよび置換ファイル名パターンを次の形式で指定します。

    'string1' , 'string2' , 'string3' , 'string4' , ...
    

    string1ファイル名パターンがstring2ファイル名パターンによって置き換えられ、string3ファイル名パターンがstring4ファイル名パターンによって置き換えられます。ファイル名パターン文字列と置換ファイル名パターン文字列のペアを必要な数だけ使用できます。

    奇数の文字列を指定した(最終文字列に対応する置換文字列が存在しない)場合、エラーが返されます。1つのファイル名またはディレクトリと一致する複数のパターン/置換文字列を指定しないでください。

    ファイル名パターンをOracle Managed Filesによって管理されているファイルまたはディレクトリと一致させることはできません。

  • ファイル名を変換する必要がない場合は、NONEを指定します。SEED FILE_NAME_CONVERT句を省略することは、NONEを指定することと同じです。

例37-1 SEED FILE_NAME_CONVERT句

このSEED FILE_NAME_CONVERT句により、/oracle/dbsディレクトリ内のファイル名を使用して、/oracle/pdbseedディレクトリ内のシードのファイルのファイル名が生成されます。

SEED
FILE_NAME_CONVERT = ('/oracle/dbs/', '/oracle/pdbseed/')

関連項目:

SEED FILE_NAME_CONVERT句の構文は、『Oracle Database SQL言語リファレンス』を参照してください。

37.4.1.2.2 Oracle Managed Files

Oracle Managed Filesを有効化すると、シードのファイルの名前と場所を指定できます。

37.4.1.2.3 PDB_FILE_NAME_CONVERT初期化パラメータ

PDB_FILE_NAME_CONVERT初期化パラメータを使用すると、シードのファイルの名前と場所を指定できます。

この手法を使用するには、CDBを作成するとき、PDB_FILE_NAME_CONVERT初期化パラメータが初期化パラメータ・ファイルに含まれるようにします。

この初期化パラメータで指定するファイル名パターンをOracle Managed Filesによって管理されているファイルまたはディレクトリと一致させることはできません。

関連項目:

『Oracle Databaseリファレンス』

37.4.1.3 シードのデータファイル属性の概要

シードは、新しいPDBを作成するためのテンプレートとして使用できます。

ルートのSYSTEMおよびSYSAUX表領域のデータファイル属性は、シードに適さない場合があります。この場合、tablespace_datafile句を使用して、シードのデータファイルに異なる属性を指定できます。これらの句を使用して、シード内のSYSTEM表領域とSYSAUX表領域を構成するすべてのデータファイルの属性を指定します。値が指定されていないすべての属性には、ルートから継承された値が使用されます。

tablespace_datafile句の構文は、データファイルの名前と場所およびREUSE属性を除き、データファイル指定の構文と同じです。「ルートのファイルおよびシードのファイルの名前と場所の概要」で説明されているシードのデータファイルの名前と場所を指定するいずれかの方法を使用して、tablespace_datafile句を使用できます。

tablespace_datafile句では、シードのデータファイルの名前と場所は指定しません。かわりに、シード内のSYSTEMおよびSYSAUXデータファイルについて、ルートとは異なる属性を指定します。SIZEが表領域のtablespace_datafile句で指定されていない場合、表領域のデータファイル・サイズは、対応するルートのデータファイル・サイズの事前定義された割合に設定されます。

例37-2 tablespace_datafile句の使用

次のCREATE DATABASE句により、ルート内のSYSTEMおよびSYSAUX表領域を構成するデータファイルの名前、場所および属性が指定されると想定します。

DATAFILE '/u01/app/oracle/oradata/newcdb/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/newcdb/sysaux01.dbf' SIZE 325M REUSE

次のtablespace_datafile句を使用して、これらのデータファイルに異なる属性を指定できます。

SEED
SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
SYSAUX DATAFILES SIZE 100M

この例では、シードのSYSTEMおよびSYSAUX表領域のデータファイルは、ルートのデータファイルからREUSE属性を継承します。ただし、シードの次のデータファイル属性は、ルートの属性とは異なります。

  • SYSTEM表領域のデータファイルは、シードの場合は125MB、ルートの場合は325MBです。

  • AUTOEXTENDは、シードのSYSTEMデータファイルについては有効であり、ルートのSYSTEMデータファイルについてはデフォルトで無効です。

  • SYSAUX表領域のデータファイルは、シードの場合は100MB、ルートの場合は325MBです。

関連項目:

データファイル指定の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

37.4.2 CREATE DATABASE文を使用したCDBの作成

CREATE DATABASE文を使用してCDBを作成する場合は、実行可能なCDBを作成する前に他の処理を実行する必要があります。

この処理には、データ・ディクショナリ表のビューの作成、標準PL/SQLパッケージのルートでのインストールなどがあります。これらの処理には、提供されたcatcdb.sqlスクリプトを実行します。

この項の手順が適用できるのは、単一インスタンスのインストールの場合のみです。Oracle RAC CDBの作成手順は、使用しているプラットフォーム固有のOracle Real Application Clusters (Oracle RAC)インストレーション・ガイドを参照してください。

注意:

単一インスタンスとは、単一のホスト・コンピュータに存在できるOracleインスタンスが1つのみであるという意味ではありません。実際には、複数のOracleインスタンス(および関連するデータベース)を、単一のホスト・コンピュータで実行できます。単一インスタンス・データベースとは、一度に1つのみのOracleインスタンスがアクセスするデータベースのことですが、これに対して、Oracle RACデータベースには、複数ノードの複数Oracleインスタンスが同時にアクセスします。Oracle RACの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

ヒント:

Oracle ASMを使用してディスク記憶域を管理している場合は、これらの手順を実行する前に、Oracle ASMインスタンスを起動してディスク・グループを構成する必要があります。『Oracle Automatic Storage Management管理者ガイド』を参照してください。

次の手順の例では、newcdbという名前のCDBが作成されます。

CREATE DATABASE文を使用してCDBを作成する手順は、次のとおりです。

  1. 「CREATE DATABASE文を使用したデータベースの作成」の手順1から8を完了します。

    CDBを作成するには、ENABLE_PLUGGABLE_DATABASE初期化パラメータがTRUEに設定されている必要があります。

    CDBでは、DB_NAME初期化パラメータを使用してルートの名前を指定します。また、SIDはルートの名前に設定するのが一般的です。この名前の最大文字数は30文字です。詳細は、『Oracle Databaseリファレンス』DB_NAME初期化パラメータに関する説明を参照してください。

  2. CREATE DATABASE文を使用して、新しいCDBを作成します。

    次に、CREATE DATABASE文を使用して新しいCDBを作成する例を示します。

    例1: Oracle Managed Filesを使用しないCDBの作成

    次の文では、newcdbという名前のCDBが作成されます。この名前は、初期化パラメータ・ファイルのDB_NAMEパラメータと同じにする必要があります。この例では、次のことを想定しています。

    • 初期化パラメータ・ファイルのCONTROL_FILESパラメータには、制御ファイルの数と場所が指定されています。

    • ディレクトリ/u01/app/oracle/oradata/newcdbが存在します。

    • ディレクトリ/u01/app/oracle/oradata/pdbseedが存在します。

    • ディレクトリ/u01/logs/myおよび/u02/logs/myが存在します。

    この例には、ルートおよびシードのあるCDBを作成するENABLE PLUGGABLE DATABASE句が含まれています。また、この例には、シードのファイルの名前と場所を指定するSEED FILE_NAME_CONVERT句も含まれています。この例には、SYSTEMおよびSYSAUX表領域について、ルートとは異なるシードのデータファイル属性を指定するtablespace_datafile句も含まれています。

    CREATE DATABASE newcdb
      USER SYS IDENTIFIED BY sys_password
      USER SYSTEM IDENTIFIED BY system_password
      LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log') 
                 SIZE 100M BLOCKSIZE 512,
              GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log') 
                 SIZE 100M BLOCKSIZE 512,
              GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log') 
                 SIZE 100M BLOCKSIZE 512
      MAXLOGHISTORY 1
      MAXLOGFILES 16
      MAXLOGMEMBERS 3
      MAXDATAFILES 1024
      CHARACTER SET AL32UTF8
      NATIONAL CHARACTER SET AL16UTF16
      EXTENT MANAGEMENT LOCAL
      DATAFILE '/u01/app/oracle/oradata/newcdb/system01.dbf'
        SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
      SYSAUX DATAFILE '/u01/app/oracle/oradata/newcdb/sysaux01.dbf'
        SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
      DEFAULT TABLESPACE deftbs
         DATAFILE '/u01/app/oracle/oradata/newcdb/deftbs01.dbf'
         SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
      DEFAULT TEMPORARY TABLESPACE tempts1
         TEMPFILE '/u01/app/oracle/oradata/newcdb/temp01.dbf'
         SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
      UNDO TABLESPACE undotbs1
         DATAFILE '/u01/app/oracle/oradata/newcdb/undotbs01.dbf'
         SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
      ENABLE PLUGGABLE DATABASE
        SEED
        FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/newcdb/', 
                             '/u01/app/oracle/oradata/pdbseed/')
        SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
        SYSAUX DATAFILES SIZE 100M
      USER_DATA TABLESPACE usertbs
        DATAFILE '/u01/app/oracle/oradata/pdbseed/usertbs01.dbf'
        SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
    

    次の特性を持つCDBが作成されます。

    • CDBはnewcdbという名前です。グローバル・データベース名はnewcdb.us.example.comであり、ドメイン部分(us.example.com)は、初期化パラメータ・ファイルから取得されます。「グローバル・データベース名の決定」を参照してください。

    • CONTROL_FILES初期化パラメータ(CDB作成前に初期化パラメータ・ファイルに設定)で指定された3つの制御ファイルが作成されます。「初期化パラメータ・ファイルのサンプル」および「制御ファイルの指定」を参照してください。

    • ユーザー・アカウントSYSSYSTEMのパスワードが指定した値に設定されます。パスワードでは、大/小文字が区別されます。SYSおよびSYSTEMのパスワードを指定する2つの句は、このリリースのOracle Databaseではオプションです。ただし、いずれか一方の句を指定した場合は、もう一方の句も指定する必要があります。これらの句の使用方法の詳細は、「データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定」を参照してください。

    • 新しいCDBには、LOGFILE句で指定されているように、オンラインREDOログ・ファイルのグループが3つあり、各グループには2つのメンバーが含まれます。MAXLOGFILESMAXLOGMEMBERSおよびMAXLOGHISTORYは、REDOログの制限を定義します。「適切なREDOログ・ファイル数の選択」を参照してください。REDOログのブロック・サイズは、ディスクの物理セクターと同じサイズである512バイトに設定されています。ブロック・サイズを物理セクター・サイズと同じ(デフォルト)にする場合には、BLOCKSIZE句はオプションです。通常のセクター・サイズおよびブロック・サイズは512です。BLOCKSIZEに設定可能な値は512、1024および4096です。新しいディスクでセクター・サイズが4KBの場合には、オプションでBLOCKSIZEを4096に指定します。詳細は、「REDOログ・ファイルのブロック・サイズの計画」を参照してください。

    • MAXDATAFILESでは、CDBでオープンできるデータファイルの最大数を指定します。この数は、制御ファイルの初期サイズに影響を及ぼします。CDBの場合は、CDBルート・ファイルに加えて、すべてのコンテナのデータファイルの合計数を考慮した大きい数にMAXDATAFILESを設定します。

      注意:

      CDBの作成時に、制限をいくつか設定できます。これらの制限には、オペレーティング・システムの制限によって制限され、その影響を受けるものがあります。たとえば、MAXDATAFILESを設定すると、Oracle Databaseは、初期のCDBにデータファイルが1つしかなくても、制御ファイルにMAXDATAFILES個のファイル名を格納できるだけの領域を割り当てます。ただし、制御ファイルの最大サイズは制限されており、オペレーティング・システムによって異なるので、CREATE DATABASE文のパラメータをすべて理論的な最大値で設定できるとはかぎりません。

      CDB作成時に制限を設定する方法の詳細は、『Oracle Database SQL言語リファレンス』および使用しているオペレーティング・システム固有のOracleマニュアルを参照してください。

    • このCDBにデータを格納する際は、AL32UTF8キャラクタ・セットが使用されます。

    • NATIONAL CHARACTER SETとしてAL16UTF16キャラクタ・セットが指定され、特にNCHARNCLOBまたはNVARCHAR2として定義された列にデータを格納する際に使用されます。

    • DATAFILE句で指定したとおりに、SYSTEM表領域(オペレーティング・システム・ファイル/u01/app/oracle/oradata/newcdb/system01.dbf,から構成される)が作成されます。指定した名前のファイルがすでに存在する場合は上書きされます。

    • SYSTEM表領域はローカル管理の表領域として作成されます。「ローカル管理のSYSTEM表領域の作成」を参照してください。

    • SYSAUX DATAFILE句で指定したとおりに、SYSAUX表領域(オペレーティング・システム・ファイル/u01/app/oracle/oradata/newcdb/sysaux01.dbfから構成される)が作成されます。「SYSAUX表領域の概要」を参照してください。

    • DEFAULT TABLESPACE句により、指定した名前で、このCDB用のデフォルト永続表領域が作成されます。

    • DEFAULT TEMPORARY TABLESPACE句は、このCDBのルートのデフォルト一時表領域を作成し、名前を付けます。「デフォルト一時表領域の作成」を参照してください。

    • UNDO TABLESPACE句により、指定した名前で、このCDB用のUNDOデータの格納に使用されるUNDO表領域が作成されます。CDBでは、UNDOデータの管理にUNDO表領域が必要であり、UNDO_MANAGEMENT初期化パラメータをAUTOに設定する必要があります。このパラメータを省略すると、デフォルトでAUTOに設定されます。「自動UNDO管理の使用: UNDO表領域の作成」を参照してください。

    • このCREATE DATABASE文ではARCHIVELOG句が指定されていないため、初期状態ではREDOログ・ファイルはアーカイブされません。これはCDB作成時の慣例です。後でALTER DATABASE文を使用して、ARCHIVELOGモードに切り替えることができます。newcdbのアーカイブに関連する初期化パラメータ・ファイル内の初期化パラメータは、LOG_ARCHIVE_DEST_1およびLOG_ARCHIVE_FORMATです。「アーカイブREDOログ・ファイルの管理」を参照してください。

    • ENABLE PLUGGABLE DATABASE句では、ルートおよびシードを含むCDBが作成されます。

    • FILE_NAME_CONVERT句およびtablespace_datafile句にはSEEDが必要です。

    • FILE_NAME_CONVERT句では、/u01/app/oracle/oradata/newcdbディレクトリ内にあるファイル名を使用して、/u01/app/oracle/oradata/pdbseed内にあるシードのファイル用にファイル名を生成します。

    • SYSTEM DATAFILES句では、ルートの属性とは異なるシードのSYSTEM表領域の属性を指定します。

    • SYSAUX DATAFILES句では、ルートの属性とは異なるシードのSYSAUX表領域の属性を指定します。

    • USER_DATA TABLESPACE句では、指定した名前で、ユーザー・データおよびデータベース・オプション(Oracle XML DBなど)を格納するためのシードの表領域が作成されます。シードを使用して作成されたPDBには、この表領域およびそのデータファイルが含まれます。この句で指定された表領域およびデータファイルは、ルートでは使用されません。

    注意:

    • CREATE DATABASE文で使用しているディレクトリがすべて存在することを確認します。CREATE DATABASE文ではディレクトリは作成されません。

    • Oracle Managed Filesを使用していない場合は、すべてのTABLESPACE句にDATAFILE句またはTEMPFILE句を指定する必要があります。

    • CDBの作成に失敗した場合は、アラート・ログを参照すると、失敗の原因とその対処措置を判別できます。「アラート・ログの表示」を参照してください。プロセス番号を含むエラー・メッセージが表示される場合は、そのプロセスのトレース・ファイルを調べます。そのプロセス番号がトレース・ファイル名に含まれているトレース・ファイルを探します。詳細は、「トレース・ファイルの検索」を参照してください。

    • CREATE DATABASE文を失敗後に再発行するには、最初にインスタンスを停止してから、前のCREATE DATABASE文で作成されたファイルを削除する必要があります。

    例2: Oracle Managed Filesを使用したCDBの作成

    ここでは、より簡単なCREATE DATABASE文を使用できる、Oracle Managed Filesを使用したCDBの作成例を示します。Oracle Managed Filesを使用するには、初期化パラメータDB_CREATE_FILE_DESTを設定する必要があります。このパラメータは、CDBで作成されて自動的に名前が付けられる様々なCDBファイル用のベース・ディレクトリを定義します。

    次の文は、初期化パラメータ・ファイルにこのパラメータを設定する例を示しています。

    DB_CREATE_FILE_DEST='/u01/app/oracle/oradata'
    

    この例では、Oracle ASM記憶域のパラメータを設定します。

    DB_CREATE_FILE_DEST = +data
    

    この例には、ルートおよびシードのあるCDBを作成するENABLE PLUGGABLE DATABASE句が含まれています。この例では、Oracle Managed Filesによってシードのファイルの名前と場所が指定されるため、SEED FILE_NAME_CONVERT句は含まれていません。ただし、この例には、SYSTEMおよびSYSAUX表領域について、ルートとは異なるシードのデータファイル属性を指定するtablespace_datafile句が含まれています。

    Oracle Managed Filesおよび次のCREATE DATABASE文を使用すると、SYSTEM表領域とSYSAUX表領域および文に指定されている追加の表領域がCDBによって作成され、すべてのデータファイル、制御ファイルおよびREDOログ・ファイルのデフォルト・サイズとプロパティが選択されます。この方法で設定されるこれらのプロパティおよび他のデフォルトCDBプロパティは本番環境には適さない場合があるため、生成された構成を調べて必要に応じて変更することをお薦めします。

    CREATE DATABASE newcdb
    USER SYS IDENTIFIED BY sys_password
    USER SYSTEM IDENTIFIED BY system_password
    EXTENT MANAGEMENT LOCAL
    DEFAULT TABLESPACE users
    DEFAULT TEMPORARY TABLESPACE temp
    UNDO TABLESPACE undotbs1
    ENABLE PLUGGABLE DATABASE
       SEED
       SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
       SYSAUX DATAFILES SIZE 100M;
    

    次の特性を持つCDBが作成されます。

    • CDBはnewcdbという名前です。グローバル・データベース名はnewcdb.us.example.comであり、ドメイン部分(us.example.com)は、初期化パラメータ・ファイルから取得されます。「グローバル・データベース名の決定」を参照してください。

    • ユーザー・アカウントSYSSYSTEMのパスワードが指定した値に設定されます。パスワードでは、大/小文字が区別されます。SYSおよびSYSTEMのパスワードを指定する2つの句は、このリリースのOracle Databaseではオプションです。ただし、いずれか一方の句を指定した場合は、もう一方の句も指定する必要があります。これらの句の使用方法の詳細は、「データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定」を参照してください。

    • DEFAULT TABLESPACE句により、指定した名前で、このCDB用のデフォルト永続表領域が作成されます。

    • DEFAULT TEMPORARY TABLESPACE句は、このCDBのルートのデフォルト一時表領域を作成し、名前を付けます。「デフォルト一時表領域の作成」を参照してください。

    • UNDO TABLESPACE句により、指定した名前で、このCDB用のUNDOデータの格納に使用されるUNDO表領域が作成されます。CDBでは、UNDOデータの管理にUNDO表領域が必要であり、UNDO_MANAGEMENT初期化パラメータをAUTOに設定する必要があります。このパラメータを省略すると、デフォルトでAUTOに設定されます。「自動UNDO管理の使用: UNDO表領域の作成」を参照してください。

    • このCREATE DATABASE文ではARCHIVELOG句が指定されていないため、初期状態ではREDOログ・ファイルはアーカイブされません。これはCDB作成時の慣例です。後でALTER DATABASE文を使用して、ARCHIVELOGモードに切り替えることができます。newcdbのアーカイブに関連する初期化パラメータ・ファイル内の初期化パラメータは、LOG_ARCHIVE_DEST_1およびLOG_ARCHIVE_FORMATです。「アーカイブREDOログ・ファイルの管理」を参照してください。

    • ENABLE PLUGGABLE DATABASE句では、ルートおよびシードを含むCDBが作成されます。

    • tablespace_datafile句にはSEEDが必要です。

    • SYSTEM DATAFILES句では、ルートの属性とは異なるシードのSYSTEM表領域の属性を指定します。

    • SYSAUX DATAFILES句では、ルートの属性とは異なるシードのSYSAUX表領域の属性を指定します。

    ヒント:

    CREATE DATABASE文が失敗する場合で「CREATE DATABASE文を使用したデータベースの作成」の手順7を完了していない場合は、予期しない方法で初期化パラメータが設定されている、このインスタンス用の既存のサーバー・パラメータ・ファイル(SPFILE)がないかを確認します。たとえば、すべての制御ファイルへの完全パスがSPFILEに設定されている場合は、それらの制御ファイルが存在しないと、CREATE DATABASE文が失敗します。不必要なSPFILEを削除した後は、必ずインスタンスを停止して(STARTUP NOMOUNTを指定して)再起動します。詳細は、「サーバー・パラメータ・ファイルを使用した初期化パラメータの管理」を参照してください。

  3. catcdb.sqlのSQLスクリプトを実行します。このスクリプトによって、CDBで必要なコンポーネントがすべてインストールされます。

    SQL*Plusに次を入力し、スクリプトを実行します。

    @?/rdbms/admin/catcdb.sql
    
  4. 「CREATE DATABASE文を使用したデータベースの作成」の手順1 - 14を完了します。

関連項目:

37.5 CDB用EM Expressの構成

CDB用に、HTTPまたはHTTPSポートを設定して、ルートおよび各PDB用にOracle Enterprise Manager Database Express (EM Express)を構成できます。CDBの各コンテナには、別のポートを使用する必要があります。

CDB用にEM Expressを構成するには、次の手順に従います。

  1. SQL*Plusで、CDBのコンテナにアクセスします。

    ユーザーには共通のSYSDBA管理権限が必要であり、接続時にAS SYSDBAを使用してこの権限を行使する必要があります。コンテナは、ルートまたはPDBのいずれでもかまいません。

    「SQL*Plusを使用したCDB内のコンテナへのアクセス」を参照してください。

  2. 次のいずれかの方法を使用して、HTTPまたはHTTPSポートを設定します。

    • HTTPポートを設定するには、次のプロシージャを実行します。

      exec DBMS_XDB_CONFIG.SETHTTPPORT(http_port_number);
      

      http_port_numberを適切なHTTPポート番号に置き換えます。

    • HTTPSポートを設定するには、次のプロシージャを実行します。

      exec DBMS_XDB_CONFIG.SETHTTPSPORT(https_port_number);
      

      https_port_numberを適切なHTTPSポート番号と置き換えます。

    各コンテナでは、EM Express用に1つのポートを使用する必要があります。

  3. EM Expressで管理および監視するコンテナごとに、1および2の手順を繰り返します。

各コンテナのポートの設定後、次のいずれかのURLを使用してEM Expressにアクセスします。

  • HTTPポートのURLは、次のとおりです。

    http://database_hostname:http_port_number/em/
    

    database_hostnameをデータベース・インスタンスが実行されているコンピュータのホスト名と置き換え、http_port_numberを適切なHTTPポート番号と置き換えます。

  • HTTPSポートのURLは、次のとおりです。

    https://database_hostname:https_port_number/em/
    

    database_hostnameをデータベース・インスタンスが実行されているコンピュータのホスト名と置き換え、https_port_numberを適切なHTTPSポート番号と置き換えます。

ルートに接続されている場合、EM ExpressにはCDB全体に該当するデータが表示され、アクションが有効になります。PDBに接続されている場合、EM Expressには、PDBのみに該当するデータが表示され、アクションが有効になります。

注意:

ポート1521にリスナーが構成されていな場合、EM Express用にこのポートを手動で構成する必要があります。手順については、『Oracle Database 2日でデータベース管理者』を参照してください。

関連項目:

EM Expressの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

37.6 CDBの作成後

CDBの作成後、CDBはルートおよびシードで構成されています。

ルートには、システムにより指定されたメタデータおよびPDBを管理できる共通ユーザーが含まれています。シードは、新しいPDBを作成するために使用できるテンプレートです。図37-1は、新しく作成されたCDBを示しています。

図37-1 新しく作成されたCDB

図37-1の説明が続きます
「図37-1 新しく作成されたCDB」の説明

CDBにおいて、ルートには最小限のユーザー・データが含まれるか、またはユーザー・データは含まれていません。ユーザー・データはPDBに存在します。したがって、CDBの作成後、最初に行うタスクの1つは、ユーザー・データを含むPDBを追加することです。手順は、「SQL*PlusでのPDBの作成および削除」を参照してください。

図37-2は、PDBが含まれるCDBを示しています。

PDBをCDBに追加すると、CDBの物理構造は非CDBの物理構造とよく似たものになります。CDBには次のファイルが含まれています。

  • 1つの制御ファイル

  • 単一インスタンスCDBに1つのアクティブなオンラインREDOログ、またはOracle RAC CDBのインスタンスごとに1つのアクティブなオンラインREDOログ

  • 1セットの一時ファイル

    ルートおよび各PDBについてデフォルト一時表領域が存在します。

  • 単一インスタンスCDBに1つのアクティブなUNDO表領域、またはOracle RAC CDBのインスタンスごとに1つのアクティブなUNDO表領域

  • システム・データファイルのセット

    CDBと非CDBとの主な物理的違いは、UNDO以外のデータファイルにあります。非CDBに含まれるシステム・データファイルは1セットのみです。これに対して、CDBには、各PDBのシステム・データファイルのセットを含む、CDB内の各コンテナの1セットのシステム・データファイルが含まれます。これに加えて、CDBにはコンテナごとに1セットのユーザー作成のデータファイルが含まれています。

  • ユーザーが作成したデータファイルのセット

    各PDBには、システム以外のデータファイルの独自のセットが含まれます。これらのデータファイルには、PDBのユーザー定義スキーマおよびデータベース・オブジェクトが含まれます。

CDBの物理アーキテクチャの詳細は、『Oracle Database概要』を参照してください。

CDBのバックアップおよびリカバリには、Recovery Manager (RMAN)を使用することをお薦めします。PDBポイントインタイム・リカバリ(PDB PITR)は、RMANを使用して実行する必要があります。デフォルトでは、RMANはCDBの制御ファイルの自動バックアップをオンにします。CDBの制御ファイルの自動バックアップを有効にして、PDB PITRでデータファイルの追加や削除を取り消すことができるようにすることをお薦めします。

CDBと非CDBの物理構造は似ているため、ほとんどの管理タスクはCDBと非CDBとで違いはありません。ただし、CDBに固有の管理タスクもあります。次の章では、これらのタスクについて説明します。

  • SQL*Plusを使用したPDBの作成および削除

    この章では、次のタスクについて説明しています。

    • SQL*PlusでのPDBの作成

    • SQL*PlusでのPDBの接続

    • SQL*PlusでのPDBの切断

    • SQL*PlusでのPDBの削除

  • Cloud Controlを使用したPDBの作成および削除

    この章では、次のタスクについて説明しています。

    • Cloud Controlを使用したPDBの作成

    • Cloud Controlを使用したPDBの接続

    • Cloud Controlを使用したPDBの切断

  • SQL*Plusを使用したCDBの管理

    この章では、次のタスクについて説明しています。

    • コンテナへの接続

    • コンテナへの切替え

    • CDBの変更

    • ルートの変更

    • PDBのオープン・モードの変更

    • CDBでのDDL文の実行

    • CDBインスタンスの停止

  • Cloud ControlでのCDBおよびPDBの管理

    この章では、次のタスクについて説明しています。

    • CDB記憶域およびスキーマ・オブジェクトの管理

    • コンテナごとの記憶域およびスキーマ・オブジェクトの管理

    • 記憶域およびスキーマ・アラートの監視

    • コンテナへの切替え

    • PDBのオープン・モードの変更

  • SQL*Plusを使用したPDBの管理

    この章では、次のタスクについて説明しています。

    • PDBへの接続

    • PDBの変更

    • PDBに関連付けられたサービスの管理

  • SQL*Plusを使用したCDBおよびPDBに関する情報の表示

    この章では、次のタスクについて説明しています。

    • CDBおよびそのPDBを監視するためのビューの問合せ

    • CDBおよびそのPDBに関する情報を提供するサンプル問合せの実行

  • SQL*PlusでのPDBに対するOracle Resource Managerの使用

    この章では、次のタスクについて説明しています。

    • SQL*PlusでのCDBにおけるリソース・プランの作成

    • SQL*PlusでのCDBにおけるリソース・プランの管理

  • Cloud ControlでのPDBに対するOracle Resource Managerの使用

    この章では、次のタスクについて説明しています。

    • Cloud Controlを使用したCDBにおけるリソース・プランの作成

    • Cloud Controlを使用したCDBリソース・プランのシステム・パフォーマンスの監視

    • PDBリソース・プランの作成

  • CDBでのOracle Schedulerの使用

    この章では、次の項目について説明しています。

    • CDBにおけるDBMS_SCHEDULERの起動

    • CDBにおけるジョブ・コーディネータおよびスレーブ・プロセス

    • Using DBMS_JOB

    • PDBをクローズするプロセス

    • 新規ビューおよび変更されたビュー

関連項目:

  • マルチテナント・アーキテクチャ・ドキュメント・ロードマップについては、『Oracle Database概要』を参照してください。

  • RMANの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。