3 CDBの作成: 基本的なステップ

CDBの計画を作成したら、グラフィカル・ツールまたはSQLコマンドを使用してCDBを作成できます。

データベース作成では、複数のオペレーティング・システム・ファイルがCDBとして連携して動作するように準備します。CDBは、データ・ファイルの数やアクセスするインスタンスの数にかかわらず、1回のみ作成します。CDBの作成では、既存のCDB内の情報を消去し、同じ名前と物理構造を持つ新規CDBを作成することもできます。

関連項目:

  • Oracle Real Application Clusters(Oracle RAC)環境でのデータベース作成に関する情報は、使用しているプラットフォーム固有のOracle Real Application Clustersインストレーション・ガイドを参照してください。

  • フリート・パッチ適用およびプロビジョニング(以前のデータベース・リリースでは高速ホーム・プロビジョニングと呼ばれていた)を使用したデータベース作成の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

3.1 DBCAを使用したCDBの作成

Oracle Database Configuration Assistant (DBCA)は、CDBを作成および構成するためのツールです。

3.1.1 DBCAを使用したCDBの作成について

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

DBCAには、代替方法より優れた次の利点があります。

  • 作成の大部分は自動化されています。

  • DBCAを使用すると、CDBを作成するときに、CDB内のPDB数を指定できます。

  • DBCAが完了すると、CDBは使用可能となります。

  • CDBの作成後は、DBCAを使用して、次の処理を実行できます。

    • ローカルPDBのクローニング

    • PDBの接続と切断

    • CDBの複製(サイレント・モードのみ)

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

DBCAを使用すると、次のいずれかのモードでCDBを作成できます。

  • 対話型モード

    このモードには、CDBを作成して構成するためのグラフィカル・インタフェースおよびガイド付きワークフローが用意されています。

  • 非対話型モード(サイレント・モードとも呼ばれる)

    このモードでは、クローニングに適したカスタマイズされたPDBシード・データベースを使用した、事前構成されたCDBテンプレート・デプロイメントをスクリプト記述できます。DBCAをサイレント・モードで実行するには、コマンドライン引数またはレスポンス・ファイル、あるいはその両方を指定します。

関連項目:

3.1.2 CDBの作成後

作成後のCDBは、ルートとPDBシードで構成されます。

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

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

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

CDBにおいて、ルートには最小限のユーザー・データが含まれるか、またはユーザー・データは含まれていません。ユーザー・データはPDBに存在します。したがって、CDBの作成後、最初に行うタスクの1つは、ユーザー・データを含むPDBを追加することです。

次の図は、PDBが含まれるCDBを示しています。

図3-2 PDBが含まれるCDB

図3-2の説明が続きます
「図3-2 PDBが含まれるCDB」の説明

1つ以上のアプリケーション・コンテナを作成するオプションがあります。アプリケーション・コンテナは、アプリケーション・ルートおよびアプリケーションPDBから構成され、1つ以上のアプリケーションのデータを格納します。アプリケーション・コンテナはアプリケーション共通オブジェクトを格納でき、アプリケーション・コンテナ内のアプリケーションPDBで共有できるユーザー・データを含みます。アプリケーション・コンテナ内のアプリケーションPDBを迅速に作成するためのアプリケーション・シードを含むこともできます。

図3-3 CDB内のアプリケーション・コンテナ

図3-3の説明が続きます
「図3-3 CDB内のアプリケーション・コンテナ」の説明

CDBには次のファイルが含まれています。

  • 1つの制御ファイル

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

  • 一時ファイルのセット

    CDBのルート用に1つ、各PDB、各アプリケーション・ルート、各アプリケーションPDB用に1つのデフォルト一時表領域があります。

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

    CDBには、CDB内のコンテナごとに1セットのシステム・データ・ファイル、およびPDB、アプリケーション・ルート、アプリケーションPDBごとに1セットのシステム・データ・ファイルが含まれます。これに加えて、CDBにはコンテナごとに1セットのユーザー作成のデータファイルが含まれています。CDBがローカルUNDOモードである場合、各コンテナにも固有のUNDO表領域および関連付けられているデータファイルがあります。

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

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

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

関連項目:

3.2 CREATE DATABASE文を使用したデータベースの作成

CREATE DATABASE ... ENABLE PLUGGABLE DATABASE SQL文の使用は、Oracle Database Configuration Assistant (DBCA)を使用するよりも手動操作の多いデータベース作成アプローチです。DBCAのかわりにこの文を使用する利点は、スクリプト内からデータベースを作成できることです。

