Oracle データベースのテンプレートを作成する

February 17, 2022

テンプレートとは

テンプレートは、DBCA でデータベースを作成する際の雛形です。Oracle ソフトウェアには構成済みのテンプレートがあらかじめ用意あれています。テンプレートを使うと似た構成のデータベースを素早く作成することができ、テンプレートを他のデータベースサーバーにコピーし、共有することも可能です。テンプレートには、データベースオプション、初期化パラメータや記憶領域属性などの情報が含まれます。なお、テンプレートの実態はこれらの情報が含まれた XML ファイルであり、$ORACLE_HOME/assistants/dbca/templates に含まれます。

テンプレートの種類

テンプレートには以下の 2 種類が存在します。

種類 説明
シード テンプレートにデータファイルが含まれる。シードデータベースの複製としてデータベースを作成し、作成するデータベースの構成はシードデータベースに準ずるものになる
非シード テンプレートにデータファイルが含まれない。作成するデータベースは柔軟に構成できる

なお、シードテンプレートを元にしたデータベースの作成で、変更できる点は以下のとおりです。

  • データベースの名前
  • データファイルの格納先
  • 制御ファイルの数
  • REDO ロググループの数
  • 初期化パラメータ

テンプレートの作成

DBCA を利用して、最初の画面で Manage templates を選択することでテンプレートを作成することが可能です。

Select Database Operation

create database template 1

次の画面では Create a databaes template にチェックを入れ、テンプレートの名前と保存場所を入力します。

Template Management

create database template 2

次にどのようにテンプレートを作成するか聞かれますが、具体的には以下のようなオプションがあります。

オプション 説明
Create template from an exisiting template 事前構成済みのテンプレート設定に基づく新しいテンプレートの作成。初期化パラメータ、記憶領域パラメータ、カスタムスクリプトを使用するか等の設定を追加または変更可能
Create template from an existing database 既存データベースの構造情報 (データベースオプション、表領域、データファイル、初期化パラメータ 等) を持つ新しいテンプレートを作成できる。元のデータベースはローカルにあってもリモートにあっても良い
Create template from an existing database - Include datafile 既存データベースの構造情報と物理データファイルの両方を含む新しいテンプレートを作成できる。元のデータベースはローカルにある必要がある

ここでは既存のテンプレートから作成したいと思います。

Select Template Creation Option

create database template 3

Select Database Template

create database template 4

これ以降は基本的にデフォルトのまま進んでみます。最後にサマリーが見られるので [Finish] を押してテンプレートの作成を開始します。

Summary

create database template 5

完了すると以下のように dbcatemplate2022-02-17_08-34-20PM.dbt という新しいテンプレートが作成されていることが確認できます。

$ ls -l $ORACLE_HOME/assistants/dbca/templates/
total 370976
-rw-r----- 1 oracle oinstall      4888 Apr 17  2019 Data_Warehouse.dbc
-rw-r----- 1 oracle oinstall     11007 Feb 17 20:48 dbca_template_2022-02-17_08-34-20PM.dbt
-rw-r----- 1 oracle oinstall      4768 Apr 17  2019 General_Purpose.dbc
-rw-r----- 1 oracle oinstall     10772 Apr  5  2019 New_Database.dbt
-rw-r----- 1 oracle oinstall  86548480 Apr 17  2019 pdbseed.dfb
-rw-r----- 1 oracle oinstall      6611 Apr 17  2019 pdbseed.xml
-rw-r----- 1 oracle oinstall  18726912 Apr 17  2019 Seed_Database.ctl
-rw-r----- 1 oracle oinstall 274554880 Apr 17  2019 Seed_Database.dfb

 © 2023, Dealing with Ambiguity