はじめてのOracle9i データベース

第2章 Oracle9i Database Release2のインストール
          2. インストールとデータベース作成


サポートサービス本部 プレミアムサポート部 ミッションクリティカルサポートグループ
亀井 範行

◆ はじめに

いよいよ、インストールとデータベースの作成に取り掛かります。前回の記事ではいろいろと事前準備をしました。今回はOracle Universal Installer(OUI)というGUIのインストーラを使用して作業を行います。前回同様にインストレーションガイドを参照しながら進めていきます。


◆ インストール

インストレーションガイド(IG)の3章 インストールを参照してください。


インストールのマウント・オプション(IG 3-2から3-10ページ)

CD-ROMからインストールするか、ハードディスクにCD-ROMをコピーしてインストールすることができます。
以下の点はポイントです。
  • SolarisはCD-ROMをオートマウントしてくれるので、他のOSのようなマウントのコマンドが必要ない
      手動マウントが必要な場合や、Solaris以外のOSについてはマニュアルを参照してください。

  • CD-ROMの内容をハードディスクにコピーしておくと、3枚組のCD-ROMを入れ替える必要が無いため非常に便利
      ハードディスクにコピーする例は以下のとおりです。

    コピーはrootユーザで実行します。
    # cd /cdrom
    # cp -pr Disk1 /home1/installmedia/Disk1
    Disk2とDisk3についても同様にコピーします。Dのみが大文字になるように、また同じディレクトリに並ぶようにしてください。
    # ls /home1/installmedia/
    Disk1 Disk2 Disk3


Oracle Universal Installer(IG 3-11から3-36ページ)

準備で作成したインストール用のユーザでログインしてOUIを起動します。

CD-ROMからインストールする場合の注意
CD-ROMからインストールする場合には、runInstallerコマンドを実行するディレクトリに注意してください。/cdromなどCD-ROMがマウントされたディレクトリに移動するのではなく、別のディレクトリから実行してください。CD-ROM がマウントされたディレクトリから実行すると、インストール中にCD-ROMがumountできないために2枚目のCD-ROM に入れ替えることができなくなります。
% cd /tmp
% /cdrom/Disk1/runInstaller

同じマシンにOracle8i以降のリリースがインストールされている場合の注意
インストール前の/var/opt/oracleディレクトリ(AIXでは/etc)にoraInst.locファイルが存在している場合には、Oracle8i以降のリリースがインストールされていることを表しています。
oraInst.locファイルには、リリース情報などを格納するディレクトリ名が記録されます。
別リリース用のoraInst.locが存在しているままでOUIを起動すると、インストール管理情報が他のリリースと共有されてしまいます。oraInst.locファイルを改名して、他のリリースと区別することをおすすめいたします。インストール時に、新しくoraInst.locが作成されます。追加コンポーネントのインストールや、パッチセットのインストール時には、Oracle9.2をインストールしたときのoraInst.locを置いておくようにご注意ください。

OUIは環境変数LANG の設定に応じて言語の表示をします。日本語(EUC)での表示を希望する場合には LANG に 値 ja を設定してください。今回の例ではLANG に 値 C が設定された英語での表示です。LANGの設定を忘れて英語で表示された場合も恐れずそのままでインストールしてみましょう。

[Welcome]ウインドウ
  [Next]ボタンを押します。

[Inventory Location]ウインドウ
  インストールされた製品やパッチについて、OUIが管理する情報やインストールのログなどが格納されるディレクトリです。通常は設定してあるとおりで変更しません。
[OK]ボタンを押します。

[UNIX Group Name]ウインドウ
  Oracle9iを管理するためのユーザが所属するOSグループ名を設定します。今回は準備したとおりdbaとします。
[Next]ボタンを押します。

[File Location]ウインドウ
  Destination.. の[Name]には環境変数ORACLE_HOMEにつける名前を記述します。任意の名前を付けてください。今回はora920_homeと名前を付けています。
[Next]ボタンを押します。

[Available Products]ウインドウ
  インストールする製品の区分を選択します。

