そう言えば未だ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