Oracle 11.2 以降では 64bit クライアントパッケージに 32bit バイナリが含まれない

おもに UNIX 系の話なんですけども、Oracle 11.2 以降のバージョンだと、64bit クライアントパッケージに 32bit バイナリが含まれません。

Oracle 10 までの頃は、64bit 版クライアントを入れたらセットで 32bit のライブラリが付属していました。なので 32bit アプリが動いていたんですね。この 32bit アプリを使っていた環境で Oracle だけ 11.2 以降にあげると、32bit バイナリが無くて困るということになります。

どうしたらええの?みんな知ってたんなら教えてよ。

64bit 環境とは異なる $ORACLE_HOME に 32bit クライアントをインストールしてねという。なんと…

いままでは同じ $ORACLE_HOME/lib32 を決め打ちで参照してたヤツらはどうしたらええのかと。

別の場所にインストールしたライブラリをシンボリックリンクとかで $ORACLE_HOME/lib32 で参照させたら良いのではという作戦もあります。

例えば、CA のサイトにもそのような手順紹介しているページがあります。

64ビットUNIXプラットフォームとOracle 11g R2 環境でのCA Fast Unloadの考慮点について

ところがこのような構成は Oracle 側はサポートしませんと言っているのね。ひとつの $ORACLE_HOME に 32bit と 64bit を混在させるなと。分割しろと。

そうはいっても簡単には分けられないので過渡期的な運用で今だけシンボリックリンク張らせてもらってとりあえず動くように…とかやってるとずっとそのままになるんだよね。

一時的にといってつぎはぎで作ったヤツが何年も使われて今更引き下がれないなんてコトになったりすることよくある。