まず[Product Languages]ボタンを押してインストールする言語の選択をします。
右側の[Selected Language]に必要な言語が含まれているかどうか確認してください。
EUCやSJISの日本語データを格納するデータベースを作成する場合にはJapaneseを左側の[Available Language]から選択し、[>]ボタンを押して[Selected Language]に移動させます。
[OK]ボタンを押します。

[Oracle9i Database 9.2.0.1.0]を選択して[Next]ボタンを押します。

Oracle8iとの違い
Oracle8iではPro*Cなどのプリコンパイラ製品はClient を選択して別にインストールする必要がありました。9i Release2ではDatabase と一緒にインストールできます。また、Products Languageの選択がこの段階で行えるためCustomインストール以外でも日本語環境のインストールができるようになりました。

[Installation Types]ウインドウ
  今回はEnterprise EditionをCustomでインストールします。Enterprise EditionもしくはStandard Editionを選択する場合は手順が異なりますが、以下の一連の手順と大きく変わることはありません。
[Custom]をクリックして[Next]ボタンを押します。

[Available Product Components]ウインドウ
  Customインストールの場合は、このウインドウでインストールしないコンポーネントを削除してディスクの節約をすることができます。
今回の例では、
  • Oracle Advanced Security 9.2.0.1.0
  • Oracle Spatial 9.2.0.1.0
  • Oracle OLAP 9.2.0.1.0
  • Oracle Data Mining 9.2.0.1.0
  • Oracle Enterprise Manager Products 9.2.0.1.0
  • Oracle Transparant Gateways 9.2.0.1.0
をインストールしないでおきます。チェックボックスのチェックを外して下さい。
[Next]ボタンを押します。

[Component Location]ウインドウ
  OUI及びJREが格納されるディレクトリを指定します。変更する必要はありません。
[Next]ボタンを押します。

[Oracle Management Server Repository]ウインドウ
  今回の作業では関係ありませんのでそのまま[Next]ボタンを押します。

[Privileged Operating System Groups]ウインドウ
  データベースの管理をするOSDBA及びOSOPERというユーザグループをOSのどのグループに割り当てるかを決定します。
今回の例では両方ともdbaとして[Next]ボタンを押します。

[Create Database]ウインドウ
  このインストールに引き続いてデータベースの作成を行うかどうかを選択します。
今回は[No]を選択してDatabase Configuration Assistantを後で起動して作成します。
[Next]ボタンを押します。

[Summary]ウインドウ
  今回のインストールの要約画面です。Product LanguagesにJapaneseが含まれているかどうかなどを確認します。
[Install]ボタンを押すと、インストールが始まります。

インストールの進捗とともに画面が移り変わります。



[Setup Privileges]ウインドウ
  このウインドウが表示されたら、内容のとおり$ORACLE_HOMEディレクトリ以下にあるroot.shというスクリプトをrootユーザで実行します。
スクリプトの実行が終了したら[OK]ボタンを押します。



この後で、いくつかの周辺設定を行うための構成アシスタントプログラムが起動します。

[Configuration Tools]ウインドウ
  しばらくすると、Oracle Net Configuration Assistantが起動します。

[Oracle Net Configuration Assistant: Welcome]ウインドウ
  Oracle Net Configuration AssistantはOracleがインストールされたマシン以外のマシンから接続を行うための設定をします。
本稿の一連の作業ではインストールされたローカルのマシンからのみ接続します。また、接続を受け付けるリスナーというプロセスはネットワークポート番号を占有しますので、ネットワーク管理者の許可が必要などの理由で設定ができない場合には[Cancel]しても構いません。
後で必要なときに$ORACLE_HOME/bin/netca を実行することで、同じ作業ができます。

Oracle Net Configuration Assistantでは、後続の画面でリスナーの名前を決め、リスニングするポート番号を決めれば、構成を自動的に行います。

次にAgent Configuration Assistantが起動しようとします。しかし、必要なコンポーネントをインストールしていない場合には失敗することがあります。また、今回は使用しませんのでキャンセルしても構いません。
次にOracle HTTP ServerというWeb Serverを自動的に起動します。
これらがすべて終了すると、インストールが終了します。

