Mac OSXに64ビット版sqlplus(11.2)をインストールしてAmazon RDS for Oracleに接続

cloudpackエバンジェリストの吉田真吾@yoshidashingo)です。

OSX用Oracle Instant Client(Version 11.2.0.4.0)

Instant Client 10.2の頃は64ビット版は使えなかった

だいぶ前に以下の記事で書いたとおり、10.2の頃は64-bit版を入れて使おうとすると「segmentation fault:11」となり起動できなかったんですね。

Instant Client 11.2は使えるか?

今回は11.2の64ビット版をインストールして、利用可能か確認してみます。

上記リンクから以下をダウンロード

  • instantclient-basic-macos.x64-11.2.0.4.0.zip
  • instantclient-jdbc-macos.x64-11.2.0.4.0.zip
  • instantclient-sqlplus-macos.x64-11.2.0.4.0.zip
  • instantclient-sdk-macos.x64-11.2.0.4.0.zip

解凍

$ mkdir -p ~/bin/sqlplus/
$ unzip ~/Downloads/instantclient-basic-macos.x64-11.2.0.4.0.zip -d ~/bin/sqlplus/
$ unzip ~/Downloads/instantclient-jdbc-macos.x64-11.2.0.4.0.zip -d ~/bin/sqlplus/
$ unzip ~/Downloads/instantclient-sqlplus-macos.x64-11.2.0.4.0.zip -d ~/bin/sqlplus/
$ unzip ~/Downloads/instantclient-sdk-macos.x64-11.2.0.4.0.zip -d ~/bin/sqlplus/

環境変数を設定

$ vim ~/.bash_profile
  • 以下を追記

export ORACLE_HOME=~/bin/sqlplus/instantclient_11_2
export PATH=$ORACLE_HOME:$PATH
export DYLD_LIBRARY_PATH=~/bin/sqlplus/instantclient_11_2

  • 反映
$ source ~/.bash_profile

 ※sourceコマンドがなかったら新しいターミナルを起動する

RDS for Oracleに接続

形式:
sqlplus [Master User Name]/[Master User Password]@[Endpoint]:[Port]/[DB Name]

$ sqlplus awsuser/********@********.ap-northeast-1.rds.amazonaws.com:1521/ORCL

(中略)

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
(中略)

つながりました。