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をサイレント・モードで実行するには、コマンドライン引数またはレスポンス・ファイル、あるいはその両方を指定します。
関連項目:
-
DBCAを使用したデータベースの作成方法の詳細は、『Oracle Database管理者ガイド』を参照
-
DBCAオンライン・ヘルプ
3.1.2 CDBの作成後
作成後のCDBは、ルートとPDBシードで構成されます。
ルートには、システムにより指定されたメタデータおよびPDBを管理できる共通ユーザーが含まれています。PDBシードは、新しいPDBの作成に使用できるテンプレートです。次の図に、新規に作成されたCDBを示します。
CDBにおいて、ルートには最小限のユーザー・データが含まれるか、またはユーザー・データは含まれていません。ユーザー・データはPDBに存在します。したがって、CDBの作成後、最初に行うタスクの1つは、ユーザー・データを含むPDBを追加することです。
次の図は、PDBが含まれるCDBを示しています。
1つ以上のアプリケーション・コンテナを作成するオプションがあります。アプリケーション・コンテナは、アプリケーション・ルートおよびアプリケーションPDBから構成され、1つ以上のアプリケーションのデータを格納します。アプリケーション・コンテナはアプリケーション共通オブジェクトを格納でき、アプリケーション・コンテナ内のアプリケーションPDBで共有できるユーザー・データを含みます。アプリケーション・コンテナ内のアプリケーションPDBを迅速に作成するためのアプリケーション・シードを含むこともできます。
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でデータファイルの追加や削除を取り消すことができるようにすることをお薦めします。
関連項目:
-
マルチテナント・アーキテクチャ・ドキュメント・ロードマップについては、『Oracle Database概要』を参照してください
-
RMANの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
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自動ストレージ管理管理者ガイドを参照してください。
関連項目:
-
Oracle RACの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください
-
単一のOracle RACデータベース内に共存する読取り専用インスタンスと読取り/書込みインスタンスの構成の詳細は、Oracle Clusterware管理およびデプロイメント・ガイドを参照してください
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
のファイルの名前と場所は、次のいずれかの方法で指定する必要があります。
-
CREATE DATABASE
のENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT
句 -
Oracle Managed Files
-
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.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_clauseをENABLE 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インスタンスと区別するために使用されます。
-
インスタンスの一意のOracleシステム識別子(SID)を決定します。
-
コマンド・ウィンドウを開きます。
注意:
後続のステップでは、このコマンド・ウィンドウを使用します。 -
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
関連項目:
-
Oracleインスタンスに関するバックグラウンド情報は、『Oracle Database概要』を参照してください
-
DB_NAME
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください
3.2.3 ステップ2: 必要な環境変数が設定されていることの確認
プラットフォームによっては、環境変数を設定するか少なくとも正しく設定されていることを確認するまで、(後のステップで必要な)SQL*Plusを起動できない場合があります。
-
必要な環境変数を設定します。
たとえば、ほとんどのプラットフォームでは、ORACLE_SID
とORACLE_HOME
を設定する必要があります。さらに、PATH
変数にORACLE_HOME/binディレクトリを含めるように設定することもお薦めします。UNIXおよびLinuxプラットフォームでは、これらの環境変数を手動で設定する必要があります。Windowsプラットフォームでは、Windowsレジストリ内のORACLE_HOME
とORACLE_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 推奨される最低限の初期化パラメータ
パラメータ名 | 必須 | 注意 |
---|---|---|
|
はい |
CDBルートの名前のデータベース識別子。 SIDはCDBルートの名前に設定するのが一般的です。この名前の最大文字数は30文字です。詳細は、『Oracle Databaseリファレンス』の |
|
はい |
データベースが作成されるネットワーク・ドメインを指定します。 CDBルートのグローバル・データベース名を作成するには、 |
|
はい |
データベースがCDBであることを示します。 |
|
いいえ |
推奨されています。提供されていない場合は、データベース・インスタンスにより初期化パラメータ・ファイルと同じ場所に制御ファイルが作成されます。このパラメータを提供することで制御ファイルを多重化できます。 |
|
いいえ |
インスタンスにより使用されるメモリーの合計容量を設定し、自動メモリー管理を有効にします。このパラメータのかわりに他の初期化パラメータを選択して、メモリーの使用をより詳細に手動で制御することもできます。 |
|
いいえ |
CDBが作成し、自動的に名前を付ける、Oracle Managed Filesのベース・ディレクトリを定義します。Oracle Managed Filesを使用するには、初期化パラメータ |
操作を容易にするために、デフォルトのファイル名を使用して、Oracle Databaseのデフォルトの場所に初期化パラメータ・ファイルを配置します。このようにすることにより、Oracle Databaseが初期化パラメータ・ファイルのデフォルトの場所を自動的に参照するため、データベースの起動時にSTARTUP
コマンドのPFILE
句を指定する必要がなくなります。
使用しているプラットフォームの初期化パラメータ・ファイルのデフォルトのファイル名や場所など、初期化パラメータおよび初期化パラメータ・ファイルの詳細は、「初期化パラメータと初期化パラメータ・ファイルの概要」を参照してください。
関連項目:
-
すべての初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください
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の作成」を参照してください。
関連項目:
-
CREATE SPILE
コマンドの詳細は、『Oracle Database SQL言語リファレンス』を参照してください
3.2.9 ステップ8: データベース・インスタンスの起動
CDBをマウントせずにインスタンスを起動します。
-
NOMOUNT
句を指定してSTARTUP
コマンドを実行します。
通常、この方法で起動するのはCDBの作成時またはメンテナンス時のみです。この例では、初期化パラメータ・ファイルまたはサーバー・パラメータ・ファイルがデフォルトの場所に配置されているため、PFILE
句の指定は不要です。
STARTUP NOMOUNT
この時点で、インスタンス・メモリーが割り当てられて、インスタンスのプロセスが起動されます。CDB自体はまだ存在しません。
関連項目:
-
STARTUP
コマンドの使用方法は、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管理者ガイド』を参照してください。 -
ユーザー・アカウント
SYS
とSYSTEM
のパスワードが指定した値に設定されます。パスワードでは、大/小文字が区別されます。SYS
およびSYSTEM
のパスワードを指定する2つの句は、このリリースのOracle Databaseではオプションです。ただし、いずれか一方の句を指定した場合は、もう一方の句も指定する必要があります。これらの句の使用方法の詳細、ユーザーSYS
およびSYSTEM
に対するパスワードの指定方法の詳細は、『Oracle Database管理者ガイド』を参照してください。 -
新しいCDBには、
LOGFILE
句で指定されているように、オンラインREDOログ・ファイルのグループが3つあり、各グループには2つのメンバーが含まれます。MAXLOGFILES
、MAXLOGMEMBERS
および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
キャラクタ・セットが指定され、特にNCHAR
、NCLOB
または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管理者ガイド』を参照してください。 -
ユーザー・アカウント
SYS
とSYSTEM
のパスワードが指定した値に設定されます。パスワードでは、大/小文字が区別されます。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の変数です。
-
catcdb.sql
SQLスクリプトを実行します。SQL*Plusに次を入力し、スクリプトを実行します。
@?/rdbms/admin/catcdb.sql
-
スクリプトによりプロンプトが表示されたら、パラメータ
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
-
スクリプトによりプロンプトが表示されたら、必要な他の情報を入力します。
たとえば、スクリプトによって、管理者パスワードや一時表領域名の入力を求めるプロンプトが表示されます。
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
引数を使用する必要があります。
関連項目:
-
Oracle Restartの詳細は、Oracle Database管理者ガイドを参照してください
-
ORADIM
コマンドの詳細は、『Oracle Databaseプラットフォーム・ガイドfor Microsoft Windows』を参照してください。
3.3 CDBを作成した後の考慮事項
CDBの作成後、インスタンスは実行されたままになり、データベースはオープンされて通常のデータベースの用途に使用できます。データベースの作成後に特定のアクションを実行することが必要な場合があります。
3.3.1 データベース・セキュリティ
デフォルトのOracle Database機能を使用すると、Oracleデータベースのいくつかの領域でセキュリティを構成できます。
データベースのセキュリティを構成できる領域をいくつか次に示します。
-
ユーザー・アカウント: 作成したユーザー・アカウントは様々な方法で保護できます。サイトのパスワード・ポリシーを強化するために、パスワード・プロファイルを作成することもできます。
-
認証方式: Oracle Databaseには、ユーザーおよびデータベース管理者用の認証を構成する方法がいくつかあります。たとえば、ユーザーは、データベース・レベル、オペレーティング・システムおよびネットワークで認証できます。
-
権限とロール: 権限とロールを使用すると、データに対するユーザー・アクセスを制限できます。
注意:
-
新しく作成したデータベースには、データベースの管理にとって重要なユーザー・アカウントが少なくとも3つ(
SYS
、SYSTEM
およびSYSMAN
)あります。認可されたユーザーのみが使用する追加の管理アカウントが提供されています。 -
データベースへの不当なアクセスを防ぎ、データベースの整合性を保護するには、データベースの作成時に、ユーザー
SYS
に対して新しいパスワードを指定することが重要です。 -
Oracle Databaseで提供されるユーザー・アカウントのほとんどは、
SYS
およびサンプル・スキーマを除き、スキーマ専用アカウント(つまり、これらのアカウントはパスワードなしで作成される)です。これらのアカウントには、認証する必要が生じたときにいつでもパスワードを割り当てることができますが、セキュリティを強化するために、認証が必要なくなった場合にはこれらのアカウントをスキーマ専用アカウントに戻すことをお薦めします。アカウントのステータスを確認するには、
DBA_USERS
データ・ディクショナリ・ビューのACCOUNT_STATUS
列を問い合せます。アカウントがスキーマ限定の場合、ステータスはNONE
です。
関連項目:
-
新規の各Oracle Databaseインストールで作成される事前定義済ユーザー・アカウントをすべて示すリストは、『Oracle Databaseセキュリティ・ガイド』を参照してください。
-
新しいユーザーの追加方法とパスワードの変更方法は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
-
データベース・ユーザー・アカウントのロック解除に使用する
ALTER USER
文の構文は、『Oracle Database SQL言語リファレンス』を参照してください。 -
Oracle Identity Managementの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください
-
データベースを構成するためのセキュリティ・ガイドラインについては、『Oracle Databaseセキュリティ・ガイド』を参照してください。
3.3.2 透過的データ暗号化
透過的データ暗号化では、データベース列をデータ・ファイルに格納する前に暗号化するか、表領域全体を暗号化できます。
ユーザーが、オペレーティング・システムのツールを使用してデータファイルの内容を直接参照することによって、データベース・アクセス制御メカニズムを迂回しようとした場合でも、透過的データ暗号化によって、このようなユーザーが機密情報を参照できないようにします。
CREATE TABLE
権限のあるユーザーは、暗号化対象の表の列を1つ以上選択できます。データはデータファイルで暗号化されます。適切な権限のあるデータベース・ユーザーは、データを暗号化されていない形式で表示できます。
関連項目:
-
列の暗号化の詳細は、『Oracle Database管理者ガイド』を参照してください
-
暗号化された表領域については、『Oracle Database管理者ガイド』を参照してください
-
透過的データ暗号化の詳細は、『Oracle Database Advanced Securityガイド』を参照してください
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
パッケージを使用し、指定したデータベース・オブジェクトを使用してデータベースにファイル・システムを作成できます。このパッケージを使用して、指定したファイル・システムをマウントおよびアンマウントすることもできます。
関連項目:
-
Oracle File System (OFS)の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください
-
DBMS_FS
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください
3.3.6 Oracle Databaseサンプル・スキーマ
Oracle Databaseには、Oracle Database機能の理解に役立つサンプル・スキーマが含まれています。一部のOracle Databaseのドキュメントおよびトレーニング・マテリアルでは、サンプル・スキーマが例で使用されます。
スキーマとインストール手順の詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。
注意:
本番データベースにはサンプル・スキーマをインストールしないことをお薦めします。