3.2.1 SQL文を使用したCDB作成について

この項では、DBCAを使用せずにCDBを手動で作成する方法について説明します。

注意:

この章で説明されているSQL句の詳細は、CREATE DATABASE文の句の指定を参照してください。

関連項目:

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

3.2.1.1 Oracle RACおよびOracle ASMについて

この項の手順が適用できるのは、単一インスタンスのインストールの場合のみです

Oracle RACデータベースの作成手順の詳細は、使用しているプラットフォーム固有のOracle Real Application Clusters(Oracle RAC)インストレーション・ガイドを参照してください。

注意:

  • 単一インスタンスとは、単一のホスト・コンピュータに存在できるOracleインスタンスが1つのみであるという意味ではありません。実際には、複数のOracleインスタンス(および関連するデータベース)を、単一のホスト・コンピュータで実行できます。単一インスタンスのデータベースとは、一度に1つのOracleインスタンスのみがアクセスするデータベースのことですが、これに対して、Oracle RACデータベースには、複数ノードの複数Oracleインスタンスが同時にアクセスします。

  • Oracle Database 12cリリース2 (12.2)以降では、読取り専用インスタンスと読取り/書込みインスタンスが単一のOracle RACデータベース内で共存できます。この構成はパラレル問合せのスケーラビリティのために役に立ちます。

ヒント:

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

関連項目:

3.2.1.2 PDBの有効化について

CREATE DATABASEコマンドを指定してCDBを作成するには、ENABLE_PLUGGABLE_DATABASE初期化パラメータがtrueに設定されている必要があります。

CREATE DATABASEコマンドでは、CDBルートとPDB$SEEDを持つCDBが作成されます。他のすべてのコンテナは手動で作成する必要があります。

3.2.1.3 CDBルートおよびPDB$SEEDのファイルの名前と場所について

CDBを作成するには、Oracle Databaseで、CDBルートおよびPDB$SEEDのファイルの名前と場所が認識されている必要があります。

CREATE DATABASE文が正常に完了した後は、PDB$SEEDとそのファイルを使用して新しいPDBを作成できます。作成後のPDBシードを変更することはできません。

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

  1. CREATE DATABASEENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT

  2. Oracle Managed Files

  3. PDB_FILE_NAME_CONVERT初期化パラメータ

複数の手法を使用する場合、CREATE DATABASE文では、リストの優先順位に従っていずれかの手法が使用されます。たとえば、すべての手法を使用する場合、CREATE DATABASE文では、ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT句での指定のみが使用されます。これは、この句がリストの最初にあるためです。

3.2.1.3.1 ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT句

CREATE DATABASE文のENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT句は、CDBルートのファイル名を使用してPDB$SEEDのファイル名の生成方法を指定します。

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

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

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

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

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

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

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

例3-1 SEED FILE_NAME_CONVERT句

このENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT句では、/oracle/dbs/ディレクトリ内のファイル名を使用して、/oracle/pdbseed/ディレクトリ内のPDB$SEEDのファイルに対するファイル名を生成します。

ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT = ('/oracle/dbs/', '/oracle/pdbseed/')

関連項目:

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

3.2.1.3.2 Oracle Managed Files

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

3.2.1.3.3 PDB_FILE_NAME_CONVERT初期化パラメータ

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

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

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

3.2.1.4 PDB$SEEDのデータファイル属性について

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

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

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

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

例3-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

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

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

  • AUTOEXTENDは、PDBシードのSYSTEMデータファイルに対して有効で、ルートのSYSTEMデータファイルに対してデフォルトで無効です。

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

関連項目:

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

3.2.1.5 CDBのUNDOモードについて

共有UNDOがデフォルトです。undo_mode_clauseENABLE PLUGGABLE DATABASE句に使用して、CDBのUNDOモードを指定できます。

undo_mode_clauseでは、CDBのUNDOモードがローカルと共有のどちらであるかを指定します。ローカルUNDOモードは、CDB内のすべてのコンテナがローカルUNDOを使用することを意味します。CDBにローカルUNDOモードを構成するには、LOCAL UNDO ONを指定します。

共有UNDOモードは、単一インスタンスCDBに1つのアクティブなUNDO表領域があるか、Oracle RAC CDBの場合はインスタンスごとに1つのアクティブなUNDO表領域があることを意味します。CDBの共有UNDOモードを構成するには、undo_mode_clauseを指定しないか、LOCAL UNDO OFFを指定します。

3.2.2 ステップ1: インスタンス識別子(SID)の指定

