TOP > データベースの作成

データベースの作成


データベースを作成する前の考慮点

データベース作成計画

作成の前提条件

Oracle データベースの作成方法の決定

データベースの作成方法

Oracleソフトウェア導入時に自動的に作成する方法

Create Database文を使用して手動で作成する方法

1.パラメータ・ファイルの作成/編集
2.環境変数の設定
3.インスタンスの起動
4.Create Database文の実行
5.データベース作成後のカスタマイズ作業

※サンプル・ファイルによる手動作成


データベースを作成する前の考慮点

データベース作成では、いくつかのオペレーティング・システム・ファイルを準備して、それらがOracle データベースとして作動するようにする。
データベースは、データ・ファイルの数やアクセスするインスタンスの数にかかわらず、1 度だけ作成する。
既存のデータベース内の情報を消去し、同じ名前と物理構造を持つ新規データベースも作成することが出来る。

データベースを作成する前の考慮点は以下の通り。


データベース作成計画

データベース作成計画を立てるときには、次の機能について検討する。


作成の前提条件

新しいデータベースを作成するには、以下の前提条件を満たす必要がある。


 Oracle データベースの作成方法の決定

データベース作成では、以下の操作を実行する。

新規Oracle データベースの作成には、次の方法がある。

 Oracle Database Configuration Assistant (DBCA )の使用

DBCA はOracle Universal Installer によって起動され、初期データベースを自動的に作成する。
DBCA を使用するかどうか、カスタム・データベースを作成するかどうかを選択できる。
また、新規データベースの作成が必要な場合は、いつでもDBCA をスタンドアロン・ツールとして起動できる。
データベースを作成するには、DBCA を使用するのが最も簡単な方法である。

メリット
・ Optimal Flexible Architecture (OFA)の採用により、初期化ファイルなど、データベース・ファイルと管理ファイルを標準的な方法でネーミングおよび格納できる。
・ 短時間で作成できる。既製のデータベースをコピーでき、長時間かかる作成プロセスをたどる必要がなく、必要に応じて、このコピーを後でカスタマイズできる。
・ 必要事項が事前に入力されており、パラメータの設定方法を決める時間が節約できる。
・ データベースをカスタマイズできる。初期データベースをコピーするように選択しなくても、データベースのOnline Transaction Processing (OLTP )、Warehousing またはMultipurpose 環境を作成するスクリプトを生成するようにDBCA で指定できる。表示される少数の質問に答えるのみで、指定したユーザー数を超える場合にはMTS が自動的に組み込まれる。

 スクリプトによるデータベースの手動作成

既存のデータベースを破棄して新しく作り直す場合や、要件が異なるためDBCA を使用できない場合は、データベースを手動作成する方法を選択する。
Create Database文を使用して、必要最小限のデータベースを作成する。
データベース・ソフトウェア・ファイルとともにサンプル・データベース作成スクリプトとサンプル初期化パラメータ・ファイルが配布され、どちらもニーズに合わせて編集できる。

メリット
・ 作成時に詳細なパラメータの値が設定でき、柔軟性がある。
・ 製品の導入作業と、データベース作成作業を切り離すことができる。

デメリット
・ 最小限のものだけが提供されるので、カスタマイズ作業は多くなる。

 既存データベースの移行またはアップグレード

旧リリースのOracle を使用している場合、データベースの作成が必要になるのは、まったく新しく作成するときのみ。
それ以外の場合は、旧バージョンのOracle が管理している既存のOracle データベースを移行ユーティリティによって移行し、新しいバージョンのOracle ソフトウェアで使用することが出来る。

Oracleソフトウェア導入時に自動的に初期データベースを作成

Oracle導入時のプロシージャの一部として、自動的に初期データベースを作成する。
必要最低限の構成ではなく、いくつかの表領域やユーザーがあらかじめ提供されている。

メリット
初期データベース作成後のカスタマイズ作業が最小限に抑えられる。

デメリット
サンプルとして提供されているだけなので、本格的なアプリケーション構築には容量が小さい。
最小限のものだけが提供されるので、カスタマイズ作業は多くなる。
変更できない項目、しづらい項目がある。

変更できない
 ・データベースのブロックサイズ
 ・データベースのキャラクタセット

変更しづらい
 ・SID
 ・データファイル数の最大値
 ・REDOログファイル数の最大値
 ・REDOログファイルのメンバー数


データベースの作成方法

Oracleソフトウェア導入時に自動的に作成する方法

Create Database文を使用して手動で作成する方法


Oracleインストーラによる自動作成

