みなさん、こんにちは。新人若井さんが出来先輩の助けを借りながら、アマゾン ウェブ サービス(以下AWS)上でOracle DBを作成しようと言うこの企画。物語は終盤、Oracleデータベースのインストール作業に入っていきます!前回まではちょうど、『Oracle Universal Installer』の起動までが完了していますので、今回はその続きです。

  • 若井 あらた (わかい あらた)
    新人エンジニアで、今回データベース課に配属となった。本物語の主人公。



  • 出来 益代 (でき ますよ)
    中堅エンジニアで、データベース課に所属する。年齢は不詳。仕事熱心で、比較的後輩の面倒見もよいお姉さまタイプ。



※ この物語はフィクションであり、登場する団体・人物などの名称はすべて架空のものです

オラクルインストールの作成

若井「『Oracle Universal Installer』の画面が表示されました。」

出来「よし。この画面では、セキュリティ・アップデートの構成に関する設定をするんだけど、今回はとばしましょう。『I wish to receive security updates via My Oracle Support.』の横にある、チェックボックスのチェックをはずして、『NEXT』をクリックして」
若井「わかりました。お! 警告がでました!」

出来「さっきの画面で何も選択しない場合、警告がでるのよ。でもこれは無視しても問題ないから、『Yes』をクリックして。」

出来「この画面では、インストールする時に、ソフトウェアのインストールとデータベースの作成、ソフトウェアのインストールのみ、既存のデータベースのアップデートなどを選ぶことができるの。今回は、ソフトウェアのインストールとサンプルデータベースの作成まで、やってしまいましょう。『Create and Configure a database』を選択して、『Next』をクリック」

出来「ここでは、データベース・インストール用のシステム・クラスの設定が可能よ。先ずは最小構成のデータベースを短時間で稼働可能な、『Desktop Class』を選択して、『NEXT』をクリックしましょう。」

出来「ここでは、インストール、データベース作成のいろいろな設定を行うのよ。デフォルトで値はある程度入っているから、このまま使いましょう。ただ、マルチバイトの文字をデータベースで扱いたいから、『Character Set』を『Unicode(AL32UTF8)』に変更して。あと、作成するデータベースの管理ユーザーのパスワードをここで設定するの。『Administrative Password』にパスワードを入力、入力したパスワードの確認用に『Confirm Password』にもパスワードを入力して、『Next』をクリック。」

出来「コンピューターに初めて、Oracleソフトウェアをインストールする場合、インベントリ・ディレクトリ・パスを指定するように求められるの。ここでも、値が入っているから、そのまま、『Next』をクリックして。」

若井「あれ、エラーが出ましたよ。」
出来「あら、本当だ。たぶん、インベントリ・ディレクトリに指定した場所が、Oracleユーザーでの書き込みが出来ないのね。若井君、インベントリ・ディレクトリを事前に作成して、Oracleユーザーに権限を与えてしまって。」
若井「わかりました。」

[root@ip-172-31-24-192 ~]# mkdir /u01/app/oraInventory
[root@ip-172-31-24-192 ~]# chown oracle:oinstall /u01/app/oraInventory
[root@ip-172-31-24-192 ~]# chmod 775 /u01/app/oraInventory

出来「よし。もう一回さっきの画面で、『Next』を押して。」

若井「あ、今度はうまく行きました!!」
出来「よかった。今は、Oracleのインストールに必要な構成となっているかどうか、チェックが走っているのよ。」
若井「あれ、幾つかチェックで引っかかっているように見えますね。」
出来「ほんとね。カーネルパラメーターといくつかパッケージが足りないように見えるわね。若井君、カーネルパラメーターの変更の方法と、パッケージの入れ方はもうやったからわかるね。やってみて。」
若井「はい!!」

(カタカタカタカタ・・・・ターン)

出来「OK。出来たらもう一回チェックしてみて。」

若井「今度はチェックで何も言われずに、サマリに画面が変りました!」
出来「じゃあ、Finishを押して、Oracleソフトウェアのインストールと、DBの作成よ。」
若井「はい!」

