第2章 Oracle Databaseのインストールおよび Databaseの作成

2.1 Oracle Database・ソフトウェアのインストール

■OUIとは
Oracleソフトウェアは、OUI(Oracle Universal Installer)を使用してインストールする。
OUIを利用すると、ソフトウェアのインストールだけでなく、下記の作業も実行できる。

・インストールされているOracleソフトウェアの表示
・新しいOracleソフトウェアのインストール
・使用しないOracleソフトウェアの削除
・インストールプロセス中でのオンラインヘルプの参照
・インストール前の前提条件のチェック

OUIは、次のようなGUIを持つインストーラである。

■Oracleソフトウェアのインストール要件
OUIは、Oracleソフトウェアのインストールを開始する前に、ハードウェアやソフトウェアがそれぞれのインストール要件を満たしているかチェックする。
満たしていない場合は、エラーメッセージを表示する。

前提条件チェック項目

カテゴリチェック項目
メモリ使用可能な物理メモリがあるかをチェックする。最小要件は1GB
スワップ領域十分なスワップ領域(ページング領域)があるかをチェックする。最小要件は1.5GB。なお、スワップ領域のサイズはRAMの大きさによって異なる。
ディスク領域一時領域(/tmp)の空きサイズが適切かをチェックする。最小要件は1GB。また、Oracleソフトウェア用およびデータベース用のディスク領域があるかをチェックする。Standard Editionの場合は、6.1GB。
システムOSのバージョンやパッチが適切か、システムパラメータやカーネルパラメータが適切に設定されているか、適切なファイルシステム形式が使用されているかをそれぞれチェックする。

■インストールするためのユーザとOSグループの作成

Oracleソフトウェアをインストールする際は、ソフトウェアのインストールおよびデータベースの作成・実行が許可されている管理グループのメンバになっているユーザでコンピュータにログインする。

LinuxやUNIXの場合、Oracleソフトウェアのインストール前に、下記のグループを作成しておき、ソフトウェアのインストールを実行するOSユーザをこれらのグループのメンバにしておく。
・ソフトウェアの所有者であるOracleインベントリグループ
・データベースの管理者グループ(OSDBA)
・制限されたデータベースの管理者グループ(OSOPER)

ソフトウェアの所有者であるインベントリグループをoinstall
データベースの管理者グループをdba
制限されたデータベースの管理者グループをoper

OracleソフトウェアをインストールするOSユーザをoracle

・データベースのバックアップとリカバリの管理グループ(backupdba)
・データベースのバックアップとリカバリの管理グループ(backupdba)Oracle Data Guard管理グループ(dgdba)
・暗号化キー管理の管理グループ(kmdba)

■環境変数の設定
Linux、UNIX環境の場合、Oracleデータベースサーバの操作に必要な環境変数は、全て、OUIが自動的に設定する。
Oracleソフトウェアのインストール前に環境変数を設定しておく必要はない。
だが、事前に設定しておけば、設定した値がOUIに採用され、その後の設定が容易になる。

主要なディレクトリは、事前に作成しておく必要がある。

Oracleソフトウェアに関連する主な環境変数

環境変数説明
ORACLE_BASEOracleディレクトリ構造(Oracleの格納先)のトップのディレクトリを指定する。この設定値がOFA(Optimal Flexible Architecture)のOracleディレクトリ構造のトップの場所に成る。
ORACLE_BASEを指定すると、指定したフォルダ内に各コンポーネントのインストール用ディレクトリが作成されるため、今後のインストールやアップグレードがしやすくなる。
設定例)/u01/app/oracle
ORACLE_HOMEOracleソフトウェアを格納するディレクトリを指定する。OFAでは、以下のような構造に成る。
設定例)$ORACLE_BASE/product/12.1.0/dbhome_1
ORACLE_SIDシステム識別子(インスタンス名)を指定する。(8文字以下の英数字)ORACLE_SIDによって、同じコンピュータ上の他のインスタンスと区別できる。
設定例)orcl(デフォルトは、orcl)
LD_LIBRARY_PATHライブラリファイルのあるディレクトリパスを指定する。実行時に、共有ライブラリを検索するために使用される。なお、この環境変数は、LinuxおよびUNIXのみ設定する。
設定例)/usr/lib:$ORACLE_HOME/lib

Tips
OFA(Optimal lexible Architecture)は、Oracleが推奨するディレクトリ構造やファイルネーミングの外ドライである。
OFAに沿って設定すると、所有するユーザやバージョンの異なる複数のデータベースが共存できるように、ソフトウェアとデータベースを適切に構成することができる。

■Oracleソフトウェアのインストール
OUIを使用すると、プラットフォームが異なる場合でも、ほぼ同じ手順でOracleソフトウェアをインストールできる。
インストールと同時にデータベースを作成することもできる。
インストール中にデータベースを作成しない場合は、ソフトウェアのインストール後にDBCA(Oracle Database Configuration Assistant)を使用して、データベースを作成する。

[1]Oracleソフトウェアのインストールおよびデータベースの作成・管理を実行できるOracle管理用グループのメンバでOSにログインする。

