こんにちは
支援屋@高橋です

今回も前回から引き続き「オープンソースERPを...」テクニカルインストレーション編の4回目 今回は

4.データベースを入れる
です。長いです。でもやってることは大したことないです。データベースソフトを入れるだけですから

データベースはAdempiereのインストールマニュアルによると
Adempiere ERPはWindowsとLinuxで動作させることができます。データベースシステムは、Oracleまたは、PostgreSQLが使用可能です。
とあるのでオラクルかPostgreSQLになるわけですが、残念ながら支援屋@高橋はどちらのデータベースも素人なのでした。ここで頓挫か?
しかし支援屋はプロフェッショナルな技術者のネットワークコミュニティ!!ごっついオラクル使いがメンバーにいるのであった。なのでここは迷わずオラクルを採用。オラクルもOracle Database 10g XE無料配布へ - HTML DBも同梱、小規模組織での利用にらしいのでテスト環境にはうってじゃないですか。なのでオラクルでGoです。
さてオラクルの導入作業ですが、なるべく支援屋002の力を借りずに(←結局借りましたが)すすめるべく以下を参照しながら導入していきます。

この情報だけで十分導入できますがそれではアレなのでほんの少しだけ親切めに以下に手順を書いていきます。
    作業フロー
  • 1.下準備
  • 2.オラクルXEのダウンロードとインストール
  • 3.オラクルの構成
  • 4。動作確認

    1.下準備
    oracle-xeのインストーラを正常動作させるためにswapファイルの設定とlibaioってソフトを入れておく必要があるようです。なぜ必要かって?俺にきくなよ〜
  • 1-1.swapファイルを設定する?用語?

    1GBのスワップファイルを必要とするようです。スワップを設定せずに強引にオラクルインストールを進めるていくとインストーラに怒られます。そのさい適切なサイズも教えてくれるのでそれでわかります。ただしインストールに適切なサイズなのか運用に適切なサイズなのかは謎ですが。
    で ここのページにまんま書いてあります→やましーウィキ
    1. スワップファイルの作成と割り当て

    $ sudo mkdir /swap
    $ sudo dd if=/dev/zero of=/swap/swap bs=1024 count=1048576
    $ sudo chmod 600 /swap/swap
    $ sudo mkswap /swap/swap 1048576
    $ sudo swapon /swap/swap


    2. 起動時に有効にする設定
    /etc/fstab の最終行の下に下記の1行を追加。

    /swap/swap swap swap defaults 0 0

    なぜスワップ領域を必要とするのか?どのようなアプローチで領域を計算すればいのかも知りたくてググりまくったのですが、オラクル星系宇宙人語で書かれてあるのしか見つからなかったのでよくわかりませんでした。使っていけばそのうちわかるはずですのでその時にでも別途解説記事を書きましょう。

  • 1-2.Libaioを入れる
    謎のソフトLibaio(?用語?をインストール前に入れる必要があるようです。ここはこだわりなく素直に入れときましょう。入れ方はSynapticパッケージマネージャを使いましょう。GNOME?用語?のメニューからシステム→システム管理→Synapticパッケージマネージャで起動します。検索窓に"libaio"くらい文字列を入れると"libaio1"がリスト表示されるのでこれを選択 摘要ボタンを押すと自動的にインストールできます。インストール後のパッケージマネージャーの画面はこのようになります。↓
    Synapticパッケージマネージャ_libaioクリックで拡大
    これが必要な理由って カーネルパラメータをオラクルインストーラがいじくり倒すからなのか?謎だ。








    3.オラクルXEのダウンロードとインストール
    オラクルxeをオラクルxeダウンロードページからダウンロードしましょう。
    oracle-xe-download-1クリックで拡大
    今回OSはubuntuなので Oracle Database 10g Express Edition for Linux x86を選択 ↓のページになったら
    oracle-xe-download-3クリックで拡大

    Acceptを選択↓
    oracle-xe-download-2クリックで拡大
    oracle-xe-universal_10.2.0.1-1.0_i386.deb (262,440,214 bytes) (cksum 3404538446) *Debian package を選択しましょう。ubuntuのダウンロードマネージャー?がダウンロード後処理を聞いてきます。
    ダウンロードマネージャクリックで拡大
    プログラムで開く Gdebiパッケージインストーラ を選択してOKボタンを押す。ダウンロードが完了するとパッケージインストーラが自動的に起動されるので「インストールする」ボタンを押せばそのうちインストールも完了します。簡単!これはubuntuはじめ各オープンソースソフトウェアがすごいんだろうなー。









    3.オラクルの構成

    インストールが完了したらオラクルを構成します。端末の出番です。端末からコマンド入れて操作します。なんかlinux使いっぽいです。ワクワクします。(あ!swap設定で使ったか)端末をGnomeから起動するには「アプリケーション」→「アクセサリ」→「端末」を選択していきます。端末を開始したときのユーザーは最初にubuntuにログインしたときのユーザーになります。必要に応じてrootに切り替えて(ローカル通称 神になる)操作することになります。root権限に切り替えるには
    sudo コマンド 一時的に神になってコマンドを発行
    su exitで抜けるまで神になれる
    だそうです。 
  • 3-1.オラクルコンフィギュアによる構成
    上のリンク先に適切なコマンドと解説があるのでそのまんま引用させてもらいます。
    # /etc/init.d/oracle-xe configure

    Oracle Database 10g Express Edtion Configuration

    Specify the HTTP port that will be used for Oracle Application Express [8080]:
    データベース管理を行うアプリケーションのHTTPポート番号
    Specify a port that will be used for the database listener [1521]:
    データベースリスナーのポート番号

    Specify a password to be used for database accounts.〜
    SYS・SYSTEMユーザーのパスワード

    Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:
    OS起動時にデータベースを開始するか

    ポート番号はすっぴんの環境であればデフォルトで問題ないと思います。すでに他のソフトでポートを使っている場合は変更する必要があるかもしれませんがそんな人はこの記事をここまで読むことはないでしょう。
  • 3-2.環境変数の設定の前処理
    はまりネタです。Adempiereの導入には必須です。以下また引用です。
    クライアント環境変数の設定

    /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

    上記のシェルを流せばよいのだが、下記のエラーを直さないと エラーがでる

    $ sudo vi /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh

    108行目あたり

    # Detertmine the LANGUAGE_TERRITORY part of NLS_LANG
    # we derive it from the current locale by inspecting the LC_ALL and
    # the LANG environment variable. Other LC_* environment variables
    # are not inspected.
    #
    if [ -n "$LC_ALL" ]; then
    locale=$LC_ALL
    elif [ -n "$LANG" ]; then
    locale=$LANG
    else
    locale=
    fi

    [が[[  ]が]]になってるのがまずいようです。すぐに修正されるかもしれませんので必要ないかもしれません。ubuntu以外でどうなのかも不明です。確かなことはコマンドラインから
    ./usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

    を叩いてエラーメッセージが表示されたら修正が必要。念のためenvってコマンドで叩いて環境変数がそれっぽくなっていたら正しく動作したってことじゃないかと思います。
    Adempiere導入で必須なのは
    sqlplus
    がコマンドとして実行できることですので直接コマンドラインからsqlplusと叩いて対話型sqlが起動できれば問題なさそうです。
  • 3-3.環境変数の設定
    ここもまたそのまま引用です。
    利用するユーザーの.bash_profileまたは.bashrcファイルに以下の行を追加します。
    . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

    Adempiereを導入するユーザープロフィールに必ず施しておくのが身のためです。suで神になった場合は直接上のコマンドを叩きましょう。

    4.動作確認
  • 4-1.コマンドで確認
    フツーのユーザーで端末ログインして
    sqlplusとたたく
    ユーザーとパスワードをコンフィギュレータで入れたものを入れるとSQLコマンドを叩けます。以下引用です
    SQL> select instance_name, status, version, edition from v$instance;

    INSTANCE_NAME STATUS VERSION EDITION
    ------------- ------ ---------- -------
    XE OPEN 10.2.0.1.0 XE

    オラクルが最初から持っているテーブルv$instanceをクエリした結果だと思います。ここまでできりゃ勝ったも同然!←フラグっぽい 以後使うことまかりならん!
  • オラクルAPEX?用語?による動作確認
    蛇足ですがGUIからもオラクルが動作していることを確認してみましょう。ここまで正常に導入できていればGnomeメニュー→アプリケーションタブにオラクル関連をメニューが追加されてます。
    ぐぁ!ばってんボタン押しちまったー!ここまで書いていながら...やはりあの言葉はフラグ立てなのか?
    ごめんなさい。取り乱しました。気を取り直して
    オラクルメニューの中に「データベースホームページを開く」てのがあるんでこれを選択 ログインして
    apex-loginクリックで拡大
    apex-main-menuクリックで拡大









    あとは煮るなり焼くなりお好きにどうぞ!
    これにてデータベースを入れる作業は完了です。




テクニカルインストレーション編 目次
我が本家サイトにも掲載しました。

支援屋ver2 インストールメモ