Oracleソフトウェアの導入時に作成される初期データベースは、用途に応じた表領域やユーザーがあらかじめ作成されている。
初期データベースの構成は、オペレーティング・システムやOracleのリリースにより異なる。

<Oracle8 Enterprise Edition 8.0.3 for Solaris2.5 の場合>

作成される表領域

表領域名 用途
SYSTEM システムを管理するために使用する表領域
 ・データ・ディクショナリ
 ・SYSTEMロールバック
 ・セグメント
RBS 修正される前のデータを格納する表領域
 ・ロールバック・セグメント( r01, r02, r03, r04 )
TEMP 一時表領域
データの並べ替え時に、一時的にデータを格納する表領域
TOOLS Oracle Tools製品で作成したオブジェクトを格納する表領域
SYSTEMユーザーのデフォルト表領域としても利用
USERS ユーザーが作成したオブジェクトを格納する表領域

ディレクトリ構造図

OFA標準に則って、ディレクトリ構造がインストールされる。
以下の例では、特徴として、データ・ファイルが、Oracleソフトウェア・ファイルや管理ファイルから分離していることがあげられる。

/u00ディレクトリ ソフトウェアと初期設定ファイル(管理ファイル)
/u01 〜 /u08ディレクトリ データベースを構成するファイル

 


Create Database文による手動作成

  1. パラメータ・ファイルの作成/編集
  2. 環境変数の設定
  3. インスタンスの起動
  4. Create Database文の実行
  5. データベース作成後のカスタマイズ作業

    ※サンプル・ファイルによる手動作成


1.パラメータ・ファイルの作成/編集

インスタンスを起動する時には、パラメータ・ファイルが読み込まれる。
そのため、データベース作成作業を始める前に、パラメータ・ファイルを作成しなければならない。
各データベースのみに対応するパラメータ・ファイルが、少なくとも一つは必要である。

Oracle Serverソフトウェアの配布メディアに、パラメータ・ファイルが提供されている。
このファイルをコピーし、作成するデータベース用に編集する。
また、パラメータ・ファイルの中には、新規データベースを作成する時に決定すべきパラメータがある。
次のパラメータを検査し、妥当性を検証する必要がある。

編集した方がよいパラメータ

パラメータ名 指定内容
DB_NAME データベースの名前
データベース作成後は簡単に変更できない。制御ファイルの再作成が必要。
DB_DOMAIN ネットワークの定義域
(DB_NAMEとDB_DOMAINの組み合わでグローバル・データベース名となる)
CONTROL_FILES 新しいデータベースで使用する制御ファイルの名前
DB_BLOCK_SIZE データベースのブロック・サイズ
(オペレーティング・システムのブロック・サイズと同じか、その倍数にする)
データベース作成後は変更できない。
DB_BLOCK_BUFFERS SGA内のデータベース・バッファ・キャッシュの大きさ
(単位はバッファ数、この大きさはパフォーマンスに影響を及ぼす)
PROCESSES Oracleに同時接続できるオペレーティング・システム・プロセスの最大数
(この数には、バックグラウンド・プロセス も含まれる)
ROLLBACK_SEGMENTS データベース起動時にオンラインにするロールバック・セグメントの名前

2.環境変数の設定

データベースを起動するためには、次のような環境変数の設定が必要となる。

環境変数 設定内容
ORACLE_SID Oracle Serverのインスタンス名
ORACLE_HOME Oracleをインストールするディレクトリの名前
PATH Oracle実行モジュールが格納されるディレクトリの名前
NLS_LANG クライアント側に表示するデータのキャラクタ・セット

NLS_LANGは、クライアント側に表示するデータのキャラクタ・セットを指定する。
サーバー側とクライアント側のキャラクタ・セットが異なる場合には、クライアント側で文字化けが起こる。NLS_LANGを設定することにより、サーバー側に格納されているデータの文字コードが異なる場合でも、クライアント側で自動的に変換が行われる。


3.インスタンスの起動

新しいデータベースで使用するインスタンスを起動する。
データベースの起動は、以下のいずれかの管理ツールを使用する。

Oracle Enterprise Manager の Instance Manager
Server Manager