[2]Oracleソフトウェアの配布メディアをメディアドライブに挿入する。
Oracleソフトウェアをダウンロードする場合は、サイトにアクセスして、必要なソフトウェアをダウンロードする。

[3]Linux上のターミナルでディスクのメディアパスを指定して、runInstallerを実行し、OUIを起動する。
runInstallerを実行すると、インストールの前提条件を満たしているか確認が自動実行される。

[4]セキュリティ・アップデートの構成ページが表示される。
セキュリティ更新の受け取り方を選択する。

Tips
OUIの起動前に環境変数ORACLE_BASE、環境変数ORACLE_HOMEを設定しておくと、その値が、Oracleベースおよびソフトウェアの場所として、採用される。
ソフトウェアの場所は、Oracleベースのサブディレクトリになる。

Tips
インベントリ・ディレクトリとは、インストールしたOracle製品の情報などを保持するためのディレクトリである。
全てのOracle製品のインストールで同じディレクトリを使用する。
このディレクトリは、既存のソフトウェアにパッチを適用したり、既存のインストールをアップグレードしたり、Oracle操作を削除したりする時にOUIが使用する。

orainstRoot.shとroot.sh

スクリプト名説明
orainstRoot.shインベントリポインタファイル(/etc/oraInst.loc)を作成するスクリプト。インベントリポインタファイルが存在しない場合のみ、実行を求められる。インベントリポインタファイルには、インベントリの場所と管理グループが記載される。
root.shoratabファイル(/etc/oratab)の作成と、Oracle用の環境変数を変更するスクリプト(oraenvおよびcoraenv)のコピーを行うスクリプト。Oratabファイルには、Oracleソフトウェアを格納するディレクトリがデータベースごとに記載される。
DbstartとdbshutスクリプトによるOSのサービスとしての自動起動と停止の対象にするかどうかが指定されている。

2.2 Oracle Databaseの作成


Oracleソフトウェアのインストール時にデータベースを作成しなかった場合は、インストール後にDBCA(Oracle Database Configuration Assistant)を使用して手動でデータベースを作成する。

■DBCAを使用したOracleデータベースの作成

[2]ターミナルを開き、oraenvスクリプトを実行して、ORACLE_SIDおよびORACLE_HOMEを設定する。

Tips
oraenvスクリプトは、環境変数ORACLE_SIDと環境変数ORACLE_HOMEを設定する際に使用する。
インストールの最後にrootユーザでroot.shスクリプトを実行したが、その際に作成されたスクリプトである。

Tips
グローバル・データベース名は、下記のデータベース名とドメイン名で構成されている。
データベースをネットワーク上で識別するために指定する。
グローバル・データベース名
database_name.domain_name

SID(インスタンス名)は、データベースを実行するインスタンスを一意に漆器別するためのものである。
任意の名前を指定できるが、通常はデータベース名と同じ名前にする。

Enterprise Managerの種類

種類説明
Database Express1つのデータベースのみを管理するツール
Cloud Control複数のデータベースを集中管理できる大規模環境向きのツール。Cloud Controlを使用するには、事前構成が必要。

Tips
Oracleソフトウェアのインストールと同時にデータベースを作成した場合、データベース内に作成される全ての管理者アカウントに同一の初期パスワードが設定される。
一方で、DBCAをシユ押してデータベースを作成する場合は、管理者アカウントごとにパスワードを設定できるためよりセキュリティの高い設定が可能である。

DBCAで同一の初期パスワードを設定することも可能である。
同一の初期パスワードを設定する場合は、すべてのアカウントに同じ管理パスワードを使用をオンにする。

記憶域のタイプ

記憶域のタイプ説明
ファイルシステム通常のOSのファイルシステムを使用する。
自動ストレージ管理(ASM)ASMディスクグループにデータファイルを配置する。別途専用のインスタンスが必要。

データベース・ファイル位置

データベース/ファイル位置説明
テンプレートのデータベース・ファイル位置を使用テンプレートに設定されているディレクトリ情報を使用する。データベース・ファイルの名前と場所は後で変更可能。
すべてのデータベース・ファイルに対して共通の位置を使用新しいディレクトリを指定して、すべてのデータベース・ファイルをその場所に作成する。データベース・ファイルの名前と場所は後で変更可能。
Oracle Managed Filesの使用(オプション)OSファイルを作成するデフォルトの場所を指定すると、Oracleデータベースを構成するOSファイルをOracleデータベースが直接管理する。
このオプションを使用すると、ファイル名、ファイルの場所、ファイルサイズを指定する必要はなくなり、データベース・ファイルの管理をOracleに完全に委任できる。

Tips
リカバリ関連ファイルエリアでは、高速リカバリ領域と呼ばれる。
バックアップファイルなどの障害回復に必要なファイルを格納する領域を指定する。
デフォルトでは、高速リカバリ領域の指定が構成されている。
これらの設定はデータベース作成後でも変更可能。

Tips
スキーマとは、1人のユーザが所有するオブジェクトの集まりのこと。
サンプル・スキーマは、サンプルのオブジェクトを含むスキーマのこと。
チェックボックスをオンにするとEXAMPLEという名前の表領域が作成され、そこにサンプルのオブジェクトが作成される。

