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ヴァージョンの動作環境は
OS | MacOSX 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に追加する。
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