以下のウインドウが出ても気にせず[OK]ボタンを押してください。


インストール・ログの確認 (IG 3-36ページ)

インストールに問題が発生した場合などにはインストール・ログを確認します。
確認すべきファイルは以下のとおりです。
  • <oraInventory>/logs/installActions.log
    <oraInventory>で示されるディレクトリ名は、oraInventoryの場所です。
    /var/opt/oracle/oraInst.loc(Solaris,HP等)もしくは/etc/oraInst.loc(AIX等)にinventory_loc=ディレクトリ名として書かれているディレクトリです。今回のインストールでは、$ORACLE_BASE/oraInventory/logs/installActionsdate_time.log という名前です。
  • $ORACLE_HOME/install/make.log
  • /tmp/OraInstall/oraInstall.err
  • /tmp/OraInstall/oraInstall.out

以上でインストールは終了です。次はインストール後の設定作業です。


◆ インストール後の設定作業

IG 4章 インストール後の作業 を併せて参照してください。


rootユーザで行う構成タスク (IG 4-2 から 4-10ページ)

"データベース・ファイルのセキュリティの検証"の部分は、インストール時に設定されるものであり、変更の必要はありません。


Oracleユーザとして行う構成タスク (IG 4-11 から 4-18ページ)

Oracleをインストールしたユーザの環境変数に追加します。
ログインシェルがtcshもしくはcshの場合、ユーザのホームディレクトリにある.cshrcと.loginに設定します。ホームディレクトリにlocal.loginとlocal.cshrcが存在している場合は、.cshrc、.loginに改名します。kshの場合は.profileに設定します。
以下はSolaris 32-bit環境で設定する環境変数です。その他のOSの場合についてはマニュアルを参照してください。

CLASSPATH
  JAVA機能を使用する場合に設定します。

LD_LIBRARY_PATH
  Solaris 32-bit版Oracleでは、以下のように設定します。
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib

TNS_ADMIN
  以下のように設定します。
setenv TNS_ADMIN $ORACLE_HOME/network/admin


◆ データベースの作成

Database Configuration Assistantの使用 (IG 4-32 から 4-48ページ)

次に、インストール時にスキップしたデータベースの作成を行います。
GUIのDatabase Configuration Assistant(DBCA)を起動するために、インストール後のコンソールを使用します。DBCAについては、使用前に IG 1-8ページ Database Configuration Assistantの項に目を通しておいてください。また、これから作成する初期データベースの内容については、IG 4-39ページ 初期データベースの内容 以降を参照してください。
DBCAの各操作にIGのページを付記しているところでは、IGを参照して操作についての理解を深めてください。

以下のコマンドでDBCAを起動します。
% cd $ORACLE_HOME/bin
% dbca


[Welcome]ウインドウ
  [Next]ボタンを押します。

[Operations]ウインドウ
  [Create a database]を選択します。
[Next]ボタンを押します。

[Database Template]ウインドウ (IG 1-8ページ)
  テンプレートとは、構成済みのデータベース設定のことです。商用のシステムではシステム要件にあわせて構成するため使用することは少ないと思われます。今回はテスト用の小規模データベースで構わないためテンプレートを使用します。[General Purpose]を選択します。
[Next]ボタンを押します。

[Database Identification]ウインドウ (IG 4-43ページ)
  グローバル・データベース名を決定します。名前.ドメイン名 としてグローバル・データベース名を付けます。 今回の例では、準備の際に決定したように名前をora920、ドメイン名をjpsun3127.jp.oracle.comとしました。ドメイン名はネットワーク・ドメイン名と一致しなくても構いません。
[Global Database Name]に値を入力すると、最初のピリオドまでが[SID]にも入力されます。例えば、[Global Database Name]にora920.jpsun3127.jp.oracle.com と入力すると、[SID]に自動的にora920と入力されます。
[Next]ボタンを押します。

[Database Connection Options]ウインドウ
  [Dedicated Server Mode]を選択して[Next]ボタンを押します。

[Initialization Parameters]ウインドウ
  ウインドウは5つのタブで構成されています。

