DB2 Express-C v9.7をUbuntu 10.04 Serverにインストール
DBサーバー用に作ったUbuntu 10.04 Server on Ubuntu 10.04 Server(何)へのインストール。
最初、何も考えずにDB2 Express-C v9.7.4のLinux用アーカイブをダウンロードして、展開して、READMEとかその辺を読みながら以下のコマンドを実行。
$ sudo apt-get install libaio1 $ sudo apt-get install ksh $ sudo apt-get install libstdc++6-4.4-dev $ sudo apt-get install libstdc++6-4.4-pic $ sudo ./db2setup DBI1190I db2setup が DB2 セットアップ・ウィザードを準備中です。 このウィザードがプログラムのセットアップ操作を案内します。 お待ち ください。 DISPLAY 変数が正しく設定されていません。 DISPLAY 変数が正しく設定されていて、指定されたディスプレイのウィンドウがオープンできるように許可が正しく設定されているかどうか確認してから、コマンドを再実行してください。 $
そういえばそうだった、と思い出し、この時点での選択肢は2つ。「CUIインストールするための方法をがんばって探す」と「GUI環境を入れてしまう」。
時間が有り余っていれば前者もありだったが、そうもいかないので後者か、と思いながら、「DB2 Express-C ubuntu」で探してみると、そういえばチラ見した記憶がある以下の記事を発見。
で、最後のURLにあるPDFファイル「DB2 and Ubuntu Whitepaper」を斜め読みしていたら、なんと13ページ目あたりに「How to Install DB2 Express-C with Debian Package」なる記述を発見。
ということで試したメモ(前置き長っ)。
インストール(using apt)
※冒頭の4つの「apt-get install」は実行済みの環境で試しているので、以下の手順でうまくいかない場合はその点を確認してみるといいかも。
まぁ、ホワイトペーパーに書いてある通りのコマンドを順に実行するだけなんだけど。
- /etc/apt/sources.list をテキストエディタで開く
- 以下の行がコメントアウトされているので、コメントをはずす(大体48〜49行目あたり)
- deb http://archive.canonical.com/ubuntu lucid partner
- deb-src http://archive.canonical.com/ubuntu lucid partner
- 以下のコマンドを順に実行
- sudo apt-get update
- sudo apt-get install db2exc
流れていくメッセージを見ていると、導入されるのはDB2 v9.7.2らしい。
検証
ひとまずサンプルDB作成。
$ sudo su - db2inst1 db2inst1$ db2sampl Creating database "SAMPLE"... Connecting to database "SAMPLE"... Creating tables and data in schema "DB2INST1"... Creating tables with XML columns and XML data in schema "DB2INST1"... 'db2sampl' processing complete. db2inst1$
サンプルDB作成中にVMwareのゲストOSが落ちた(らしい)のだが、もしかしたらインストール後にOSの再起動が必要だったりしたのかも(未確認)。
いくつかコマンドを叩いてみる。
db2inst1$ db2level DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL09072" with level identifier "08030107". Informational tokens are "DB2 v9.7.0.2", "s100514", "IP23088", and Fix Pack "2". Product is installed at "/opt/ibm/db2/V9.7". db2inst1$ db2 list database directory System Database Directory Number of entries in the directory = 1 Database 1 entry: Database alias = SAMPLE Database name = SAMPLE Local database directory = /home/db2inst1 Database release level = d.00 Comment = Directory entry type = Indirect Catalog database partition number = 0 Alternate server hostname = Alternate server port number = db2inst1$ db2 connect to sample Database Connection Information Database server = DB2/LINUX 9.7.2 SQL authorization ID = DB2INST1 Local database alias = SAMPLE db2inst1$ db2 "SELECT * FROM TABLE(VALUES(CURRENT_SERVER, CURRENT_SCHEMA)) AS t" 1 2 ------------------ ------------------ SAMPLE DB2INST1 1 record(s) selected. db2inst1$ db2 connect reset DB20000I The SQL command completed successfully. db2inst1$
とりあえず、問題なく動いているらしい。