Server Managerを使用した起動手順

  1. Server Managerを起動

    Server Managerの起動方法は、オペレーティング・システムにより異なる。
    起動後は、製品情報の後に、SVRMGR >というプロンプトが表示される。

     <Solaris2.5 (UNIX) の場合>
         % svrmgrl

  2. 管理者権限で接続

    データベースを起動するには、データベース管理者としての認証が必要。
    認証には、オペレーティング・システム認証とパスワード・ファイル認証がある。

     <オペレーティング・システム認証の場合>
       SVRMGR> CONNECT / AS SYSDBA

    正しく接続された時は、「接続されました」というメッセージが表示される。

  3. インスタンスを起動

    データベースの作成作業は、インスタンスを起動し、データベースはマウントしない状態で行う。
    インスタンスの起動は、STARTUP コマンドに、NOMOUNTオプションを指定する。

       SVRMGR> STARTUP NOMOUNT

    この時点ではデータベースは存在せず、SGAとバックグラウンド・プロセスのみが新しいデータベース作成に備えて起動する。


4.Create Database文の実行

Create Database文を実行し、データベースを作る。

(例)
CREATE DATABASE rbdb1
CONTROLFILE REUSE
LOGFILE '/u01/oracle/rbdb1/redo01.log' SIZE 1M REUSE,
             '/u01/oracle/rbdb1/redo02.log' SIZE 1M REUSE,
             '/u01/oracle/rbdb1/redo03.log' SIZE 1M REUSE,
             '/u01/oracle/rbdb1/redo04.log' SIZE 1M REUSE
DATAFILE '/u01/oracle/rbdb1/system01.dbf' SIZE 10M REUSE
AUTOEXTEND ON
NEXT 10M MAXSIZE 200M
CHARACTER SET WE8ISO8859P1;

CREATE DATABASEコマンドの構文

代表的なキーワードとパラメータ

パラメータ名 指定内容
database 作成するデータベース名
省略値は、パラメータDB_NAMEの名前を使用する。
データベース作成後は簡単に変更できない。制御ファイルの再作成が必要。
CONTROLFILE CONTROL_FILESで指定した既存の制御ファイルを再利用する。
REUSE 指定がない場合は、指定した制御ファイルを新規に作成する。
LOGFILE GROUP 作成するREDOログ・ファイルの名前とサイズを指定する。
多重化する場合は、グループ番号も指定する。
MAXLOGFILES 作成可能なREDOログ・ファイル・グループの最大数
MAXLOGMEMBERS 作成可能なREDOログ・ファイル・メンバーの最大数
MAXDATAFILES 作成可能なデータ・ファイルの最大数
DATAFILE SYSTEM表領域のデータ・ファイルの名前とサイズ
ARCHIVELOG アーカイブ・ファイルを作成するモード
NOARCHIVELOG アーカイブ・ファイルを作成しないモード
CHARACTER SET データベースがデータを格納するために使用するキャラクタ・セット
データベース作成後は変更できない。

CREATE DATABASE文を実行すると、Oracleは次のような操作を行なう。

前述の(例)の項目と情報では、次のような特性を持つデータベースが作成される。


5.データベース作成後のカスタマイズ作業

Create Database文の実行時に、データベースはオープンされるので、アクセスすることは可能。
ただし、Create Database文による手動作成の場合、必要最低限のデータベース構成なので、作成後に必要なもの追加する必要がある。

例えば、表領域はSYSTEM表領域だけなので、用途に応じた表領域を追加する。
また、ロールバック・セグメントも、SYSTEM用だけなので、トランザクション量に応じて追加する。
最後に、完成したデータベースのバックアップを作成し、障害時に備える。

データベース作成失敗時の対応

なんらかの理由でデータベースの作成が失敗した場合、次の手順で対応する。

  1. インスタンスを停止する。
  2. 作成されたファイルを削除する。
  3. 失敗の理由を分析し、問題を解決する。
  4. 再度データベース作成を行う場合は、インスタンスを起動する。
  5. Create Database文を実行する。

※サンプル・ファイルによる手動作成

オペレーティング・システムによっては、Create Database文によるデータベース作成のサンプル・ファイルを提供している。

  1. パラメータ・ファイルを作成する。
  2. Oracleに必要な環境変数を設定する。
  3. インスタンスを起動する。
  4. 初期データベースを作成する。
  5. 業務に応じたカスタマイズ作業を行う。

サンプル・ファイルでは、上記の手順 3 〜 5 までを行う。
カスタマイズ作業には、表領域の追加やロールバック・セグメントの作成などが含まれている。

Oracle8 Enterprise Edition 8.0.3 for Solaris2.5 の場合

ファイル名 用途
crdb.orc インスタンスの起動からCreate Database文実行までを行う。
crdb2.orc 表領域やロールバック・セグメントのカスタマイズを行う。

TOP > データベースの作成
2001/05/31 担当:R.S