1. [Memory] タブ
共有プール、バッファキャッシュなどの初期サイズを決定します。現時点では変更する必要はありません。
2. [Character Sets] タブ
データベースに格納できる文字コードセットを設定します。環境変数LANGをjaなどの日本語用に設定していない場合には、日本語が格納できないデータベースが作られますので、必ず変更する必要があります。
[Choose from the list of character sets]をクリックし、[JA16EUC](EUC)または[JA16SJIS] (SJIS)を選択してください。通常はOSの文字コード設定と一緒にします。
[National Character Set]には[UTF8]を選択してください。
3. [DB Sizing]  タブ
データをメモリ上で並べ替える処理などで必要とする領域(SORT_AREA_SIZE)のサイズを設定します。現時点では変更する必要はありません。
4. [File Locations] タブ
データベースの動作を制御する初期化パラメータファイルの設定をします。ファイルのフォーマットは2種類あります。ひとつは、以前のリリースから存在しているinit$ORACLE_SID.ora(init.ora)です。変更を反映するにはOracleの再起動が必要です。もうひとつは、Oracle9iから使用できるサーバ・パラメータ・ファイル(SPFILE)です。これはalter systemコマンドなどで起動中に初期化パラメータの変更をした場合にデータベースのファイルにも変更を反映し、再起動後もその変更が有効になるようにするための設定です。
サーバ・パラメータ・ファイルを使用している環境で、後でinit$ORACLE_SID.oraを使用するように変更することやその逆も可能です。
5. [Archive] タブ
データベース上のデータへの変更を記録して、障害時にリカバリできるようにするアーカイブ・ログを生成するアーカイブ・ログ・モードで運用するかどうかを選択します。最初は選択しません。本稿の第5章で設定します。

すべて確認したら[Next]ボタンを押します。



[Database Storage]ウインドウ (IG 4-44から4-47ページ)
  データベースを構成する制御ファイル、データファイル、REDOログファイルの場所などを変更することができます。今回はテストとして記述されているとおりの設定でも構いません。しかし、データベースのOracleのソフトウェア($ORACLE_HOME)とデータベースの各構成ファイルを別々のディスクに配置しないとディスクへのI/Oが集中してパフォーマンスのボトルネックになることがありますのでご注意ください。
[Next]ボタンを押します。

[Creation Option]ウインドウ
  今回の構成をテンプレートとして保存するかどうかを選択します。特に保存する必要は無いので、そのまま[Finish]ボタンを押します。

[Summary]ウインドウ
  今回の構成で作成されるデータベースのサマリです。
確認したら[OK]ボタンを押してデータベース作成を開始します。

[パスワード管理]ウインドウ (IG 4-39から4-43ページ)
  データベース作成が終了したらSYS、SYSTEMユーザに対するパスワードの設定を求められます。SYSはデータベースを起動/停止できる他、データベース管理のすべての権限を持っています。SYSTEMユーザも起動/停止はできませんがほぼ同様の権限を持っています。そのためこれらのユーザについてはパスワード管理を確実に行ってください。

Oracle8i 以前で使用していたSYS、SYSTEMのデフォルトパスワードはここで設定できなくなりました。セキュリティ管理上重要ですので、新しくパスワードを設定してください。


以上で、データベース作成は終了です。

接続してOracleの起動/停止を確認してみましょう。

データベースのキャラクタ・セットをJA16EUC(EUC)またはJA16SJIS(SJIS)に設定している場合は、環境変数NLS_LANGを設定してください。
キャラクタセットがJA16EUCの場合
setenv NLS_LANG Japanese_Japan.JA16EUC

キャラクタセットがJA16SJISの場合
setenv NLS_LANG Japanese_Japan.JA16SJIS


SQL*Plusを使用してデータベースに接続します。
> sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 木 Mar 6 20:40:58 2003

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.



Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning option
JServer Release 9.2.0.1.0 - Production
に接続されました。

SQL> shutdown immediate;
データベースがクローズされました。
データベースがアンマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 135352820 bytes
Fixed Size 455156 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 679936 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>



◆ これからの予定

次回からはこのデータベースを使用していろいろな動作を試していきます。