ORACLE_SID環境変数は、後で作成して同じホスト・コンピュータで同時に実行する他のOracle Databaseインスタンスと区別するために使用されます。

  1. インスタンスの一意のOracleシステム識別子(SID)を決定します。

  2. コマンド・ウィンドウを開きます。

    注意:

    後続のステップでは、このコマンド・ウィンドウを使用します。
  3. ORACLE_SID環境変数を設定します。

ORACLE_SIDでの有効な文字に関する制約はプラットフォーム固有です。一部のプラットフォームでは、SIDの大/小文字が区別されます。

注意:

一般的には、SIDはデータベース名と等しくなるように設定します。データベース名に指定できるのは最大8文字までです。

次のUNIXおよびLinuxオペレーティング・システムの例では、「ステップ6: インスタンスへの接続」で接続するインスタンスのSIDを設定しています。

  • Bourne、BashまたはKornシェル:

    ORACLE_SID=mynewdb
    export ORACLE_SID
    
  • Cシェル:

    setenv ORACLE_SID mynewdb

次の例では、Windowsオペレーティング・システム用のSIDを設定しています。

set ORACLE_SID=mynewdb

関連項目:

3.2.3 ステップ2: 必要な環境変数が設定されていることの確認

プラットフォームによっては、環境変数を設定するか少なくとも正しく設定されていることを確認するまで、(後のステップで必要な)SQL*Plusを起動できない場合があります。

  • 必要な環境変数を設定します。

たとえば、ほとんどのプラットフォームでは、ORACLE_SIDORACLE_HOMEを設定する必要があります。さらに、PATH変数にORACLE_HOME/binディレクトリを含めるように設定することもお薦めします。UNIXおよびLinuxプラットフォームでは、これらの環境変数を手動で設定する必要があります。Windowsプラットフォームでは、Windowsレジストリ内のORACLE_HOMEORACLE_SIDにOUIが値を自動的に割り当てます。インストール時にデータベースを作成しなかった場合は、レジストリ内のORACLE_SIDをOUIが設定しないため、後でデータベースを作成するときにORACLE_SID環境変数を設定する必要があります。

3.2.4 ステップ3: データベース管理者の認証方式の選択

CDBを作成するには、作成するユーザーが認証を受け、適切なシステム権限が付与されている必要があります。

  • 認証方式を決定します。

必要な権限を付与された管理者として認証されるには、次の方法があります。

  • パスワード・ファイルによる方法

  • オペレーティング・システム認証による方法

パスワード・ファイルを使用して認証を行うには、パスワード・ファイルを作成します。オペレーティング・システム認証による方法を使用するには、必ずオペレーティング・システムの適切なユーザー・グループのメンバーになっているユーザー・アカウントでホスト・コンピュータにログインします。たとえば、UNIXおよびLinuxプラットフォームでは、通常dbaユーザー・グループを使用します。Windowsプラットフォームでは、Oracleソフトウェアをインストールするユーザーが、必要なユーザー・グループに自動的に配置されます。

関連項目:

パスワード・ファイルおよびオペレーティング・システム認証の詳細は、Oracle Database管理者ガイドを参照してください

3.2.5 ステップ4: 初期化パラメータ・ファイルの作成

Oracleインスタンスの起動時に、初期化パラメータ・ファイルが読み込まれます。

パラメータ・ファイルには、テキスト・エディタで作成して変更できるテキスト・ファイルか、データベースにより作成されて動的に変更されるバイナリ・ファイルを使用できます。バイナリ・ファイル(こちらの使用を推奨)は、サーバー・パラメータ・ファイルと呼ばれます。ここで示すステップでは、テキスト形式の初期化パラメータ・ファイルを作成します。後述のステップで、テキスト・ファイルからサーバー・パラメータ・ファイルを作成します。

  • 初期化パラメータ・ファイルを作成します。

テキスト形式の初期化パラメータ・ファイルを作成する方法の1つは、「初期化パラメータ・ファイルのサンプル」に記載されているサンプルを編集する方法です。

初期化パラメータのファイルを手動で作成する場合は、少なくとも次の表に記載されているパラメータが含まれているようにしてください。記載されていない他のすべてのパラメータにはデフォルトの値があります。

表3-1 推奨される最低限の初期化パラメータ

パラメータ名 必須 注意

DB_NAME

はい

CDBルートの名前のデータベース識別子。CREATE DATABASE文で使用される値に対応している必要があります。最大で8文字です。

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

DB_DOMAIN

はい

データベースが作成されるネットワーク・ドメインを指定します。

