Gentooに Oracle Clientをインストールする
Oracleアプリケーションを Javaで開発する分には、大抵 Type4(thin)ドライバで何とかなるのでネイティブの Oracle Clientを入れる必要がないのだが、ネイティブアプリケーションや Railsから Oracleにアクセスしたい場合どうしても Oracle Clientは必要となる。
Gentooの Portageには Oracle Instant Client があるので、emergeですぐにインストール出来る・・・といいたいところだが、プロプライエタリなソフトウェアなのでバイナリを Oracleのサイトからダウンロードして /usr/portage/distfiles に配置してやる必要がある。
# emerge oracle-instantclient-sqlplus
それらのファイルを配置せず上記 emergeコマンドを実行すると、入手先やファイル名などを指示するメッセージが出力され emergeが一度停止するので、言われたとおりのファイルを入手・配置して再度 emergeをする。
ORACLE_HOMEの設定は自動的に行われるので、emergeが済んだらすぐに SQL*Plusを使ってテストが出来る。
前にも書いたことがあるが、最近の Oracle Clientは tnsnames.oraにTNS名を定義しなくても直接 DBサーバへ接続できるのでそのあたりの手間は随分省けるようになった。
下記は mydbhost 上で動作している Oracle Expressに対して SQL*Plusで接続を行う例。
(なお Oracle Expressのインスタンスはサービス名が常に xe となっている)
$ sqlplus scott/tiger@mydbhost/xe
ただ、NLS_LANGの設定は自動的には行われないので、必要なら /etc/env.d/50oracle-instantclient-basic ファイルに
NLS_LANG=japanese_japan.utf8
などの設定を追加してやること。
Gentooの Portageには Oracle Instant Client があるので、emergeですぐにインストール出来る・・・といいたいところだが、プロプライエタリなソフトウェアなのでバイナリを Oracleのサイトからダウンロードして /usr/portage/distfiles に配置してやる必要がある。
# emerge oracle-instantclient-sqlplus
それらのファイルを配置せず上記 emergeコマンドを実行すると、入手先やファイル名などを指示するメッセージが出力され emergeが一度停止するので、言われたとおりのファイルを入手・配置して再度 emergeをする。
ORACLE_HOMEの設定は自動的に行われるので、emergeが済んだらすぐに SQL*Plusを使ってテストが出来る。
前にも書いたことがあるが、最近の Oracle Clientは tnsnames.oraにTNS名を定義しなくても直接 DBサーバへ接続できるのでそのあたりの手間は随分省けるようになった。
下記は mydbhost 上で動作している Oracle Expressに対して SQL*Plusで接続を行う例。
(なお Oracle Expressのインスタンスはサービス名が常に xe となっている)
$ sqlplus scott/tiger@mydbhost/xe
ただ、NLS_LANGの設定は自動的には行われないので、必要なら /etc/env.d/50oracle-instantclient-basic ファイルに
NLS_LANG=japanese_japan.utf8
などの設定を追加してやること。

0 件のコメント:
コメントを投稿
<< ホーム