Tips
カスタム・スクリプトでは、データベース作成後に実行するスクリプト(ファイルとして、保存された一連のコマンド)を指定できる。
カスタムスキーマをロードするなど、インストール後に追加のタスクを実行するのに便利である。

作成オプションページのオプション

オプション説明
データベースの作成データベースを作成する
データベース・テンプレートとして保存データベースは作成せず、設定内容をテンプレートとして保存する。
データベース作成スクリプトの生成データベースを作成する作成するスクリプトを生成する。

■DBCAを使用したテンプレートの管理
DBCAを使用すると、データベース作成に加えて、下記の処理も実行できる。
・データベース・オプションの構成
・データベースの削除
・テンプレートの管理
・プラガブル・データベースの管理

プラガブル・データベースとは、Oracle Database 12cで追加されたマルチテナント・アーキテクチャの機能のこと。
マルチテナント・アーキテクチャでは、Oracleデータベースをマルチテナント・コンテナ・データベース(CDB)として、動作させることができる。
CDBは、コンテナ・データベースと呼ばれる1つのデータベースと、それに内包される1つ以上のプラガブル・データベースによって、構成され、複数のデータベース環境を統合することができる。
Oracle Database 12cでは、データベース作成時にCDBか非CDBかを選択する。

■テンプレートとは
テンプレートの実体は、XMLファイルである。
XMLファイルには、データベースの作成に必要な次の情報が含まれている。
・データベース・オプション
・初期化パラメータ
・記憶域属性(データファイル、表領域、制御ファイルおよび、REDOログの属性)など

作成されたテンプレートは、以下の場所に格納される。
$ORACLE_HOME/assistants/dbca/templates

■DBCAによるテンプレートの作成・管理操作
DBCAを使用すると、テンプレートを作成したり、削除したりできる。

■Oracle社によって、用意されているテンプレート
テンプレートは、DBCAによるデータベースの作成手順の中で選択する。
Oracle社によって、下記のテンプレートが用意されている。

どnテンプレートを使用してデータベースを作成しても、後から構成を追加したり、変更したりすることが可能である。

Oracle社によって、用意されているテンプレート

テンプレート名説明
汎用または、トランザクション処理(デフォルト)座席予約や受発注処理など、多数のトランザクションを同時にかつ、迅速に実行することが要求される、OLTP向けのデータベースを構成する場合に選択するテンプレート。
データ・ウェアハウス売上分析や市場分析など、複雑な問合せを大量に実行し、大量のデータを処理することが要求されるデータ・ウェアハウスを構成する場合に選択するテンプレート。
カスタム・データベース処理内容に合わせて各項目を個別に設定できる。データベースを1から作成するため、時間がかかる。

■テンプレートのタイプ
テンプレートには、以下の2種類がある。
シードテンプレート
非シードテンプレート

テンプレートのタイプ

タイプ説明
シードテンプレート既存のデータベース(シードデータベース)の構造および物理ファイルの両方が含まれているテンプレート。
物理ファイルは、作成済みなので、このテンプレートを元にデータベースを作成する際は、シードデータベースファイルをコピーするだけでデータベースを作成できる。
(ファイルコピーの方が新しいファイルを作成するよりも短時間で済む)
事前に用意されているテンプレートでは、汎用またはトランザクション処理。データ・ウェアハウスがシードテンプレートである。
非シードテンプレート作成するデータベースの特性が含まれたテンプレート。新しいデータベースを作成する際に使用する。データファイルが含まれていないため、データファイル、オンラインREDOログファイルの作成方法を柔軟に指定できる。
事前に用意されているテンプレートでは、カスタム・データベースが非シードテンプレートである。


※シードテンプレートのデータベースは、圧縮されて格納されている。

■テンプレートの利点
テンプレートには、下記の利点がある。

・同じ設定を何度も行う必要がなくなるため、データベースをより速く作成できる。
・シードテンプレートを使用すれば、既存のデータベースのクローン(複製)を迅速に作成できる。
・テンプレートの設定の中のデータベース・オプションを簡単に変更できる。
・コンピュータ間のテンプレートをコピーできる。

■テンプレートの作成方法
Oracle Database 12cでは、ユーザがオリジナルのテンプレートを作成することもできる。作成は3つの方法がある。

作成方法説明
既存のテンプレートを使用既存のテンプレートの設定を変更して、新しいテンプレートを作成する方法
既存のテンプレートを使用
(構造のみ使用)
既存のデータベースの構造情報(データベース・オプション、表領域、データファイル、初期化パラメータなど)を持つ新しいテンプレートを作成する方法。
ユーザ定義スキーマとそのデータは、作詞するテンプレートには含まれない。
既存のテンプレートを使用
(データおよび構造)
既存のデータベースの構造情報と物理データファイルの両方を含む新しいテンプレートを作成する方法。このテンプレートを使用して作成したデータベースは、元になるデータベースと同一になり、ユーザ定義スキーマとそのデータも、テンプレートに含まれる。

あわせて読みたい