OracleクライアントをインストールせずにSQL*Plusを使う方法

同僚がLinuxからSQL*Plus使えるようにしてって言うから、「えぇー面倒くさー」と思いつつOracleクライアントを探してきてインストールしようとしたら・・・。なんと、いまはOracleクライアントをインストールしなくても(システムを汚さなくても)SQL*Plusを使ったり出来るらしい!知らんかった!これ↓
http://www.oracle.com/technology/global/jp/tech/oci/instantclient/instantclient.html

流れとしては、以下のファイルをダウンロードしてきて

  • basic.zip
  • sqlplus.zip

適当な場所に解凍して、環境変数を設定してsqlplusコマンドを実行するだけ!超簡単。そして、システム汚れない。
ちなみに詳しい設定方法は以下のPDF参照。
http://otndnld.oracle.co.jp/software/tech/oci/instantclient/pdf/Instant_Client_SetUp.pdf

1. ファイルをダウンロードしてきて解凍

/home/testに「basic.zip」「sqlplus.zip」を置いてunzip。すると「instantclient_11_1」っていうフォルダに必要なものが全部入る。

$ unzip basic.zip
Archive:  basic.zip
  inflating: instantclient_11_1/BASIC_README
  inflating: instantclient_11_1/adrci
  inflating: instantclient_11_1/genezi
  inflating: instantclient_11_1/libclntsh.so.11.1
  inflating: instantclient_11_1/libnnz11.so
  inflating: instantclient_11_1/libocci.so.11.1
  inflating: instantclient_11_1/libociei.so
  inflating: instantclient_11_1/libocijdbc11.so
  inflating: instantclient_11_1/ojdbc5.jar
  inflating: instantclient_11_1/ojdbc6.jar
  
$ unzip sqlplus.zip
Archive:  sqlplus.zip
  inflating: instantclient_11_1/SQLPLUS_README
  inflating: instantclient_11_1/glogin.sql
  inflating: instantclient_11_1/libsqlplus.so
  inflating: instantclient_11_1/libsqlplusic.so
  inflating: instantclient_11_1/sqlplus

2. sqlplusを簡単に実行するためのスクリプトを書く

/home/testにsqlplus.shを作成
普通に.bashrcとかに環境変数書いておいてもいいけど、こうしとくとさらにシステムが汚れないので。

#!/bin/bash
LD_LIBRARY_PATH=/home/test/instantclient_11_1
PATH=$LD_LIBRARY_PATH:$PATH
NLS_LANG=JAPANESE_JAPAN.AL32UTF8
export LD_LIBRARY_PATH PATH NLS_LANG

# sqlplus ユーザ名/パスワード@ホスト名:1521/orcl
sqlplus scott/tiger@192.168.0.20:1521/orcl

Linuxの場合はLD_LIBRARY_PATHとPATHにinstantclient_11_1(今回は/home/test/instantclient_11_1)の場所を指定しておく必要があるみたい。
NLS_LANGはOracleをインストールした環境に合わせるといいらしく、今回のOracleLinuxにインストールされていたので、「JAPANESE_JAPAN.AL32UTF8」となっていた。Windowsの場合はきっと「JAPANESE_JAPAN.JA16SJIS」なんだろう。

3. sqlplus.shコマンドを実行

実行権限をつけて・・

$ chmod +x sqlplus.sh

実行!

$ ./sqlplus.sh

SQL*Plus: Release 11.1.0.6.0 - Production on 火 7月 14 13:03:20 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
に接続されました。
SQL>

接続されたらしい!

Windows版は試してないけど似たようなもんだと思われる。
今のところちょっとSQL*Plus使いたいんだけどって時に使うような場合しか思い浮かばないんだけど、使えると便利。
Windowsに入れてObjectBrowserとか使えたりするんだろうか。それは、無理かな・・。