2013/12/22

OS X MavericksにOracle Instant Clientをインストールする

OS X Lion にアップグレードして Instant Client 10.2.0.4 が利用できなくなってからしばらく経ち、結局何にも困らないことに気づきましたが、せっかく正式対応版が出たので遅ればせながらインストールしてみました。

(12/22追記) 2013/12/22 現在ダウンロードできる Instant Client モジュールではこの記事に挙げた問題(sqlplus の feedback が on だと SIGABRT する)が解決されているようです。(2013/3/15版で) OS X Mavericks で同じ事を確認しましたのでそちらをご覧下さい。

インストール

と言っても Instant Client なので zip ファイルをダウンロードして解凍するだけです。

場所はどこでもいいのですが /usr/local は Homebrew で使っているので、いつもの ~/local 以下にします。面倒なので basiclite もまとめて解凍します。
% for f in ~/Downloads/instantclient-*-macos.x64-11.2.0.3.0.zip; do unzip -o $f -d ~/local; done
あとは DYLD_FALLBACK_LIBRARY_PATH 環境変数に ~/local/instantclient_11_2 を設定すれば使えますね。
% cd ~/local/instantclient_11_2
% env DYLD_FALLBACK_LIBRARY_PATH=$PWD ./sqlplus scott/tiger@//ol64.vbox/xe

SQL*Plus: Release 11.2.0.3.0 Production on Mon Feb 11 13:20:39 2013

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


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