CDBルートのグローバル・データベース名を作成するには、DB_NAMEDB_DOMAINの両方の初期化パラメータを設定します。CDBルートのグローバル・データベース名は、CDBのグローバル・データベース名です。PDBのグローバル・データベース名は、PDB名およびDB_DOMAIN初期化パラメータによって定義されます。

ENABLE_PLUGGABLE_DATABASE

はい

データベースがCDBであることを示します。TRUEに設定する必要があります。

CONTROL_FILES

いいえ

推奨されています。提供されていない場合は、データベース・インスタンスにより初期化パラメータ・ファイルと同じ場所に制御ファイルが作成されます。このパラメータを提供することで制御ファイルを多重化できます。

MEMORY_TARGET

いいえ

インスタンスにより使用されるメモリーの合計容量を設定し、自動メモリー管理を有効にします。このパラメータのかわりに他の初期化パラメータを選択して、メモリーの使用をより詳細に手動で制御することもできます。

DB_CREATE_FILE_DEST

いいえ

CDBが作成し、自動的に名前を付ける、Oracle Managed Filesのベース・ディレクトリを定義します。Oracle Managed Filesを使用するには、初期化パラメータDB_CREATE_FILE_DESTを設定する必要があります。

操作を容易にするために、デフォルトのファイル名を使用して、Oracle Databaseのデフォルトの場所に初期化パラメータ・ファイルを配置します。このようにすることにより、Oracle Databaseが初期化パラメータ・ファイルのデフォルトの場所を自動的に参照するため、データベースの起動時にSTARTUPコマンドのPFILE句を指定する必要がなくなります。

使用しているプラットフォームの初期化パラメータ・ファイルのデフォルトのファイル名や場所など、初期化パラメータおよび初期化パラメータ・ファイルの詳細は、「初期化パラメータと初期化パラメータ・ファイルの概要」を参照してください。

関連項目:

3.2.6 ステップ5: (Windowsの場合のみ)インスタンスの作成

Windowsプラットフォームでは、データベース・インスタンスが存在しない場合には、データベース・インスタンスに接続する前に手動で作成する必要があります。ORADIMコマンドを実行すると、新しいWindowsサービスが作成されて、インスタンスが作成されます。

データベース・インスタンスを作成する手順は、次のとおりです。

  • Windowsのコマンド・プロンプトで、次のコマンドを入力します。

    oradim -NEW -SID sid -STARTMODE MANUAL -PFILE file

    次のプレースホルダを適切な値に置き換えます。

    • sid - 目的のSID (mynewdbなど)

    • file - テキスト形式の初期化パラメータ・ファイルへのフルパス

注意:

この時点では、-STARTMODE引数をAUTOに設定しないでください。設定すると新しいインスタンスが起動され、まだ存在しないデータベースをマウントしようとします。必要に応じて、「ステップ13: (オプション)インスタンスの自動起動の有効化」で、このパラメータをAUTOに変更できます。

ほとんどのOracle Databaseサービスは、Oracleホーム・ユーザーの権限を使用してシステムにログオンします。サービスは、このユーザーの権限を使用して実行されます。ORADIMコマンドは、このユーザー・アカウントのパスワードを要求します。ORADIMを使用して、他のオプションを指定できます。

関連項目:

ORADIMコマンドおよびOracleホーム・ユーザーの詳細は、『Oracle Databaseプラットフォーム・ガイドfor Microsoft Windows』を参照してください。

3.2.7 ステップ6: インスタンスへの接続

SQL*Plusを起動して、SYSDBA管理権限でOracle Databaseインスタンスに接続します。

  • パスワード・ファイルによる認証を使用するには、次のコマンドを入力してプロンプトが表示された後、SYSパスワードを入力します。

    $ sqlplus /nolog
    SQL> CONNECT SYS AS SYSDBA
    
  • オペレーティング・システム認証を使用するには、次のコマンドを入力します。

    $ sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    

SQL*Plusが次のメッセージを表示します。

Connected to an idle instance.

注意:

SQL*Plusが次のようなメッセージを表示する場合があります。

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.1.0.0.0

その場合には、インスタンスがすでに起動されています。間違ったインスタンスに接続している可能性があります。EXITコマンドを使用してSQL*Plusを終了し、ORACLE_SIDが正しく設定されていることを確認して、このステップを繰り返してください。

3.2.8 ステップ7: サーバー・パラメータ・ファイルの作成

サーバー・パラメータ・ファイルを使用すると、ALTER SYSTEMコマンドを使用して初期化パラメータを変更でき、変更内容はデータベースを停止して起動した後も持続します。サーバー・パラメータ・ファイルは、編集済のテキスト形式の初期化ファイルから作成します。

  • 次のSQL*Plusコマンドを実行します。
    CREATE SPFILE FROM PFILE;

