はじめに
このドキュメントでは,MacOS X 10.10.4 Yosemite上に,Oracle 11g Clientを入手し,インストール,そしてSQL*PlusにてWindows上で動作するOracle Database 11g Express Editionに接続するまでの手順を実行する. なお,Oracleのクライアントを入手するためには,あらかじめOTN(Oracle Technology Network)の会員になっておく必要がある.OTN会員登録は無料.
Oracle Clientを入手する
以下のURLにアクセスする.Mac OS X (Intel x86)のページが表示される.
http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html
ライセンスに同意できたら,Accept License Agreementをチェックする.
チェック後,ダウンロードするライブラリを選択する.
32bit版にするか64bit版にするかを選択できるが,64bit版で良い.ちなみに,MacOS Xが古い場合は64bit版が動作しないことがあったらしい.そういうときは32bit版で良い.
ダウンロードモジュールをクリックするとOTNのログインページが表示される.(ログインしてない場合) ダウンロードしたファイルは次の通り.
ターミナル起動して,ダウンロードファイルの確認
Last login: Wed Apr 6 15:17:47 on ttys003 mba13:OracleClient ujpadmin$ cd ~/Downloads/OracleClient/ mba13:OracleClient ujpadmin$ ls -1 instantclient-basic-macos.x64-11.2.0.4.0.zip instantclient-jdbc-macos.x64-11.2.0.4.0.zip instantclient-sdk-macos.x64-11.2.0.4.0.zip instantclient-sqlplus-macos.x64-11.2.0.4.0.zip instantclient-tools-macos.x64-11.2.0.4.0.zip mba13:OracleClient ujpadmin$
Oracle Clientのインストール
zipファイルなので全て展開する. まずは,基本セットを展開.
mba13:OracleClient ujpadmin$ unzip instantclient-basic-macos.x64-11.2.0.4.0.zip Archive: instantclient-basic-macos.x64-11.2.0.4.0.zip inflating: instantclient_11_2/BASIC_README inflating: instantclient_11_2/adrci inflating: instantclient_11_2/genezi inflating: instantclient_11_2/libclntsh.dylib.11.1 inflating: instantclient_11_2/libnnz11.dylib inflating: instantclient_11_2/libocci.dylib.11.1 inflating: instantclient_11_2/libociei.dylib inflating: instantclient_11_2/libocijdbc11.dylib inflating: instantclient_11_2/ojdbc5.jar inflating: instantclient_11_2/ojdbc6.jar inflating: instantclient_11_2/uidrvci inflating: instantclient_11_2/xstreams.jar mba13:OracleClient ujpadmin$
次は,JDBCライブラリを展開.
mba13:OracleClient ujpadmin$ mba13:OracleClient ujpadmin$ unzip instantclient-jdbc-macos.x64-11.2.0.4.0.zip Archive: instantclient-jdbc-macos.x64-11.2.0.4.0.zip inflating: instantclient_11_2/JDBC_README inflating: instantclient_11_2/libheteroxa11.dylib inflating: instantclient_11_2/orai18n-mapping.jar inflating: instantclient_11_2/orai18n.jar mba13:OracleClient ujpadmin$
そしてSDKを展開.
mba13:OracleClient ujpadmin$ unzip instantclient-sdk-macos.x64-11.2.0.4.0.zip Archive: instantclient-sdk-macos.x64-11.2.0.4.0.zip creating: instantclient_11_2/sdk/ creating: instantclient_11_2/sdk/demo/ inflating: instantclient_11_2/sdk/demo/cdemo81.c inflating: instantclient_11_2/sdk/demo/demo.mk inflating: instantclient_11_2/sdk/demo/occidemo.sql inflating: instantclient_11_2/sdk/demo/occidemod.sql inflating: instantclient_11_2/sdk/demo/occidml.cpp inflating: instantclient_11_2/sdk/demo/occiobj.cpp inflating: instantclient_11_2/sdk/demo/occiobj.typ creating: instantclient_11_2/sdk/include/ inflating: instantclient_11_2/sdk/include/ldap.h inflating: instantclient_11_2/sdk/include/nzerror.h inflating: instantclient_11_2/sdk/include/nzt.h inflating: instantclient_11_2/sdk/include/occi.h inflating: instantclient_11_2/sdk/include/occiAQ.h inflating: instantclient_11_2/sdk/include/occiCommon.h inflating: instantclient_11_2/sdk/include/occiControl.h inflating: instantclient_11_2/sdk/include/occiData.h inflating: instantclient_11_2/sdk/include/occiObjects.h inflating: instantclient_11_2/sdk/include/oci.h inflating: instantclient_11_2/sdk/include/oci1.h inflating: instantclient_11_2/sdk/include/oci8dp.h inflating: instantclient_11_2/sdk/include/ociap.h inflating: instantclient_11_2/sdk/include/ociapr.h inflating: instantclient_11_2/sdk/include/ocidef.h inflating: instantclient_11_2/sdk/include/ocidem.h inflating: instantclient_11_2/sdk/include/ocidfn.h inflating: instantclient_11_2/sdk/include/ociextp.h inflating: instantclient_11_2/sdk/include/ocikpr.h inflating: instantclient_11_2/sdk/include/ocixmldb.h inflating: instantclient_11_2/sdk/include/ocixstream.h inflating: instantclient_11_2/sdk/include/odci.h inflating: instantclient_11_2/sdk/include/oratypes.h inflating: instantclient_11_2/sdk/include/ori.h inflating: instantclient_11_2/sdk/include/orid.h inflating: instantclient_11_2/sdk/include/orl.h inflating: instantclient_11_2/sdk/include/oro.h inflating: instantclient_11_2/sdk/include/ort.h inflating: instantclient_11_2/sdk/include/xa.h inflating: instantclient_11_2/sdk/ott extracting: instantclient_11_2/sdk/ottclasses.zip inflating: instantclient_11_2/sdk/SDK_README mba13:OracleClient ujpadmin$
コマンドツールのSQL*Plusを展開.
mba13:OracleClient ujpadmin$ unzip instantclient-sqlplus-macos.x64-11.2.0.4.0.zip Archive: instantclient-sqlplus-macos.x64-11.2.0.4.0.zip inflating: instantclient_11_2/SQLPLUS_README inflating: instantclient_11_2/glogin.sql inflating: instantclient_11_2/libsqlplus.dylib inflating: instantclient_11_2/libsqlplusic.dylib inflating: instantclient_11_2/sqlplus mba13:OracleClient ujpadmin$
最後に,ツールを展開.
mba13:OracleClient ujpadmin$ unzip instantclient-tools-macos.x64-11.2.0.4.0.zip Archive: instantclient-tools-macos.x64-11.2.0.4.0.zip inflating: instantclient_11_2/TOOLS_README inflating: instantclient_11_2/wrc mba13:OracleClient ujpadmin$
wrcというのは,リプレイクライアントを設定する模様. すべてのファイルを確認してみる.
mba13:instantclient_11_2 ujpadmin$ ls -la total 391232 drwxr-xr-x@ 26 ujpadmin staff 884 4 6 15:21 . drwxr-xr-x 9 ujpadmin staff 306 4 6 15:19 .. -rw-rw-rw-@ 1 ujpadmin staff 484 4 11 2014 BASIC_README -rw-rw-rw-@ 1 ujpadmin staff 482 4 11 2014 JDBC_README -rw-rw-rw-@ 1 ujpadmin staff 488 4 11 2014 SQLPLUS_README -rw-rw-rw-@ 1 ujpadmin staff 484 4 11 2014 TOOLS_README -rwxrwxrwx@ 1 ujpadmin staff 14348 4 11 2014 adrci -rwxrwxrwx@ 1 ujpadmin staff 40768 4 11 2014 genezi -r--r--r--@ 1 ujpadmin staff 368 4 11 2011 glogin.sql -r-xr-xr-x@ 1 ujpadmin staff 66167420 2 7 2014 libclntsh.dylib.11.1 -r-xr-xr-x@ 1 ujpadmin staff 13744 1 7 2014 libheteroxa11.dylib -r-xr-xr-x@ 1 ujpadmin staff 2817872 1 30 2014 libnnz11.dylib -r-xr-xr-x@ 1 ujpadmin staff 1897664 2 7 2014 libocci.dylib.11.1 -rwxrwxrwx@ 1 ujpadmin staff 118707148 4 11 2014 libociei.dylib -r-xr-xr-x@ 1 ujpadmin staff 159004 1 7 2014 libocijdbc11.dylib -r-xr-xr-x@ 1 ujpadmin staff 1365444 1 28 2014 libsqlplus.dylib -r-xr-xr-x@ 1 ujpadmin staff 1504252 1 8 2014 libsqlplusic.dylib -r--r--r--@ 1 ujpadmin staff 2091135 1 29 2014 ojdbc5.jar -r--r--r--@ 1 ujpadmin staff 2739616 1 29 2014 ojdbc6.jar -r--r--r--@ 1 ujpadmin staff 82856 8 24 2013 orai18n-mapping.jar -r--r--r--@ 1 ujpadmin staff 1655734 8 24 2013 orai18n.jar drwxrwxrwx@ 7 ujpadmin staff 238 4 11 2014 sdk -r-xr-xr-x@ 1 ujpadmin staff 8744 1 28 2014 sqlplus -rwxrwxrwx@ 1 ujpadmin staff 162380 4 11 2014 uidrvci -rwxrwxrwx@ 1 ujpadmin staff 754728 4 11 2014 wrc -r--r--r--@ 1 ujpadmin staff 66779 1 8 2014 xstreams.jar mba13:instantclient_11_2 ujpadmin$
環境変数設定を行う
Oracleを使うためには,ライブラリへのパスなどを設定する必要がある..bashrcファイルに記載する.MacOS Xをインストールした直後だと,.bashrcファイルは存在してないので,新たに作成することになる. 記載した中身は次の通り.
mba13:OracleClient ujpadmin$ vi ~/.bashrc mba13:OracleClient ujpadmin$ cat ~/.bashrc export ORACLE_HOME=/Users/ujpadmin/Downloads/OracleClient/instantclient_11_2 export PATH=$ORACLE_HOME:$PATH export DYLD_LIBRARY_PATH=$ORACLE_HOME export NLS_LANG=Japanese_Japan.AL32UTF8 mba13:OracleClient ujpadmin$
環境変数が設定されて無いことを確認する.
mba13:instantclient_11_2 ujpadmin$ echo $ORACLE_HOME;echo $DYLD_LIBRARY_PATH;echo $NLS_LANG;env|grep ORACLE mba13:instantclient_11_2 ujpadmin$
実行して環境変数が設定されていることを確認する.
mba13:OracleClient ujpadmin$ source ~/.bashrc mba13:OracleClient ujpadmin$ echo $ORACLE_HOME;echo $DYLD_LIBRARY_PATH;echo $NLS_LANG;env|grep ORACLE /Users/ujpadmin/Downloads/OracleClient/instantclient_11_2 /Users/ujpadmin/Downloads/OracleClient/instantclient_11_2
Japanese_Japan.AL32UTF8
ORACLE_HOME=/Users/ujpadmin/Downloads/OracleClient/instantclient_11_2 mba13:OracleClient ujpadmin$
設定されていることが確認できた.
sqlplusを実行してもエラーになる件を確認して対処する
Oracleクライアントを配置したディレクトリに移動して現在位置の確認.
mba13: OracleClient ujpadmin$ cd instantclient_11_2 mba13:instantclient_11_2 ujpadmin$ pwd /Users/ujpadmin/Downloads/OracleClient/instantclient_11_2 mba13:instantclient_11_2 ujpadmin$
SQL*Plusを実行する.
mba13:OracleClient ujpadmin$ ./sqlplus system/manager@192.168.0.35
次のようなダイアログが表示されてしまう.
実行しようとしたSQL*Plusが,/Applicationに無いので警告が出ている.インストールしたファイルを/Application配下に移動する. 再度,現在位置の確認.
mba13:instantclient_11_2 ujpadmin$ pwd /Users/ujpadmin/Downloads/OracleClient/instantclient_11_2 mba13:instantclient_11_2 ujpadmin$
移動元のディレクトリとファイルを確認.
mba13:instantclient_11_2 ujpadmin$ cd .. mba13:OracleClient ujpadmin$ ls instantclient_11_2/ BASIC_README glogin.sql libocijdbc11.dylib orai18n.jar JDBC_README libclntsh.dylib.11.1 libsqlplus.dylib sdk SQLPLUS_README libheteroxa11.dylib libsqlplusic.dylib sqlplus TOOLS_README libnnz11.dylib ojdbc5.jar uidrvci adrci libocci.dylib.11.1 ojdbc6.jar wrc genezi libociei.dylib orai18n-mapping.jar xstreams.jar mba13:OracleClient ujpadmin$
移動先に存在して無いことを確認.
mba13:instantclient_11_2 ujpadmin$ ls -la /Applications/oracleclient ls: /Applications/oracleclient: No such file or directory mba13:instantclient_11_2 ujpadmin$
ディレクトリを移動する.
mba13:OracleClient ujpadmin$ sudo mv ./instantclient_11_2/ /Applications/oracleclient Password:■■■■■■■■■■■■■■■ mba13:OracleClient ujpadmin$
作業ディレクトリを移動する.
mba13:OracleClient ujpadmin$ cd /Applications/oracleclient/ mba13:oracleclient ujpadmin$
カレントディレクトリを確認.
mba13:oracleclient ujpadmin$ pwd /Applications/oracleclient mba13:oracleclient ujpadmin$
ファイルを確認.
mba13:oracleclient ujpadmin$ ls BASIC_README glogin.sql libocijdbc11.dylib orai18n.jar JDBC_README libclntsh.dylib.11.1 libsqlplus.dylib sdk SQLPLUS_README libheteroxa11.dylib libsqlplusic.dylib sqlplus TOOLS_README libnnz11.dylib ojdbc5.jar uidrvci adrci libocci.dylib.11.1 ojdbc6.jar wrc genezi libociei.dylib orai18n-mapping.jar xstreams.jar mba13:oracleclient ujpadmin$
パスが変わったので,環境変数を変更.
mba13:oracleclient ujpadmin$ vi ~/.bashrc mba13:oracleclient ujpadmin$ cat ~/.bashrc export ORACLE_HOME=/Applications/oracleclient export PATH=$ORACLE_HOME:$PATH export DYLD_LIBRARY_PATH=/Applications/oracleclient export NLS_LANG=Japanese_Japan.AL32UTF8 mba13:oracleclient ujpadmin$
環境変数の変更を反映し,確認する.
mba13:oracleclient ujpadmin$ source ~/.bashrc mba13:oracleclient ujpadmin$ echo $ORACLE_HOME;echo $DYLD_LIBRARY_PATH;echo $NLS_LANG;env|grep ORACLE /Applications/oracleclient /Applications/oracleclient Japanese_Japan.AL32UTF8 ORACLE_HOME=/Applications/oracleclient mba13:oracleclient ujpadmin$
これで環境設定は完了.
SQL*PlusでOracleに接続してみる
Oracleに接続する.
mba13:oracleclient ujpadmin$ ./sqlplus system/manager@192.168.0.35
SQL*Plus: Release 11.2.0.4.0 Production on 水 4月 6 16:07:11 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production に接続されました。 SQL>
接続を切る.
SQL> discon Oracle Database 11g Express Edition Release 11.2.0.2.0 - Productionとの接続が切断されました。 SQL> quit mba13:oracleclient ujpadmin$
これで終了.