そう言えば未だMacbook Air にOracleクライアントをインスコしてなかった。

Linux機でいつもやっているから楽勝と舐めてかかってハマったのでちゃんとメモします。

それにしても、Mac用のOIC は まだ10.2なんですね・・・

ウチでも未だ9iが現役ですから別にイイですけど。

いくらシスアド、DBA、運用/構築/ネットワークSEなAdmin君界隈に Mac が全然浸透してないとは言え、Oracleはマカー軽視し過ぎじゃ無いですかね。

Oracle Masterと言う名の認定制度兼囲い込みコミュで数十万のエンジニアを囲い込んだのも今は昔。一事が万事と言います。こんな所にも企業姿勢は現れるんじゃないかな。

 


ダウンロードと解凍

OracleOTN(US) にサインインする。JPじゃ無いです。

OracleOTN(US)のOracle Instant Client ダウンロード のページへ

以下のファイルをダウンロードします。

注意 x64(64ビット版)ではなく、x86(32ビット版)の方です!!

instantclient-basic-10.2.0.4.0-macosx-x86.zip

instantclient-sdk-10.2.0.4.0-macosx-x86.zip

instantclient-sqlplus-10.2.0.4.0-macosx-x86.zip

instantclient-jdbc-10.2.0.4.0-macosx-x86.zip

ファイルを解凍します。

unzip ./instantclient-basic-10.2.0.4.0-macosx-x86.zip

unzip ./instantclient-jdbc-10.2.0.4.0-macosx-x86.zip

unzip ./instantclient-sdk-10.2.0.4.0-macosx-x86.zip

unzip ./instantclient-sqlplus-10.2.0.4.0-macosx-x86.zip

 


インストールと設定

解凍したディレクトリ移動し、シンボリックリンクを作成します。

mv instantclient_10_2 /usr/local/oracle

cd /usr/local/oracle/

ln -s ./libclntsh.dylib.10.1 ./libclntsh.dylib

ln -s ./libheteroxa10.dylib ./libheteroxa.dylib

ln -s ./libheteroxa10.jnilib ./libheteroxa.jnilib

ln -s ./libnnz10.dylib ./libnnz.dylib

ln -s ./libocci.dylib.10.1 ./libocci.dylib

ln -s ./libocijdbc10.dylib ./libocijdbc.dylib

ln -s ./libocijdbc10.jnilib ./libocijdbc.jnilib

ライブラリ・ローディング・パスなどの環境変数をセットします。

vi ~/.bash_profile

————————-

# for oracle instant client 2012-12-13

export ORACLE_HOME=/usr/local/oracle

export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

export PATH=$PATH:/usr/local/oracle

export NLS_LANG=Japanese_Japan.AL32UTF8

export TNS_ADMIN=$ORACLE_HOME/network/admin/tnsnames.ora

————————-

LD_LIBRARY_PATHでは無く、DYLD_LIBRARY_PATHです!!

※2012/12/20追記 su – するたびにイチイチ怒られる様になりました。なので、今はDYLD_LIBRARY_PATH へのexportは必要な時だけにしてます。

一応確認しときます。

source ~/.bash_profile

printenv DYLD_LIBRARY_PATH

printenv ORACLE_HOME

printenv PATH

 


接続する

tnsnames.ora を自作しておきます。

mkdir -p /usr/local/oracle/network/admin/

vi /usr/local/oracle/network/admin/tnsnames.ora

—————————

HOGE =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = hoge)

)

)

—————————

Oracleに接続します

sqlplus user/pass@HOGE

落ち着いてやれば難しくないんですけど、Linux とかの先入観とかtypoとか色々あって、結構時間かかりました。

これからはオラ、 Mac からも オラクル!

 


参考にさせて頂いたサイト

Instant Client ダウンロード for Mac OS X (Intel x86)

sqlplus をインストール – yoshidashingo

Mac OS X LionにOracle instantclientを入れる – いっぽんの猟銃のむこうに (DAIZOじいさんとGun)

Oracle Instantclient Mac OS をインストールする/X 環境変数を設定せず?

Mac OS X 10.6にsqlplusをインストールする – BLOG.IK.AM

HOW-TO: Install SqlPlus and the Oracle Client v10.2 on Mac OS X Leopard 10.5.4 | Danilo Vizzarro

OTN Discussion Forums : can I install Oracle client on Mac os X …

Instant Client downloads for Mac OS X (Intel x86)

Mac OSX の dyld: Library not loaded を回避する – Windows 2000 Blog