このSQL*Plusコマンドでは、テキスト形式の初期化パラメータ・ファイル(PFILE)がデフォルトの場所のデフォルトのファイル名で読み込まれ、テキスト形式の初期化パラメータ・ファイルからサーバー・パラメータ・ファイル(SPFILE)が作成されて、SPFILEがデフォルトのSPFILE名でデフォルトの場所に書き込まれます。

デフォルトのファイル名と場所を使用していない場合は、PFILEとSPFILEの両方のファイル名とパスワードを指定することもできます。

ヒント:

サーバー・パラメータ・ファイルを有効にするには、CDBを再起動する必要があります。

注意:

この時点でのサーバー・パラメータ・ファイルの作成はオプションですが、作成することをお薦めします。サーバー・パラメータ・ファイルを作成しないと、インスタンスが起動されるたびにテキスト形式の初期化パラメータ・ファイルが引き続き読み込まれます。

重要: Oracle Managed Filesを使用しており、初期化パラメータ・ファイルにCONTROL_FILESパラメータが指定されていない場合には、CREATE DATABASE文でデータベースの制御ファイルが作成されるときに制御ファイルの名前と場所を保存できるように、この時点でサーバー・パラメータ・ファイルを作成しておく必要があります。詳細は、「データベース作成時のOracle Managed Filesの作成」を参照してください。

3.2.9 ステップ8: データベース・インスタンスの起動

CDBをマウントせずにインスタンスを起動します。

  • NOMOUNT句を指定してSTARTUPコマンドを実行します。

通常、この方法で起動するのはCDBの作成時またはメンテナンス時のみです。この例では、初期化パラメータ・ファイルまたはサーバー・パラメータ・ファイルがデフォルトの場所に配置されているため、PFILE句の指定は不要です。

STARTUP NOMOUNT

この時点で、インスタンス・メモリーが割り当てられて、インスタンスのプロセスが起動されます。CDB自体はまだ存在しません。

関連項目:

3.2.10 ステップ9: CREATE DATABASE文の発行

新しいデータベースを作成するには、CREATE DATABASE文を使用します。

  • ENABLE PLUGGABLE DATABASE句を指定してCREATE DATABASE文を実行します。

次の各トピックでは、Oracle Managed Filesおよびユーザー指定ファイルを使用する文の例を示します。

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

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

想定

この例では、次のことを想定しています。

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

  • ENABLE_PLUGGABLE_DATABASE初期化パラメータにtrueが設定されています。

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

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

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

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

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
  LOCAL UNDO ON;

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

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

  • CONTROL_FILES初期化パラメータ(CDB作成前に初期化パラメータ・ファイルに設定)で指定された3つの制御ファイルが作成されます。初期化パラメータ・ファイルのサンプルについては『Oracle Database管理者ガイド』を参照し、制御ファイル指定の詳細は『Oracle Database管理者ガイド』を参照してください。

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

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

  • 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表領域の作成の詳細は、『Oracle Database管理者ガイド』を参照してください。

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

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

  • DEFAULT TEMPORARY TABLESPACE句は、このCDBのルートのデフォルト一時表領域を作成し、名前を付けます。デフォルトの一時表領域の作成の詳細は、『Oracle Database管理者ガイド』を参照してください。

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

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

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

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

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

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

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

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

  • LOCAL UNDO ON句はCDBのUNDOモードをローカルに設定します。これは、CDB内の各コンテナがローカルUNDOを使用することを意味します。

    CDBがローカルUNDOモードで作成された場合、PDBシードにはUNDO表領域が含まれるため、そのPDBシードから作成された新しいPDBにはUNDO表領域が設定されます。PDBが接続またはリモートPDBのクローニングによって作成され、ソースPDBが共通UNDOモードであった場合、PDBが最初にオープンされるときに、PDBにUNDO表領域が自動的に作成されます。

注意:

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

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

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

    ヒント:

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

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

3.2.10.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

