Oracle 11g R2 で利用する際の前準備
ここでは CentOS 5.4 に Oracle 11g R2 をインストールし、1台のサーバ上で Movable Type Advanced が動作することを前提に解説します。また、以下の内容で Oracle のインストールが完了しているものとします。
- Oracle をインストールするサーバには、最低 1GB のメモリーと、2GB(メモリーの倍量)の swap が必要になります。
- Oracle をインストールするユーザーとして oracle を作成し、oracle ユーザーでインストールを行います。
- Oracle のインストール時に DBCA(Database Configuration Assistant)が起動しデータベースが作成されますが、この際 [10/4 : 初期化パラメータ] の [キャラクタセット] で、[Unicode(AL32UTF8)] を選択します。
- 初期に作られるデータベースの SID はデフォルトの "ORCL" のままとします。
Oracle 利用の前準備
Oracle が既に起動していて設定済みの場合は、『表領域を作成する』に進んでください。
- 環境変数を設定する
この作業は root ユーザー、oracle ユーザーで行ってください。".bashrc"に追加します。環境により内容は異なりますので、適宜書き換えてください。 - .bashrc 変更の適用。root ユーザー、oracle ユーザーの両方で以下のコマンドを実行する
export ORACLE_HOME="/home/oracle/app/oracle/product/11.2.0/dbhome_1" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ORACLE_HOME/lib" export PATH="$PATH:$ORACLE_HOME/bin"
root # source /root/.bashrc oracle $ source /home/oracle/.bashrc
前準備が終了した場合は、『表領域を作成する』に進んでください。
正しく動かない時は
Oracle 11g R2 を利用する際に幾つかはまるポイントがあります。うまく動かない時は、以下の情報を参考にしてください。
環境変数が正しくセットアップされていない
ORACLE_HOME や LD_LIBRARY_PATH に間違った値を設定していると正しく動作しません。
.bashrc に書き込んだ後、source コマンドを使っていない
.bashrc に環境変数を書き込んだだけでは反映されないので、source コマンドを利用して設定を有効にして下さい。
データベース名に "ORCL" ではなく、"mta" を記入している
データベース名と表領域名は違います。たとえば Melody ユーザーが ORCL にアクセスすると、自動的にデフォルト表領域の MTA を参照します。
SQL*Plus で接続ができない
ID と SID は大文字、小文字を区別しませんが、PASSWORD は区別をします。
ID、PASSWORD、SID を正しく記入しても接続できない場合は、もう一度表領域とユーザーの設定を見直して下さい。
SQL*Plus で接続できるのに、mt-wizard.cgi で接続ができない
いくつか問題が考えられます。
- tnsnames.ora のパーミッションが 0644 になっていない可能性があります。
- /home/oracle のパーミッションが 0755 になっていない可能性があります。
- DBD::Oracle が正しくインストールされていない可能性があります。改めてインストールをしてみて下さい。
- Apache への環境設定が正しく設定されていない。パスなどもう一度見直してください。
tnsnames.ora と listener.ora ファイルが不整合を起こしている
tnsnames.ora と listener.ora は対になるファイルで、クライアントとサーバーの情報が書き込まれています。
これらのファイルが無かったり、値が間違っている場合は正しく接続できません。オンラインドキュメントや書籍を参考にして正しい値を設定してください。