Oracle Instant ClientのSQL*PlusをMacで使う

Instantとかいうくらいだからアーカイブ展開したら即使えるとかなのかと思ったら、異常に面倒くさかった。

まずはOTNから適当に以下をダウンロードしてくる。SDKとかはいらない。

  • instantclient-basic-macos.x64-11.2.0.3.0.zip
  • instantclient-sqlplus-macos.x64-11.2.0.3.0.zip

これらを適当なディレクトリに展開する。自分は~/oracleとかつくってそこにばらまいた。

[~/oracle] ls -al
total 382920
drwxr-xr-x@ 20 gm7add9  staff        680 11 26 11:40 .
drwxr-xr-x+ 56 gm7add9  staff       1904 11 26 11:13 ..
-rw-r--r--@  1 gm7add9  staff       6148 11 26 11:40 .DS_Store
-rw-rw-rw-@  1 gm7add9  staff        484  2 15  2013 BASIC_README
-rw-rw-rw-@  1 gm7add9  staff        488  2 15  2013 SQLPLUS_README
-rwxrwxrwx@  1 gm7add9  staff      10252  2 15  2013 adrci
-rwxrwxrwx@  1 gm7add9  staff      40768  2 15  2013 genezi
-r--r--r--@  1 gm7add9  staff        368  4 10  2011 glogin.sql
-rwxrwxrwx@  1 gm7add9  staff   64771444 12 19  2012 libclntsh.dylib.11.1
-rwxrwxrwx@  1 gm7add9  staff    2808528  2 15  2013 libnnz11.dylib
-rwxrwxrwx@  1 gm7add9  staff    1897664 12 19  2012 libocci.dylib.11.1
-rwxrwxrwx@  1 gm7add9  staff  118379468  2 15  2013 libociei.dylib
-rwxrwxrwx@  1 gm7add9  staff     158924 12 19  2012 libocijdbc11.dylib
-rwxrwxrwx@  1 gm7add9  staff    1385860  2 12  2013 libsqlplus.dylib
-rwxrwxrwx@  1 gm7add9  staff    1504252  2 12  2013 libsqlplusic.dylib
-rw-rw-rw-@  1 gm7add9  staff    2095661  5 29  2012 ojdbc5.jar
-rw-rw-rw-@  1 gm7add9  staff    2714016  5 29  2012 ojdbc6.jar
-rwxr-xr-x@  1 gm7add9  staff       8744 12 19  2012 sqlplus
-rwxrwxrwx@  1 gm7add9  staff     162324  2 15  2013 uidrvci
-rw-rw-rw-@  1 gm7add9  staff      66779 12 19  2012 xstreams.jar

いざ、実行。

[~/oracle] sqlplus
dyld: Library not loaded: /ade/b/2649109290/oracle/sqlplus/lib/libsqlplus.dylib
Referenced from: /Users/gm7add9/oracle/sqlplus
Reason: image not found
zsh: trace trap sqlplus

はい、エラー。
/ade/b…とか変なパスでリンクしてんじゃねー。

全部install_name_toolで書き換え。

install_name_tool -change /ade/b/2649109290/oracle/sqlplus/lib/libsqlplus.dylib @executable_path/libsqlplus.dylib sqlplus
install_name_tool -change /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1 @executable_path/libclntsh.dylib.11.1 sqlplus
install_name_tool -change /ade/b/2649109290/oracle/ldap/lib/libnnz11.dylib @executable_path/libnnz11.dylib sqlplus
install_name_tool -change /ade/b/1891624078/oracle/sqlplus/lib/libsqlplus.dylib @executable_path/libsqlplus.dylib sqlplus
install_name_tool -change /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1 @loader_path/libclntsh.dylib.11.1 libsqlplus.dylib
install_name_tool -change /ade/b/2649109290/oracle/ldap/lib/libnnz11.dylib @loader_path/libnnz11.dylib libsqlplus.dylib
install_name_tool -change /ade/b/2649109290/oracle/ldap/lib/libnnz11.dylib @loader_path/libnnz11.dylib libclntsh.dylib.11.1
install_name_tool -change /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1 @loader_path/libclntsh.dylib.11.1 libsqlplusic.dylib
install_name_tool -change /ade/b/2649109290/oracle/ldap/lib/libnnz11.dylib @loader_path/libnnz11.dylib libsqlplusic.dylib
install_name_tool -change /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dylib.11.1 @loader_path/libclntsh.dylib.11.1 libociei.dylib

再実行。

[~/oracle] sqlplus                                                                                     [gm7add9@vivace]

SQL*Plus: Release 11.2.0.3.0 Production on 火 11月 26 11:49:30 2013

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

ユーザー名を入力してください:

やっとうごいた。みんなこんな面倒くさいことしてんのだろうか…

13″ MacBook Pro with Retina Display

先週末にCTOでオーダーした13-inch MacBook Pro with Retina display、本日到着。

mb01

どうでもいいけどこのパッケージも最近驚きが少なくてちょっと飽きてきた。Appleの製品は今どれも超薄型になる傾向にあって、写真がただの細い棒にしか見えない箱が増えてきている。薄さを強調したいのはわかるけど、デザインの美しさはそこだけじゃないだろうって。そのうちただの白い箱になっちゃうぜ。

Retina or Not Retina