(2013-02-11 13:20:44) SCOTT > 
労力に見合う効果が見込めそうにないのでやりませんが OFA に準拠させる配置もありですね。 そのあたりはマニュアルを見て思案するのもいいかも? そういえば Snow Leopard に 10.2.0.4 を入れたときにも思ったんですけど、参照するライブラリファイルのパス中にある /b/数字/ ってディレクトリは実際にビルドしている環境なんですよね。詳しく知りませんけど。
% otool -L ./sqlplus
./sqlplus:
        /ade/b/2649109290/oracle/sqlplus/lib/libsqlplus.dylib (compatibility version 0.0.0, current version 0.0.0)
        /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1 (compatibility version 0.0.0, current version 0.0.0)
        /ade/b/2649109290/oracle/ldap/lib/libnnz11.dylib (compatibility version 0.0.0, current version 0.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
% otool -L ../instantclient_10_2/sqlplus
../instantclient_10_2/sqlplus:
        /b/227/sqlplus/lib/libsqlplus.dylib (compatibility version 0.0.0, current version 0.0.0)
        /b/227/rdbms/lib/libclntsh.dylib.10.1 (compatibility version 0.0.0, current version 0.0.0)
        /b/227/network/lib/libnnz10.dylib (compatibility version 0.0.0, current version 0.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.1)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

アーカイブ内のファイル一覧

タイムスタンプで並べてみると /sdk/demo/demo.mk が README と同じです。やはりビルドに必要な Makefile を最後まで修正していたんでしょうか。

% for f in ~/Downloads/instantclient-*-macos.x64-11.2.0.3.0.zip; do unzip -l $f; done | grep instantclient_11_2 | perl -pe 's/( *\d+) +(\d+-\d+)-(\d+) (.{5}) +/20$3-$2 $4 $1 /' | sort -u
2001-04-25 02:04        60 instantclient_11_2/sdk/demo/occiobj.typ
2002-10-15 18:19      2115 instantclient_11_2/sdk/include/occi.h
2003-03-06 15:45      1868 instantclient_11_2/sdk/demo/occidemod.sql
2003-06-10 05:40     42626 instantclient_11_2/sdk/include/oro.h
2004-08-05 14:16      7202 instantclient_11_2/sdk/demo/occidemo.sql
2005-07-07 19:38      4048 instantclient_11_2/sdk/include/ocidem.h
2005-07-07 19:38      8953 instantclient_11_2/sdk/include/ociextp.h
2005-07-07 19:38    116645 instantclient_11_2/sdk/include/ort.h
2005-07-07 19:39     10361 instantclient_11_2/sdk/include/oci8dp.h
2005-08-26 14:04     11586 instantclient_11_2/sdk/include/occiAQ.h
2005-09-26 03:58      6204 instantclient_11_2/sdk/include/ociapr.h
2005-09-26 03:58      6494 instantclient_11_2/sdk/include/ocikpr.h
2005-09-26 03:58     43001 instantclient_11_2/sdk/include/ocidef.h
2005-09-26 03:59      7203 instantclient_11_2/sdk/include/oci1.h
2005-09-26 03:59     11339 instantclient_11_2/sdk/include/ocidfn.h
2006-06-02 21:12     14313 instantclient_11_2/sdk/demo/cdemo81.c
2006-08-02 13:13     15083 instantclient_11_2/sdk/include/orid.h
2006-08-02 13:13    102775 instantclient_11_2/sdk/include/ori.h
2006-08-02 13:13    157901 instantclient_11_2/sdk/include/orl.h
2006-09-06 12:59      9892 instantclient_11_2/sdk/include/xa.h
2006-11-08 13:43      4816 instantclient_11_2/sdk/demo/occiobj.cpp
2007-10-30 12:29     24778 instantclient_11_2/sdk/include/occiObjects.h
2007-12-08 10:50     74787 instantclient_11_2/sdk/include/nzt.h
2008-04-11 09:15     34750 instantclient_11_2/sdk/include/occiCommon.h
2008-05-27 17:35      7564 instantclient_11_2/sdk/demo/occidml.cpp
2008-09-27 08:32     42534 instantclient_11_2/sdk/include/ldap.h
2009-03-20 14:32     70685 instantclient_11_2/sdk/include/occiControl.h
2009-06-04 17:43       869 instantclient_11_2/sdk/ott
2010-02-12 06:14     23384 instantclient_11_2/sdk/include/odci.h
2010-02-16 17:50     39934 instantclient_11_2/sdk/include/occiData.h
2011-04-11 14:57       368 instantclient_11_2/glogin.sql
2011-04-19 01:16    431569 instantclient_11_2/sdk/include/ociap.h
2011-04-30 04:36     34962 instantclient_11_2/sdk/include/nzerror.h
2011-06-11 03:35    101296 instantclient_11_2/sdk/include/ocixstream.h
2011-06-17 01:15    172157 instantclient_11_2/sdk/include/oci.h
2011-06-26 07:29      7506 instantclient_11_2/sdk/include/ocixmldb.h
2012-03-05 20:23      6506 instantclient_11_2/sdk/include/oratypes.h
2012-05-29 19:30   2095661 instantclient_11_2/ojdbc5.jar
2012-05-29 19:30   2714016 instantclient_11_2/ojdbc6.jar
2012-07-21 00:52      2811 instantclient_11_2/orai18n-mapping.jar
2012-07-21 00:52      5975 instantclient_11_2/orai18n.jar
2012-12-19 01:50   2795004 instantclient_11_2/libnnz11.dylib
2012-12-19 19:57     13744 instantclient_11_2/libheteroxa11.dylib
2012-12-19 19:57    158924 instantclient_11_2/libocijdbc11.dylib
2012-12-19 21:12  64771444 instantclient_11_2/libclntsh.dylib.11.1
2012-12-19 21:25     66779 instantclient_11_2/xstreams.jar
2012-12-19 21:26   1897664 instantclient_11_2/libocci.dylib.11.1
2013-01-29 20:17   1385860 instantclient_11_2/libsqlplus.dylib
2013-01-29 21:36      8744 instantclient_11_2/sqlplus
2013-01-29 21:37   1504252 instantclient_11_2/libsqlplusic.dylib
2013-01-29 21:47 116171724 instantclient_11_2/libociei.dylib
2013-01-29 22:40    300666 instantclient_11_2/sdk/ottclasses.zip
2013-01-29 22:43     10252 instantclient_11_2/adrci
2013-01-29 22:43     40768 instantclient_11_2/genezi
2013-01-29 22:43    162324 instantclient_11_2/uidrvci
2013-01-29 22:43    624888 instantclient_11_2/wrc
2013-01-29 22:43   9868260 instantclient_11_2/libociicus.dylib
2013-01-29 22:44         0 instantclient_11_2/sdk/
2013-01-29 22:44         0 instantclient_11_2/sdk/demo/
2013-01-29 22:44         0 instantclient_11_2/sdk/include/
2013-01-29 22:44       480 instantclient_11_2/sdk/SDK_README
2013-01-29 22:44       482 instantclient_11_2/JDBC_README
2013-01-29 22:44       484 instantclient_11_2/BASIC_README
2013-01-29 22:44       484 instantclient_11_2/TOOLS_README
2013-01-29 22:44       488 instantclient_11_2/SQLPLUS_README
2013-01-29 22:44       494 instantclient_11_2/BASIC_LITE_README
2013-01-29 22:44      4109 instantclient_11_2/sdk/demo/demo.mk

SDKはもう少し待つ必要があるかも

2/21 に SDK が更新されました。ここに書いてある情報は古いです。詳しくは次の節に記述しています。

DBD::Oracle を cpanm でサクっと入れようとしたのですが、テスト実行時に Symbol not found: _C_SendHTTPRequest が多数出て失敗。

% cpanm DBD::Oracle
--> Working on DBD::Oracle
Fetching http://www.cpan.org/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.56.tar.gz ... OK
Configuring DBD-Oracle-1.56 ... OK
Building and testing DBD-Oracle-1.56 ... FAIL
! Installing DBD::Oracle failed. See /Users/yoshikaw/.cpanm/build.log for details.
cpanm DBD::Oracle  6.68s user 0.96s system 64% cpu 11.812 total
t/000-report-versions-tiny.t .. ok
Can't load '/Users/yoshikaw/.cpanm/work/1360553499.33852/DBD-Oracle-1.56/blib/arch/auto/DBD/Oracle/Oracle.bundle' for module DBD::Oracle: dlopen(/Users/yoshikaw/.cpanm/work/1360553499.33852/DBD-Oracle-1.56/blib/arch/auto/DBD/Oracle/Oracle.bundle, 2): Symbol not found: _C_SendHTTPRequest
  Referenced from: /Users/yoshikaw/local/instantclient_11_2/libnnz11.dylib
  Expected in: flat namespace
 in /Users/yoshikaw/local/instantclient_11_2/libnnz11.dylib at /System/Library/Perl/5.12/darwin-thread-multi-2level/DynaLoader.pm line 204.
 at t/00versions.t line 10.
Compilation failed in require at t/00versions.t line 10.
BEGIN failed--compilation aborted at t/00versions.t line 10.
# Looks like your test exited with 2 before it could output anything.
t/00versions.t ................
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests
% for i in ./*lib; do echo $i; nm $i | grep _C_SendHTTPRequest; done
./libclntsh.dylib
./libheteroxa11.dylib
./libnnz11.dylib
                 U _C_SendHTTPRequest
./libociei.dylib
./libociicus.dylib
./libocijdbc11.dylib
./libsqlplus.dylib
./libsqlplusic.dylib
この件については公式フォーラムにトピックがあり、修正モジュールのテスト中らしいので SDK を利用する場合はもうしばらく待つ必要がありそうです。
  • OTN Discussion Forums : OS X Users! 11gR2 Oracle Instant Client ...
    cj Posted: 2013/02/06 11:14     in response to: 986557  
    
    I've asked Oracle's porting group to look at this. Please give the details of your OS and the configuration options for Perl/Python/PHP etc.
    cj Posted: 2013/02/08 12:12     in response to: 833558  
    
    To keep you updated, a revised IC bundle is being tested.

(2/21追記) SDKの動作確認(DBD::Oracle)

OTN フォーラムの書き込みを見ると 2/19 に SDK が更新されたようです。

cj Posted: 2013/02/19 17:42     in response to: cj  
If you had issues, please re-download the bundle. It's been refreshed.

Thanks for your patience.
さっそく SDK を含むファイルをダウンロードしてみました。ライブラリやそれを利用する一部コマンドのタイムスタンプが更新されています。
% for f in ~/Downloads/instantclient-*-macos.x64-11.2.0.3.0.zip; do unzip -l $f; done | grep instantclient_11_2 | perl -pe 's/( *\d+) +(\d+-\d+)-(\d+) (.{5}) +/20$3-$2 $4 $1 /' | sort -u | tail -n 20
2012-12-19 21:26   1897664 instantclient_11_2/libocci.dylib.11.1
2013-02-12 21:02   1385860 instantclient_11_2/libsqlplus.dylib
2013-02-12 21:10   1504252 instantclient_11_2/libsqlplusic.dylib
2013-02-15 21:16   2808528 instantclient_11_2/libnnz11.dylib
2013-02-15 21:17     40768 instantclient_11_2/genezi
2013-02-15 21:33     10252 instantclient_11_2/adrci
2013-02-15 21:33    162324 instantclient_11_2/uidrvci
2013-02-15 21:33    624888 instantclient_11_2/wrc
2013-02-15 21:33   9868260 instantclient_11_2/libociicus.dylib
2013-02-15 21:33 118379468 instantclient_11_2/libociei.dylib
2013-02-15 21:34         0 instantclient_11_2/sdk/
2013-02-15 21:34         0 instantclient_11_2/sdk/demo/
2013-02-15 21:34         0 instantclient_11_2/sdk/include/
2013-02-15 21:34       480 instantclient_11_2/sdk/SDK_README
2013-02-15 21:34       482 instantclient_11_2/JDBC_README
2013-02-15 21:34       484 instantclient_11_2/BASIC_README
2013-02-15 21:34       484 instantclient_11_2/TOOLS_README
2013-02-15 21:34       488 instantclient_11_2/SQLPLUS_README
2013-02-15 21:34       494 instantclient_11_2/BASIC_LITE_README
2013-02-15 21:34      4109 instantclient_11_2/sdk/demo/demo.mk
先日失敗した DBD::Oracle のテストは通りモジュールはインストールできました。
% env DYLD_FALLBACK_LIBRARY_PATH=~/local/instantclient_11_2 cpanm DBD::Oracle
--> Working on DBD::Oracle
Fetching http://www.cpan.org/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.56.tar.gz ... OK
Configuring DBD-Oracle-1.56 ... OK
Building and testing DBD-Oracle-1.56 ... OK
Successfully installed DBD-Oracle-1.56
1 distribution installed

が、今度はフォーラムで報告されている問題が再現しました。

% env DYLD_FALLBACK_LIBRARY_PATH=~/local/instantclient_11_2 rlwrap ~/local/instantclient_11_2/sqlplus scott/tiger@centos.vbox/xe

SQL*Plus: Release 11.2.0.3.0 Production on Thu Feb 21 23:44:49 2013

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


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

(2013-02-21 23:44:49) SCOTT >
(2013-02-21 23:44:53) SCOTT > CREATE TABLE SOURCE
  2  (
  3  SOURCE_ID NUMBER(12,0) NOT NULL,
  4  OTHER_ID CHAR(14) NOT NULL
  5  );

Table created.

Elapsed: 00:00:00.01
(2013-02-21 23:45:07) SCOTT > CREATE TABLE DESTINATION
  2  (
  3  SOURCE_ID NUMBER(12,0) NOT NULL,
  4  OTHER_ID CHAR(14) NOT NULL,
  5  DISPLAY CHAR(1) NOT NULL
  6  );

Table created.

Elapsed: 00:00:00.01
(2013-02-21 23:45:24) SCOTT > INSERT INTO DESTINATION (SOURCE_ID, OTHER_ID, DISPLAY)
  2  SELECT SOURCE_ID, OTHER_ID, 'Y' FROM SOURCE WHERE OTHER_ID IS NOT NULL ORDER BY SOURCE_ID, OTHER_ID ASC;

rlwrap: warning: sqlplus killed by SIGABRT.
rlwrap has not crashed, but for transparency,
it will now kill itself (without dumping core)with the same signal

zsh: abort      env DYLD_FALLBACK_LIBRARY_PATH=~/local/instantclient_11_2 rlwrap
% echo $?
134
adrci でトレースファイルを眺めてみましたが、よく分かりません。フォーラムでの続報を待つことにします。OSX で Instant Client 利用の道は険しいですね。。。
% rlwrap adrci

ADRCI: Release 11.2.0.3.0 - Production on Thu Feb 21 23:54:18 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

No ADR base is set
adrci> set base $HOME/oradiag_yoshikaw
adrci> show problem

ADR Home = /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80:
*************************************************************************
PROBLEM_ID           PROBLEM_KEY                                                 LAST_INCIDENT        LASTINC_TIME
-------------------- ----------------------------------------------------------- -------------------- ----------------------------------------
1                    oci 24550 [3]                                               9                    2013-02-21 23:39:54.267000 +09:00
1 rows fetched

adrci> show incident -p 'incident_id = 9' -mode detail

ADR Home = /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80:
*************************************************************************

**********************************************************
INCIDENT INFO RECORD 1
**********************************************************
   INCIDENT_ID                   9
   STATUS                        ready
   CREATE_TIME                   2013-02-21 23:39:54.267000 +09:00
   PROBLEM_ID                    1
   CLOSE_TIME                    
   FLOOD_CONTROLLED              none
   ERROR_FACILITY                oci
   ERROR_NUMBER                  24550
   ERROR_ARG1                    3
   ERROR_ARG2                    [si_signo=3] [si_errno=0] [si_code=0] [si_addr=0x7fff8ac79f96]
   ERROR_ARG3                    
   ERROR_ARG4                    
   ERROR_ARG5                    
   ERROR_ARG6                    
   ERROR_ARG7                    
   ERROR_ARG8                    
   ERROR_ARG9                    
   ERROR_ARG10                   
   ERROR_ARG11                   
   ERROR_ARG12                   
   SIGNALLING_COMPONENT          
   SIGNALLING_SUBCOMPONENT       
   SUSPECT_COMPONENT             
   SUSPECT_SUBCOMPONENT          
   ECID                          
   IMPACTS                       0
   PROBLEM_KEY                   oci 24550 [3]
   FIRST_INCIDENT                1
   FIRSTINC_TIME                 2013-02-11 13:20:30.421000 +09:00
   LAST_INCIDENT                 9
   LASTINC_TIME                  2013-02-21 23:39:54.267000 +09:00
   IMPACT1                       0
   IMPACT2                       0
   IMPACT3                       0
   IMPACT4                       0
   KEY_NAME                      Client ProcId
   KEY_VALUE                     sqlplus@seravee.local (TNS V1-V3).31512_140735156093312
   OWNER_ID                      1
   INCIDENT_FILE                 /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/trace/ora_31512_140735156093312.trc
   OWNER_ID                      1
   INCIDENT_FILE                 /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/incident/incdir_9/ora_31512_140735156093312_i9.trc
1 rows fetched

adrci> quit
% cat /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/trace/ora_31512_140735156093312.trc
Trace file /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/trace/ora_31512_140735156093312.trc
DDE: Flood control is not active
Incident 9 created, dump file: /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/incident/incdir_9/ora_31512_140735156093312_i9.trcoci-24550 [3] [[si_signo=3] [si_errno=0] [si_code=0] [si_addr=0x7fff8ac79f96]] [] [] [] [] [] [] [] [] [] []
% cat /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/incident/incdir_9/ora_31512_140735156093312_i9.trc
Dump file /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/incident/incdir_9/ora_31512_140735156093312_i9.trc
Dump continued from file: /Users/yoshikaw/oradiag_yoshikaw/diag/clients/user_yoshikaw/host_3499915911_80/trace/ora_31512_140735156093312.trc
oci-24550 [3] [[si_signo=3] [si_errno=0] [si_code=0] [si_addr=0x7fff8ac79f96]] [] [] [] [] [] [] [] [] [] []
========= Dump for incident 9 (oci 24550 [3]) ========
Tracing is in restricted mode!
----- Short Call Stack Trace -----
dbgexPhaseII()+1884<-dbgexProcessError()+7641<-dbgeExecuteForError()+90<-dbgePostErrorDirect()+2286<-kpeDbgSignalHandler()+1163<-skgesig_sigactionHandler()+287<-_sigtramp()+26<-0x7fff6ddcccd8()<-ntctst()+2024<-nttwait()+395<-nttcni()+15179<-nttcon()+12279<-ntconn()+1650<-nsopen()+19089<-nscall1()+2052<-nscall()+4909<-niotns()+18542<-nigcall()+230<-osncon()+3699<-kpuadef()+350<-upiini()+2805<-upiah0()+274<-kpuatch()+5794<-OCIServerAttach()+275<-afioci()+183----- START Event Driven Actions Dump ----
---- END Event Driven Actions Dump ----
----- START DDE Actions Dump -----
Executing SYNC actions
Executing ASYNC actions
----- END DDE Actions Dump (total 0 csec) -----
End of Incident Dump

(12/22追記) SDKの動作確認(SQL*Plus) on OSX Mavericks

久しぶりに確認してみると、sqlplus とそのライブラリが 3/16 の日付で更新されていました。

% for f in ~/Downloads/instantclient-*-macos.x64-11.2.0.3.0.zip; do unzip -l $f; done | grep instantclient_11_2 | perl -pe 's/( *\d+) +(\d+-\d+)-(\d+) (.{5}) +/20$3-$2 $4 $1 /' | sort -u | tail -n 20
2013-02-15 21:16   2808528 instantclient_11_2/libnnz11.dylib
2013-02-15 21:17     40768 instantclient_11_2/genezi
2013-02-15 21:33     10252 instantclient_11_2/adrci
2013-02-15 21:33    162324 instantclient_11_2/uidrvci
2013-02-15 21:33    624888 instantclient_11_2/wrc
2013-02-15 21:33   9868260 instantclient_11_2/libociicus.dylib
2013-02-15 21:33 118379468 instantclient_11_2/libociei.dylib
2013-02-15 21:34         0 instantclient_11_2/sd/k
2013-02-15 21:34         0 instantclient_11_2/sdk/demo/
2013-02-15 21:34         0 instantclient_11_2/sdk/include/
2013-02-15 21:34       480 instantclient_11_2/sdk/SDK_README
2013-02-15 21:34       482 instantclient_11_2/JDBC_README
2013-02-15 21:34       484 instantclient_11_2/BASIC_README
2013-02-15 21:34       484 instantclient_11_2/TOOLS_README
2013-02-15 21:34       494 instantclient_11_2/BASIC_LITE_README
2013-02-15 21:34      4109 instantclient_11_2/sdk/demo/demo.mk
2013-03-16 00:03      8744 instantclient_11_2/sqlplus
2013-03-16 00:03   1385860 instantclient_11_2/libsqlplus.dylib
2013-03-16 00:04   1504252 instantclient_11_2/libsqlplusic.dylib
2013-03-16 00:24       488 instantclient_11_2/SQLPLUS_README
フォーラムで明確なリリース案内は見つけられませんでしたが、前述した問題(SQL*Plus の feedback の処理?)は直っており、OSX Mavericks で DBD::Oracle も問題なくビルドできました。
% export DYLD_LIBRARY_PATH=$HOME/local/instantclient_11_2
% cpanm DBD::Oracle
--> Working on DBD::Oracle
Fetching http://www.cpan.org/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.68.tar.gz ... OK
Configuring DBD-Oracle-1.68 ... OK
Building and testing DBD-Oracle-1.68 ... OK
Successfully installed DBD-Oracle-1.68
1 distribution installed

おわりに

DBD::Oracle がビルドできないので OS X 環境の perl からの接続確認が出来ませんが、sqlplus 等のコマンドは使えますので rlwrap と組み合わせて何が出来るかいろいろと試す環境が出来ました。OS X である必要は全くありませんが、やる気に関わる重要な要素です。

0 件のコメント:

コメントを投稿