Level 0 環境整備/インストール


Oracle10gをpwにインストールする。10gの動作環境は
OS RedHat Enterprise Linux AS/ES 4 以降
SUSE LINUX Enterprise Server 9
Disk容量3G以上
メモリ1GB以上
である。まずインストールに必要な環境設定を終えて インストーラーを起動すると"Osが対応していない"というメッセージを出して終了してしまっ た。

Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-2.1, UnitedLinux-1.0
or redhat-3
                                      Failed <<<<

Exiting Oracle Universal Installer, log for this session can be found at 
/tmp/OraInstall2005-12-29_11-02-03PM/installActions2005-12-29_11-02-03PM.log
このように、OSチェックで弾かれてしまうため pwにOracle10gをインストールすることができなかった。

つぎにoracle10g OSX版をYuntaに試してみた。 OSXヴァージョンの動作環境は
OSMacOSX Server10.3.6
Disk容量3G以上
メモリ1GB以上

YuntaはOSX server10.4なのでOSチェックで弾かれなかった。 環境設定を終えてインストーラーを起動する。

今回は無事にインストーラーが起動した。


グループ名は新しく追加した"oracle"を指定。(環境設定の項で詳しく説明)途中"root.sh"を実行するように 言われるので別のターミナルで実行する。指示通りに進めて行くと次のよう なメッセージを

"/usr/bin/ld: can't open: /usr/lib/libcc_dynamic.a (No such file or directory,errno=2)"

言われてしまい終了してしまった。 参考文献にしたがい次のコマンド
 "ln -s /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/libgcc.a /usr/lib/libcc_dynamic.a"

を実行して再開するとなんとかインストールは完了した。次にnetcaを実行しweb サーバーからデータベースにアクセスできるように設定した。


次にデータベースを作成するためにdbcaを実行する。しかし、エラーが発生 してしまいデータベースを作ることができなかった。
"dyld: Symbol not found:_SSL_ALG_CLIENT_AUTH_MODE_RSA_SIGN_CLIENTSIDE_BS"

原因を調査してみるとOracle10g MacOSX版は10.3.6でしか動作しないことが判明 した。以上のようにYuntaでの作業はこれ以上できなかった。

これまで見てきた通りOracle10gを学科のパソコンにインストール手段が無いこ とがわかった。よって本実験では前のヴァージョンであるOracle9iを使用することにした。
以上前フリでした。 Oracle9iをインストールする前にpwの環境を設定する必要がある。


環境設定

まず、インストール用とデータベースを管理するグループを追加して、インストー ル先のディレクトリを作り環境設定を行う。
addgroup dba データベース管理グループ
addgroup oinstall インストール用グループ
useradd -g oinstall -G dba oracle ユーザーを追加
passwd oracle パスワード変更
mkdir /u01/  インストールするディレクトリ
chown oracle.oinstall /u01/

次に、環境変数を設定するため.bashrcを変更する。
#oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2
export ORACLE_SID=unixdb
export NLS_LANG=Japanese_Japan.JA16EUC
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_DOC=$ORACLE_HOME/doc
export PATH=$PATH:$ORACLE_HOME/bin
export PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin

CLASSPATH=$ORACE_HOME/JRE:$ORACLE_HOME/jlib/:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12,zip
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/nls_charset12.zip
export CLASSPATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/jdbc/lib
export LD_LIBRARY_PATH

ORACLE_HOMEを10.2としているのは、間違いで実際は9.2である。インストール作 業の時には気づかなかった。動作に問題はないが9.2とするのが正しいだろう。 次に、カーネル・パラメータを設定する。/etc/sysctl.confに追加する。
kernel.shmmax=2147483648

shmmaxを指定しなければデータベース作成中にエラーが出てしまうので必ず指定すること。

Oracle9iのインストール

OracleのホームページからOracle9iのトライアル版をダウンロードしてくる。 (Disk1からDisk3まで計3つ)解凍したら適当なフォルダに置いて /Disk1/runInstallerを実行してインストールを行う(nahaの~/oracle/以下に置い た)

nahaに置いてあるファイルを/mnt/cdromにマウントしてインストールを行う。 /mnt/cdromにマウントしているのは途中でディスクの交換があるためである。

[oracle@pw008 oracle]% mount naha:/net/home/oracle/Disk1/ /mnt/cdrom
[oracle@pw008 oracle]$ /mnt/cdrom/runInstaller
事前に
環境設定を行っていればインストーラーにしたがっ てインストールできる。構成ツールのagentというやつはインストールに失敗す るが使わないので問題なし。インストールが終われば
[oracle@pw008 oracle]$ dbstart
[oracle@pw008 oracle]$ lsnrctl start
[oracle@pw008 oracle]$sqlplus user/password
でOracleにアクセスできる。

PHPのインストール

PHPにはOracleを操作するためのOracle関数が用意されている。しかしデフォル トではOracle関数を使用することができないためPHPをソースからインストールする必要がある。その手順を下記に示す。

まずphpを公式ホームページからダウンロードして解凍したフォルダへ移動する。 そしてソースからconfigureしてコンパイルしてmakeを行う。Oracle関数を使用 するには--with-oci8オプションを付けてconfigure
./configure --with-apxs=/usr/sbin/apxs --without-mysql --with-oci8
--prefix=/usr
--省略--
make
--省略--
make install
--省略--
インストールされているか確かめるためにApachを起動してtest.phpにアクセス してみる。なおtest.phpにはphpinfo()関数のみ書かれている。しかしApachを起 動すると下記のようなエラーを出してしまう。
[oracle@pw008 oracle]% /etc/init.d/httpd start
httpd: Syntax error on line 263 of /etc/httpd/conf/httpd.conf:
Cannot load /etc/httpd/lib/apache/libphp5.so into server:
/etc/httpd/lib/apache/libphp5.so: cannot open shared object file: No
such file or directory
[失敗]
と言われてしまう。エラーメッセージを見るとlibphp5.soなるファイルが無いと のことなのでlocateで調べてみるとlibphp5.soは/usr/libに存在していた。また /etc/httpd/libというフォルダも存在しなかったので/usr/libへのリンクを張る ことでエラー回避する。
[oracle@pw008 oracle]% ln -s /usr/lib /etc/httpd/lib
[oracle@pw008 oracle]% /etc/init.d/httpd start
httpdを起動中:      [ok]
と無事にApachを起動できた。

早速ブラウザからアクセスしてみるとphpinfo();は実行されずにソースファイル が直接見えてしまった。これは.php拡張子のファイルをどうするか設定去れてい ないためだと思われるので/etc/httpd/conf/httpd.conf に設定を追加する。

<IfModule mod_php5.c>
  AddType application/x-httpd-php .php
</IfModule>
以上でphpの設定は終了。ブラウザから下記アドレスにアクセスするとphpの情報が 見ることができる。 http://pw008.st.ie.u-ryukyu.ac.jp/~oracle/test.php

以上で実験のための環境構築は終わりである。最後に注意点としてOracleで使っ ているリスナーを止めないでrebootするとSQL*PLUSでデータベースにアクセスで きなくなってしまう。(実際、こいつの所為で多くの時間を使ってしまった。)の でPWをrebootするときは必ずsnrctl stopすることが大事。もしこれを忘れてし まった場合の対処法は管理者でSQL*PLUSにログインしstartupを行う。

$sqlplus "username/password as sysdba"
SQL > startup
以上
戻る     Level 1