実は以前からずっとRetina displayのモデルがほしかったのだけど、サイズが最低でも13インチから。現在使っているMacBookはAirの11インチなので、重量とか大きさとかの違いが気になってなかなか踏み切れずにいた。もちろん、そのうちAir11のRetina displayモデルが出る、という勝手な読みもあった(結局今年も出なかったけど)。

自分も昔は厚さ5cmのThinkpadとか光学ドライブ付きの15インチPowerBookを毎日持ち運んでいた(…いつの話だよ)くらいなんだけど、最近はすっかり年とって軟弱になってしまって、ACアダプタ一つ追加しただけで重いと感じる。

で、よくよく調べてみるとやっぱり重量は500gアップくらいになる。だけど、ちょっと発見だったのが面積で、Air11と比べても縦方向に少し大きくなるくらいだということが判明。実際重ねてみると実質この写真の程度の差。これは案外ありかも、というきわめてテキトーな理由で乗り換えを決意。

mb06重量差の500gは…まぁすぐに慣れるでしょう。
iPad1個余分に持っているだけと思えば…あれ?結構重くない、それ?
じゃぁ、ペットボトル500mを1本…うーん、やっぱり軽くない…(以下略)

キーボードとか画面とか

開いてみると、まずトラックパッドがでかい!…ってAir11比較だけど。こうやって比べるとAir11のトラックパッドは小さいので不便なのかというと案外そうでもなくて、あれはあれで横長の画面と比率が合っていて、ちょうどいいんじゃないかっていうのが個人的見解。

mb03

キーボードはUS配列に変更。キーボードカバーはmoshiClearGuardが使える。Retina 13だとコンマ何ミリ空きがでるとかいう噂をどこかで見たけど、全然そんな感じはしない。ピッタリ。ちなみにAir11はFunctionキーが縦にものすごく細いので、カバーは流用できない。

mb04

画面も自分の見慣れた16:9のワイド画面とはだいぶ違う。コーディングなんかのテキスト編集には、たくさんの行を一度に表示できるこちらの方が効率良さそう。

mb05

単体で見ている限りは、Air11インチのシルエットともそう変わりない。鞄も今使っているものがそのまま使える。さすがにケースとかは全部買い換えだけど。
mb02

ちなみに画面の方にはPower Supportアンチグレアフィルムをつけてみたけど、Retina displayに限ってはこれは光沢画面のがきれいに見えていいような気がした。せっかくの高解像度が曇って見えちゃうので少々残念な感じだった。

プロテクター

アルミボディってひっかき傷が結構簡単についてしまうので、カバーがほしくなる。定番のSpeckみたいなカラフルでオシャレなのも好きなんだけど、あれは結構厚みを伴いかさばるので、最近は超薄型の透明フィルムを貼るタイプがお気に入り。それでAir11にはZAGGのInvisible Shieldを使っていてかなり満足していたのだけど、どうも最近ZAGGが日本から撤退してしまったようで入手できなかったので、今回は似たようなところでBodyGuardzを選択。

この写真ではすでにはってあるのだけど、Invisible Shieldと違ってリンゴマークのところが切り抜かれている。裏のねじ穴とかこの辺の切り抜きは、ZAGGよりも上手に処理している印象だけど、リンゴマークはくりぬかなくていいんじゃないかなぁ。そこも含めてプロテクトしてほしいし、フィルムに穴が多いと貼り付けるときに位置合わせが難しくなるので勘弁してほしい(実際にやってみた人にしかわからないと思うけど、ZAGGにしてもBodyGuardzにしても、伸縮する素材なのできれいにはるのはものすごく難しい)。
mb07

横から

後ろの高さはだいたい同じくらい。左がAir11で右がPro13。Airのが高く見えるのは、ゴム足の高さの違いにありそうだ。
mb08

当たり前だけどフロントは歴然とした差がある。mb09あと、ProシリーズはAirと違ってポート類が豊富なのは重要なポイント。Ethernetと外部ディスプレイを同時に使いたいときって結構あるのだけど、Air11だとThunderboltが1つしかないので、画面をThunderboltで出して、EthernetはUSB接続(100Mbps)することになる。これがProだとHDMIもあるしThunderbolt2も2本あるので、mini Display Portから画面出力しながらThunderbolt Ethernet(1Gbps)が使える。縦方向の長さは伊達じゃない。

Mavericks Preloaded

OSはMavericksがプリロードされている。ただここで注意が必要なのは、AppStoreから普通に落とせるのとは別ものが必要らしく、別のマシンで作成した起動USBメモリとかではインストールができないということ。Macは昔からの伝統で、ハードが出荷された時点以前のOSがインストールできないようになっているとかいう面倒な作りになっているので、まぁ「またアレか」くらいの感じでしかないのだけど、同じバージョンのOSなんだからいいじゃん、という気はする。今回のは例の、iWorkが無料でついてくる、来ないの違いがこの辺にあるのかなぁ。

そんなわけで自分で用意した起動USBメモリは使えなかったので、Recoveryで起動してインターネットから入れ直した(Macintosh HDとかいうボリューム名とか、512GBもSSDあるのに1パーティション構成だとか、いろいろ不満のある構成になっているもので)。

次回

buzzhouse designのこんなケース買ってみた。これはまた次回に。

buzzhouse01