DBCAを使用したデータベースの作成について解説します。

 

DBCAでデータベースを作成する

DBCAはOracleソフトウェアに付属するデータベース作成・構成ツールです。Linux・UNIXのコマンドラインでは、使用するOracleホームの環境を設定してからdbcaを実行します。OUIですでにデータベースを作成している場合は、同じものをもう一度作る必要はありません。追加のデータベースが必要なときは、あらためてDBCAを使用できます。

DBCAでは「データベースの作成」を選び、標準構成または拡張構成を選択します。標準構成は入力項目を絞って一般的な構成で作成する方法、拡張構成はメモリー、記憶域、初期化パラメータ、管理オプションなどを細かく指定する方法です。

作成時に指定する主な項目

項目 決める内容 読み分けるポイント
グローバル・データベース名 データベース名と、必要に応じてドメイン名 例:studydb.example.com。SIDやホスト名とは役割が異なる
記憶域タイプ・ファイルの位置 ファイルシステム上の配置先、またはASMディスク・グループ ソフトウェアのインストール先を決める設定ではない
高速リカバリ領域 バックアップやアーカイブログなどの復旧関連ファイルを管理する領域 設定しただけでバックアップ方針がすべて完成するわけではない
データベース文字セット 文字データの格納に使用する文字の体系 例えばAL32UTF8はUnicode用の文字セット
管理者パスワード SYS・SYSTEMなどのデータベース管理用アカウントの認証情報 OSユーザーoracleのパスワードではない
コンテナ・データベースとして作成 CDBとして作成するかどうか 単一インスタンスかRACかという構成の選択とは別の軸

設定内容のサマリーから作成を実行すると、ファイルの作成・コピー、インスタンスの構成などが進みます。完了画面では、グローバル・データベース名、SID、サーバー・パラメータ・ファイルやログの場所などが示されます。EM Expressを構成した場合は、管理画面のURLも確認できます。

DBCAは作成だけでなく、データベースの削除や既存データベースの一部のオプション構成の変更にも使用します。ただし、既存データベースを別リリースへアップグレードするツールはDBUAです。

Oracleホームとデータベースの関係

1つのOracleホームには、1つのOracleソフトウェアのインストールを置きます。同じサーバーに複数のOracleホームを作ることは可能で、異なるリリースを別々のホームに置くことも、同じリリースを複数のホームに置くこともできます。

一方、データベースごとにOracleホームが必要とは限りません。同じリリースの複数のデータベースが、同じOracleホームのソフトウェアを利用できます。その場合も、各データベースのデータファイルとSIDは区別して管理します。「ソフトウェアのコピーの数」と「データベースの数」を混同しないことが大切です。

DBCAテンプレートを使い分ける

テンプレートは、データベースのオプション、初期化パラメータ、データファイルや表領域などの構成情報を記録したひな形です。XML形式で管理され、標準の格納場所はORACLE_HOME/assistants/dbca/templatesです。

種類 含むもの 作成方法と特徴
シード・テンプレート(.dbc) 構成情報と、複製元となるデータファイル 用意されたデータベースを複製するため、作成時間を短縮しやすい。作成時に変更できる項目には制約がある
非シード・テンプレート(.dbt) 構成情報。複製用のデータファイルは含まない 指定に従ってファイルを新規作成する。時間はかかるが、ファイルの名前やサイズなどを柔軟に指定できる

シード・テンプレートでも、データベース名、データファイルの配置先、制御ファイルの数、REDOログ・グループの数、初期化パラメータなどは変更できます。「シードは何も変更できない」という理解は適切ではありません。

既存のデータベースからテンプレートを作る場合

構造だけをテンプレートにする方法と、データファイルも含める方法があります。構造だけの場合はユーザー定義スキーマやそのデータを引き継がず、元のデータベースはローカルにもリモートにも置けます。データファイルを含める場合はユーザー定義スキーマとデータも複製でき、元のデータベースはローカルにある必要があります。既存のテンプレートを基に、設定を変更した新しいテンプレートを作ることもできます。また、テンプレートを別のサーバーへコピーして、同じ構成の作成に再利用できます。

問題では、「同じ構造を作りたい」のか「格納済みのデータまで含めて複製したい」のかを先に読み取ります。速さと設定の柔軟性、構造とデータの有無を組み合わせて判断しましょう。

Oracle公式資料:DBCAによるデータベース作成とテンプレート管理