DB2 9.7をインストールしたらやっておきたい魔法のコマンド
魔法のコマンド、、ドラクエじゃないですが、、、
DB2には9.5からDB2_COMPATIBILITY_VECTORなるレジストリが用意されてまして、
値をセットすると、ORACLE互換の便利なコマンドが、
トロント発箱崎経由で提供されます。
手元のマシンにDB2 EXPRESS-C 9.7をインストールをしたので、
早速設定を行ったところ
$ db2set DB2_COMPATIBILITY_VECTOR=ORA DBI1301E Invalid value. Explanation: The value specified for the registry variable is invalid. User response: Refer to the DB2 Information Center to determine the valid values for the registry variable.
と剣もほろろにあしらわれる始末。。
なぜ?もしかしてORAは冗談だったか?と、8FFとしても
$ db2set DB2_COMPATIBILITY_VECTOR=8FF DBI1301E Invalid value. Explanation: The value specified for the registry variable is invalid. User response: Refer to the DB2 Information Center to determine the valid values for the registry variable.
同じ結果ではじかれました。
うーん?なぜ?とググってみると
http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14266668
Re: How to use PL/SQL in DB2 9.7? Posted: Jun 24, 2009 01:09:04 PM Compilation of PL/SQL is not supported in DB2 Express-C. Please see following link for details. http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.plsql.doc/doc/c0053608.html?resultof=%22Express-C%22
とPL/SQL互換はEXPRESS-Cではサポートしていないからというお答え。
ぢゃあ、その下はどう?
ってことで
$ db2set DB2_COMPATIBILITY_VECTOR=4FF
は何も出力されずに通った様子です。
「、、、で、そのORAとか8FFとか4FFってなによ?」
っていう方はInformationCenterを参照ください。
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.porting.doc/doc/r0052867.html
で出てきます。
(DB2 9.5では検索しても出てこないけど、DB2 9.7だと正式サポートなんですねー)
DB2_COMPATIBILITY_VECTORを設定してもDBの動きや
アクセスプランが変わるということは無いですので
いつも言ってますが、インストールや9.7にマイグレーションをしたら
設定しておいて損はないですし、
逆に運用しだしてからはインスタンスを呈しないといけないので
そうそう設定できなくて、涙目ということになると思います。
(一部のサーバで個人的に涙目ですwwww)