出来「よし順調にインストール出来ているわね。」
若井「はい。」
出来「少し、時間がかかわるね。若井君はスポーツとかやってたの?」
若井「突然ですね!? はい。野球をやっていました。ポジションはショートです。」
出来「へぇー。すごいじゃない。実は私もスポーツやってたの。高校3年生最後の夏だったわ。。。今でも忘れられない事件が起きたのよ。それは……あ、終わった!」
若井「(気になるーーーー!!!)」

出来「じゃあ、『OK』をクリックして。」
若井「はい。」

出来「よし、次はroot.shを実行するの。名前の通り、rootユーザで実行してね。」

[root@ip-172-31-24-192 sft]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
You have new mail in /var/spool/mail/root
[root@ip-172-31-24-192 sft]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
[root@ip-172-31-24-192 sft]#

若井「できました。」
出来「できたら、さっきの画面の『OK』をクリック」

出来「お疲れ様!これでOracleソフトウェアのインストールと、DBの作成は完了よ!」
若井「やった!!」
出来「じゃあ、さっそく、SQL*PLUSという、Oracleのクライアントソフトを使って、今作った、Oracleデータベースにログインしてみましょう。まずは、Oracleユーザーでログインして、ログインしたOracleユーザーのSQL*PLUSの起動に必要な環境変数を設定する必要があるわ。設定に必要な環境変数はORACLE_SID、ORACLE_HOME、それからPATHの設定に、ORACLE_HOMEの配下のbinディレクトリに設定するの。やってみて。」

[oracle@ip-172-31-24-192 admin]$ export ORACLE_SID=orcl
[oracle@ip-172-31-24-192 admin]$ export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@ip-172-31-24-192 admin]$ export PATH=$PATH:$ORACLE_HOME/bin

若井「できました。」
出来「じゃあ、いよいよ、SQL*PLUSで接続ね。SQL*PLUSで接続する時の、方法は、『sqlplus <ユーザー名>/<パスワード>@<接続子>』で接続できるのよ。今回はOracle Databaseを作成する時に、デフォルトで作成される、『SYSTEM』と言うユーザーでログインしましょう。パスワードは、『Oracle Universal Installer』で入力したパスワードを利用するわ。」

[oracle@ip-172-31-24-192 admin]$ sqlplus system/*****@orcl

SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 4 05:51:30 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

若井「できました!!!」
出来「OK。これで、一通りは完了ね。これから、この環境を使って、どんどん検証してね。あ、それから、使わないときはちゃんとEC2をシャットダウンしておくのよ、利用料も結構するからね。」
若井「ようやく完了ですか。ふー、結構時間かかっちゃったな。」
出来「ほんと、もうこんな時間ね。今日はもう上がりましょうか。どう、この後、暇だったら、夜ご飯でも食べに行く?」
若井「はい! 行きます!」
出来「その代わり、明日からもガンガン、仕事や検証よろしくね。」
若井「はい、わかりました。。。」

あとがき

最後まで読んで頂きましてありがとうございました。今回はAWSを使って、Oracle Databaseをインストールすると言うテーマで、記載させて頂きました。

今回の記事を通しまして、読者の皆様がより身近に、クラウドやOracle Databaseを感じて頂ければ幸いでございます。今後も何かの機会がありましたら、また、若井さんと出来さんに検証をして頂こうと考えておりますので、若井さん、出来さん共々今後ともよろしくお願いいたします。

執筆者紹介

山口 正寛(YAMAGUCHI Masahiro)

株式会社システムサポート 東京支社インフラソリューション事業部所属。

同社が得意とするOracleデータベースのエンジニアで、大規模DWHのDB管理者、DBコンサルタントなどを経験。また、同社の無料セミナーの企画にも携わる。

今回、機器がなくても気軽に環境を構築し検証したいというかた向けに AWS上でOracleデータベースを構築することをストーリー調で記載する。 尚、同社はAWSを用いたクラウド工房 powered by AWSというプロダクトがあり、産学官連携でも活用している。