perlにおけるDBD for Oracleのインストールについて

4337 ワード

perlにおけるDBD for Oracleのインストールについて
本文は抜粋ですhttp://www.bitscn.com/pdb/oracle/200904/160495.html  PERLはデータベースに対するサポートが広くて完全であり、ほとんどの主流データベースはそれに対応するPERLモジュールによってサポートされている.さまざまなデータベースで移植できるPERLアプリケーションを開発するために、DBIモジュールが生まれました.このモジュールを使って、アプリケーションは同じインターフェースを使うだけで、異なるデータベースを操作できます.本当に移植できます.もちろん、このDBIにもそれぞれのスイッチが用意されています.各データベースは単独で作成できます.本編はこの点には触れません.    DBIは抽象層であり、異なるデータベースをサポートするためには、DBIの下で異なるデータベースに対するドライバを作成する必要があります.MySqlにはDBD:Mysqlがありますが、OracleにはDBD:Oracleがあります.その中のDBDはDataBase Driverの略です.    したがって、全体のアーキテクチャは以下の通りである.    アプリ->DBI->DBD->DB    異なるタイプのデータベースを接続するには、アプリケーションのホストにDBIと対応するDBDモジュールを配置し、DBIの設置配置については、この文を参照してください.私はホイールを新たに作りません.インストール順序はDBIを先に入れて、DBD:Oracleを再インストールします.DBD:OracleモジュールはOracleの公式開発ではなく、Pythian Groupという有名なDBAコンサルティング会社によって開発されました.現在の最新バージョンは1.22です.ホームページはhttp://www.pythian.com/news/dbd-oracle読者はこのモジュールに関する最新の動きを見つけることができます.    次にDBDの取り付け方法を説明します.Oracleの手順は以下の通りです.参考にしてください.    DBD:OracleモジュールはOracle Databaseがあるホストにインストールできます.Oracle Databaseがないホストにも装着できます.後者はOracle Instant Cientをインストールしてリモートデータベース接続を行う必要があります.ここでは第二の構成だけに注目します.即ちDBD:OracleはInstant Cientを通じてデータベースにアクセスします.    第一歩:Oracle Instant Clientをダウンロードする    Oracle Instant Cientのホームページはhttp://www.oracle.com/technology/tech/oci/instantclient/index.html  ; Oracle社の一貫したやり方を受けて、同じソフトウェアは構成によって異なるダウンロード可能なカバンに分けられて、ユーザーに自分の需要によって、最適な部分を見つけてダウンロードすることができます.DBDの設定に成功するには、Oracle、Baic、SQL*Plus、SDKの3つの構成が必要です.読者はこの3つのパッケージをダウンロードして同じディレクトリに置く必要があります.以下のように、私がダウンロードした3つのパッケージが必要です.バージョンは現在の最新の11.1.0.7です.    shawn@shawn-laptop:/tmp/InstantClient$ls    instantclient-baic-linux 32-1.1.0.70.zip    instantclient-sdk-linux 32-1.1.0.70.zip    instantclient-sqlplus-linux 32-1.1.0.70.zip    unzipコマンドを使用して、現在のディレクトリでこの三つのzipファイルを解凍すると、instantclient_が自動的に生成されます.11_1ディレクトリ、この中には以上の3つのカバンの中のすべてのファイルが含まれています.解凍後のディレクトリ構造:    shawn@shawn-laptop:/tmp/InstantClient$ls    instantclient_11_1    instantclient-baic-linux 32-1.1.0.70.zip    instantclient-sdk-linux 32-1.1.0.70.zip    instantclient-sqlplus-linux 32-1.1.0.70.zip    この時この三つのzipファイルはもう役に立たないです.削除してもいいです.バックアップして後で再利用してもいいです.    第二ステップ:DBDをダウンロードする:Oracle    この時、私達はPERLの持参するCPANを使って自動でインストールすることができます.このモジュールを手動でダウンロードすることもできます.DBD:Oracleのsearch.cpan.orgでのダウンロードアドレスはhttp://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.22.tar.gzダウンロードした後に適当にあるディレクトリに置いて、ここで私は/tmpに置いて、それから解凍して、次のようにします. 
shawn@shawn-laptop:/tmp$tarzxf DBD-Oracle-1.22.tar.gz
DBD-Oracle-1.22
shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$ls
Changes       Makefile.PL     oraperl.ph          README.login.txt
dbdimp.c      MANIFEST        Oraperl.pm          README.longs.txt
[.. ..]
     STEP 3:ORACLE_を配置するホーム環境変数    Oracle Databaseソフトをインストールしたら、これはORACLEです.ホームとはoracleをインストールする際の設定値です.Instant Cientのみをインストールする場合、この値は第一歩のinstant client_に設定されます.11_1ディレクトリの絶対パスは以下の通りです.    shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$export ORACLE_HOME=/tmp/InstantCient/instantclient_11_1shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$echo$ORACLE_HOME/tmp/InstantCient/instantclient_11_1    ステップ4:コンパイルDBD:Oracleモジュール    まず、PERLのMakefile.PLを用いてmakefileを生成する. 
shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$perl Makefile.PL
Using DBI 1.607 (for perl 5.008008 on i486-linux-gnu-thread-multi)
installed in /usr/local/lib/perl/5.8.8/auto/DBI/
Configuring DBD::Oracle for perl 5.008008 on linux (i486-linux-gnu-thread-multi)
Remember to actually*READ*the README file!Especially if You have any problems.Installing on a linux,Ver儖2.6 Using Oracle in/tmp/InstantClint/instantclient_11_1 DEFINE_SQLPLUCS_RELEASE=「110100000」(CHAR)Oracle version 11.1.0.7(11.1)Looks like an Instant Cient installation,okay[.部分画面出力を省略します.]
     実行make 
shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$make
cp Oracle.pm blib/lib/DBD/Oracle.pm
cp oraperl.ph blib/lib/oraperl.ph
cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
I/Driver.xst > Oracle.xsi
[.. ..]
    次にrootユーザmake installに切り替えます.

shawn@shawn-laptop:/tmp/DBD-Oracle-1.22$su
Password:
root@shawn-laptop:/tmp/DBD-Oracle-1.22#make install
[.. ..]

    これでDBD::Oracleの設定が完了しました.このモジュールを使ってOracleに接続して対応する操作ができます.