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によるデータベース作成とテンプレート管理