この例では、Oracle Managed FilesによってPDBシードのファイルの名前と場所が指定されるため、SEED FILE_NAME_CONVERT句は含まれていません。ただし、この例には、SYSTEM表領域およびSYSAUX表領域に対して、CDBルートのデータ・ファイルとは異なるPDBシードのデータ・ファイル属性を指定する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)は、初期化パラメータ・ファイルから取得されます。グローバル・データベース名の決定の詳細は、『Oracle Database管理者ガイド』を参照してください。

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

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

  • DEFAULT TEMPORARY TABLESPACE句は、このCDBのルートのデフォルト一時表領域を作成し、名前を付けます。デフォルトの一時表領域の作成の詳細は、『Oracle Database管理者ガイド』を参照してください。

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

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

  • tablespace_datafile句には、ENABLE PLUGGABLE DATABASE SEED句が必要となります。

    注意:

    SYSTEM句およびSYSAUX句を指定しない場合(オプション)、ENABLE PLUGGABLE DATABASE SEED句は必要ありません。

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

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

3.2.11 ステップ10: スクリプトの実行によるデータ・ディクショナリ・ビューの作成

CDBルートで、データ・ディクショナリ・ビュー、シノニムおよびPL/SQLパッケージの作成に必要なスクリプトを実行します。

これらの処理は、提供されたcatcdb.sqlスクリプトを実行することで実行され、これによって、CDBに必要なすべてのコンポーネントがインストールされます。アットマーク(@)はSQL*Plusスクリプトを実行するコマンドの省略記述です。疑問符(?)はOracleホーム・ディレクトリを表すSQL*Plusの変数です。

  1. catcdb.sql SQLスクリプトを実行します。

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

    @?/rdbms/admin/catcdb.sql
  2. スクリプトによりプロンプトが表示されたら、パラメータ1のログ・ファイル・ディレクトリおよびパラメータ2のログ・ファイル名を入力します。

    次の例の場合は、最初のプロンプトに対して/tmpを、2番目のプロンプトに対してcreate_cdb.logを入力します。

    SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2
    Enter value for 1: /tmp
    Enter value for 2: create_cdb.log
  3. スクリプトによりプロンプトが表示されたら、必要な他の情報を入力します。

    たとえば、スクリプトによって、管理者パスワードや一時表領域名の入力を求めるプロンプトが表示されます。

    Enter new password for SYS: ********
    Enter new password for SYSTEM: ********
    Enter temporary tablespace name: TEMP

3.2.12 ステップ11: (オプション)スクリプトの実行による追加オプションのインストール

必要に応じて、他のスクリプトも実行できます。実行するスクリプトは、使用またはインストール対象として選択する機能とオプションによって異なります。

  • スクリプトを実行して追加オプションをインストールします。

使用可能なスクリプトは、『Oracle Databaseリファレンス』を参照してください。

このデータベースとともに稼働する他のOracle製品をインストールする場合は、それらの製品のインストール方法を参照してください。製品によっては、追加のデータ・ディクショナリ表を作成する必要があります。通常は、これらの表を作成して、データベースのデータ・ディクショナリにロードするためのコマンド・ファイルが提供されます。

インストールを計画している製品のインストールと管理の方法は、製品固有のOracleマニュアルを参照してください。

3.2.13 ステップ12: データベースのバックアップ

メディア障害が発生した場合にリカバリするための完全なファイル・セットが確実に存在するように、データベースの全体バックアップを作成してください。

  • CDBをバックアップします。

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

3.2.14 ステップ13: (オプション)インスタンスの自動起動の有効化

ホスト・コンピュータの再起動時に、Oracleデータベース・インスタンスが自動的に起動されるように構成する必要がある場合があります。

  • ホスト・コンピュータの再起動時に、Oracleインスタンスが自動的に起動されるように構成します。

詳細は、オペレーティング・システムのドキュメントを参照してください。たとえばWindowsでは、次のコマンドを使用して、コンピュータの再起動時にデータベース・サービスがインスタンスを起動するように構成します。

ORADIM -EDIT -SID sid -STARTMODE AUTO -SRVCSTART SYSTEM [-SPFILE]

自動再起動時にインスタンスがSPFILEを読み込むようにする場合は、-SPFILE引数を使用する必要があります。

関連項目:

3.3 CDBを作成した後の考慮事項

CDBの作成後、インスタンスは実行されたままになり、データベースはオープンされて通常のデータベースの用途に使用できます。データベースの作成後に特定のアクションを実行することが必要な場合があります。

3.3.1 データベース・セキュリティ

デフォルトのOracle Database機能を使用すると、Oracleデータベースのいくつかの領域でセキュリティを構成できます。

データベースのセキュリティを構成できる領域をいくつか次に示します。

  • ユーザー・アカウント: 作成したユーザー・アカウントは様々な方法で保護できます。サイトのパスワード・ポリシーを強化するために、パスワード・プロファイルを作成することもできます。

  • 認証方式: Oracle Databaseには、ユーザーおよびデータベース管理者用の認証を構成する方法がいくつかあります。たとえば、ユーザーは、データベース・レベル、オペレーティング・システムおよびネットワークで認証できます。

  • 権限とロール: 権限とロールを使用すると、データに対するユーザー・アクセスを制限できます。

注意:

  • 新しく作成したデータベースには、データベースの管理にとって重要なユーザー・アカウントが少なくとも3つ(SYSSYSTEMおよびSYSMAN)あります。認可されたユーザーのみが使用する追加の管理アカウントが提供されています。

  • データベースへの不当なアクセスを防ぎ、データベースの整合性を保護するには、データベースの作成時に、ユーザーSYSに対して新しいパスワードを指定することが重要です。

  • Oracle Databaseで提供されるユーザー・アカウントのほとんどは、SYSおよびサンプル・スキーマを除き、スキーマ専用アカウント(つまり、これらのアカウントはパスワードなしで作成される)です。これらのアカウントには、認証する必要が生じたときにいつでもパスワードを割り当てることができますが、セキュリティを強化するために、認証が必要なくなった場合にはこれらのアカウントをスキーマ専用アカウントに戻すことをお薦めします。

    アカウントのステータスを確認するには、DBA_USERSデータ・ディクショナリ・ビューのACCOUNT_STATUS列を問い合せます。アカウントがスキーマ限定の場合、ステータスはNONEです。

関連項目:

3.3.2 透過的データ暗号化

透過的データ暗号化では、データベース列をデータ・ファイルに格納する前に暗号化するか、表領域全体を暗号化できます。

ユーザーが、オペレーティング・システムのツールを使用してデータファイルの内容を直接参照することによって、データベース・アクセス制御メカニズムを迂回しようとした場合でも、透過的データ暗号化によって、このようなユーザーが機密情報を参照できないようにします。

CREATE TABLE権限のあるユーザーは、暗号化対象の表の列を1つ以上選択できます。データはデータファイルで暗号化されます。適切な権限のあるデータベース・ユーザーは、データを暗号化されていない形式で表示できます。

関連項目:

3.3.3 安全性の高い外部パスワード・ストア

認証および資格証明の署名をネットワークに公開しないように、クライアント側のOracleウォレットの使用を検討してください。

データベースへの接続にアプリケーションでパスワード資格証明を使用するような大規模なデプロイメントの場合、このような資格証明をクライアント側のOracleウォレットに格納できます。Oracleウォレットは、認証や署名の資格証明を格納するために使用する、セキュアなソフトウェア・コンテナです。

クライアント側のOracleウォレットにデータベース・パスワード資格証明を格納することで、ユーザー名とパスワードをアプリケーション・コード、バッチ・ジョブまたはスクリプトに埋め込む必要がなくなります。クライアント側の記憶域により、スクリプトやアプリケーション・コードでパスワードをさらすリスクが軽減されます。また、ユーザー名とパスワードが変更されるたびにコードを変更する必要がないため、メンテナンスも簡素化されます。また、アプリケーション・コードを変更する必要がないため、これらのユーザー・アカウントのパスワード管理ポリシーをさらに簡単に規定できるようになります。

外部パスワード・ストアを使用するようにクライアントを構成すると、アプリケーションでは、次の構文を使用してパスワード認証を使用しているデータベースに接続できます。

CONNECT /@database_alias

このCONNECTコマンドでは、データベース・ログイン資格証明を指定する必要はありません。かわりに、データベース・ログイン資格証明はクライアントのウォレットで検索されます。

3.3.4 トランザクション・ガードおよびアプリケーション・コンティニュイティ

トランザクション・ガードは、リカバリ可能なエラーの後、クライアント・アプリケーションが重複トランザクションを送信する可能性を防止するために論理トランザクションIDを使用します。アプリケーション・コンティニュイティは、データベース・セッションを使用不可にするリカバリ可能なエラーの後、中断せずに迅速な方法でデータベースに対するリクエストの再実行を可能にします。

トランザクション・ガードは、使用できなくなるデータベース・セッションで最後にオープンされたトランザクションについて既知の結果を提供するために、アプリケーション開発者が使用できる信頼性の高いプロトコルおよびAPIです。停止後、データベースからクライアントに送信されたコミット・メッセージは非永続です。アプリケーション(クライアント)とOracle Database (サーバー)の間の接続が切断されると、クライアントは通信が失敗したことを示すエラー・メッセージを受信します。このエラー・メッセージでは、コミット操作またはプロシージャ・コールの成功または失敗に関してはクライアントに通知しません。

トランザクション・ガードでは、アプリケーションの観点からトランザクションを識別するグローバル一意識別子である、論理トランザクション識別子(LTXID)と呼ばれる概念を使用します。リカバリ可能な停止が発生すると、アプリケーションではLTXIDを使用してトランザクションの結果を判別します。あいまいな通信エラーのかわりに、この結果をクライアントに返すことができます。ユーザーはトランザクションを再実行するかどうかを決定できます。また、状態が適切な場合にトランザクションが再実行されるように、アプリケーションをコーディングすることもできます。

アプリケーション・コンティニュイティは、リカバリ可能な停止(計画外停止と計画停止の両方)に続いて処理中のデータベース・セッションをリカバリすることで、エンド・ユーザーおよびアプリケーションから停止をマスキングします。リプレイが成功した後、アプリケーションは元のデータベース・セッションが停止した位置から新しいセッションを使用して続行できます。アプリケーション・コンティニュイティはこのリカバリを実行するため、アプリケーションにとっては、その停止が遅延された実行のように見えます。

アプリケーション・コンティニュイティはサービス・レベルで有効化され、リカバリ可能な停止に対して起動されます。通常、これらの停止は基礎になるソフトウェア、フォアグラウンド、ハードウェア、通信、ネットワークまたは記憶域レイヤーに関連します。アプリケーション・コンティニュイティは、問合せ、ALTER SESSION文、JavaとOCIのAPI、PL/SQL、DDLおよび障害の前にコミットされなかった最後のトランザクションをサポートします。アプリケーション・コンティニュイティは、トランザクション・ガードを使用して、最後の処理中のトランザクションがコミットされたかどうか、および最後のユーザー・コールが完了したかどうかを判別します。

関連項目:

  • トランザクション・ガードおよびアプリケーション・コンティニュイティの概念の詳細は、『Oracle Database概要』を参照してください。

  • トランザクション・ガードおよびアプリケーション・コンティニュイティの詳細は、『Oracle Database開発ガイド』を参照してください。

3.3.5 データベースでのファイル・システム・サーバーのサポート

Oracleデータベースは、ファイル・システム・オブジェクトを格納し、任意のNFSクライアントからそれらにアクセスするように構成できます。データベースは、ファイルとそのメタデータの両方を格納します。データベースは、オペレーティング・システム(OS)カーネルのNFSデーモン・プロセスからファイル・システム・リクエストに応答します。

Oracle File System (OFS)サーバーをデータベースに構成し、ファイル・システムを作成する場合は、電子メール、ビデオ、オーディオ・ファイル、クレジット・カード請求書、ドキュメント、写真イメージなどの非構造化データをデータベース内に格納できます。SQLを使用せずに、これらの非構造化オブジェクトを操作および管理できます。かわりに、NFSサポートのためのオペレーティング・システムのユーティリティを使用できます。

データベースでNFSアクセスを有効にするには、OFS_THREADS初期化パラメータを設定して、NFSリクエストを処理するための十分な数のOFSスレッドを構成します。最初のファイル・システムがデータベースでマウントされている場合、OFS_THREADS初期化パラメータは、作成するOFSスレッド数を制御します。OFS_THREADSパラメータで指定された数のスレッドが、データベース・インスタンスに対して1回のみ作成され、後続のファイル・システムではスレッドが追加作成されません。OFS_THREADS初期化パラメータのデフォルト値は4です。データベースの起動時に、OFSDバックグラウンド・プロセスは、データベース・サーバーによって起動される唯一のOFSプロセスです。

DBMS_FSパッケージを使用し、指定したデータベース・オブジェクトを使用してデータベースにファイル・システムを作成できます。このパッケージを使用して、指定したファイル・システムをマウントおよびアンマウントすることもできます。

関連項目:

3.3.6 Oracle Databaseサンプル・スキーマ

Oracle Databaseには、Oracle Database機能の理解に役立つサンプル・スキーマが含まれています。一部のOracle Databaseのドキュメントおよびトレーニング・マテリアルでは、サンプル・スキーマが例で使用されます。

スキーマとインストール手順の詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。

注意:

本番データベースにはサンプル・スキーマをインストールしないことをお薦めします。

3.4 データベースのデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビューに対してデータベースのコンテンツと構造に関する情報を問い合せることができます。

次のビューを使用して、データベース・コンテンツと構造に関する情報を表示できます。

ビュー 説明

DATABASE_PROPERTIES

永続的なデータベース・プロパティが表示されます。

GLOBAL_NAME

グローバル・データベース名が表示されます。

V$DATABASE

制御ファイル内のデータベース情報が表示されます。