2012年5月6日日曜日

DB2で高速にテーブルのデータを削除する方法

以前仕事でAPLチームに聞かれたので、調査してみた。
やりたいのは、夜間バッチ処理などで特定の条件にマッチした行のみを高速に削除したいとのこと。
その時は、テーブルを分離して全削除できるようにしてTRUNCATEをすすめたけど、他に方法がないか確認してみる。



2012年5月4日金曜日

DB2 V10.1 ストレージグループを使ってみる

DB2 V10.1の新機能 Multi-Temperature Storageなるものを使ってみたので、
ログを残しておく。
※朝4時ごろ半分寝ながらやったので、ディレクトリやテーブルの名前付けが
 適当すぎる。(´;ω;`)


今回の検証環境
SLES11 SP2 HDD4本、CPU2、メモリ5GB
HDDの構成は、以下。
 100MB/sの読み取り速度も持つHDD1本
 550MB/sの読み取り速度を持つHDDを3本でRAID0構成


100MB/sを/db2_1でext3設定し、550MB/sを/db2でext3設定した。



2012年5月2日水曜日

DB2をbtrfs上にインストールしてみる(失敗)

SLES11 SP2でbtrfs使えるから、まぁDB2でサポートされてないので、失敗するのはわかってましたが、とりあえずやってみた。


結局、インストーラ起動時に、DBI1501Eの内部エラーが出力され、
とりあえず、無視してすすめることができるけど、
インストールディレクトリ指定するところで、ディスクがいっぱいって言われてしまって進めなくなった。。。
OS上からは空きはあるように見えるけど、NG。ちゃんとファイルシステムを見れないんだと思う。


まぁサポートされているファイルシステムを使えって話(・´з`・)





DB2 V10.1 Express-C をSLES11 SP2にインストール その3

前回の続きで、導入後の確認と今回拡張されているメモリ4GBが正しく認識するのか確認してみます。
なお、今回検証にあたってはVM上に割り振っているCPU数は2、メモリは5GB設定してます。


OSのメモリ状況
# free -m
             total       used       free     shared    buffers     cached
Mem:          4722       2787       1935          0         40       2525
-/+ buffers/cache:        220       4501
Swap:         2053          0       2053

DB2 V10.1 Express-C をSLES11 SP2にインストール その2

前回の続きでインストールを行います。
GUIとCUIでインストールができるのですが、今回はGUIでインストールします。
Xが起動していない方は、Xを起動してください。VNCを使用してインストールも可能です。


rootユーザで先程展開したexpcに移動し、「db2setup」を実行します。
linux-d9mi:~/db2inst/expc # ./db2setup



DB2 V10.1 Express-C をSLES11 SP2にインストール その1

DB2 V10.1 Express-C をSLES11 SP2にインストールしてみたので、以下にまとめます。長いので何回かにわけます。


まず、環境ですが、KVM上のSLES11 SP2 x86_64 ファイルシステムはext3です。
SLES11 SP2なので、kernelは3.0です。

# uname -a

Linux linux-d9mi 3.0.13-0.27-default #1 SMP Wed Feb 15 13:33:49 UTC 2012 (d73692b) x86_64 x86_64 x86_64 GNU/Linux
#


KVMはCENTOS6.0上で構築し、CPU Corei7、メモリ12GBで構築してます。
ゲストにはCPU2メモリ5GBを設定済み。

2012年5月1日火曜日

SLES11 SP2 CMMA(CMM2)のサポート復活

SLES11 SP2 CMMA(CMM2)サポートされたようだ。
うーん。SP2にあげてどれくらいメモリ改善されるのか試してみたいな(・´з`・)
開発機にVM1台作って、検証しようかな。。


CMMAは、Cooperative Memory Management Assistの略で、z/VMとゲストLinux間でメモリ属性情報を交換してメモリ管理を最適化してくれる機能で、
以下のような特徴がある。


z/VMの運用(AUTOLOG1)についてまとめ

AUTOLOG1は、z/VM IPL時に仮想計算機の自動起動を行うことができる。
要は、z/VM IPL時にzLinuxの自動startが可能になる。


AUTOLOG1は、システム始動計算機と呼ばれ、ユーザはオプションで仮想計算機に自動的にログオンできるように設定できる。

CPは AUTOLOG1を自動的にログオンし、AUTOLOG1はログオンされると、他の仮想計算機を自動的にログオンする。


具体的にはAUTOLOG1のPROFILE EXECに、AUTOLOG1がログオンしようとする各仮想計算機に対してXAUTOLOGコマンド記述することで実現できる。
※XAUTOLOGコマンドは非同期実行される。



z/VMの運用(Wakeup)についてまとめ


・WAKEUP コマンド
指定されたイベントが起こるたびにイベント・ドリブンの仮想計算機 (通常は、切断されたサービス仮想計算機)の待ち状態条件を終了することにより、その仮想計算機の始動を制御する。
WAKEUPイベントは、WAKEUPのオプションパラメータで指定可能。待ち状態を終了するWAKEUPイベントには、次のものがある。
・ 時刻 (日付または曜日を含む) の引き渡し 
・ 読取装置ファイルの存在または着信
・ 仮想計算機通信機能メッセージの着信
・ (CP SMSG) からの特別メッセージ機能メッセージの着信


ーーマニュアル抜粋ーーー
The WAKEUP command controls the startup of an event-driven virtual machine (typically a disconnected service virtual machine) by ending its wait state condition whenever a specified event occurs. WAKEUP events can be specified using optional WAKEUP parameters. WAKEUP events that may end a wait state include:
ーーーーーーーーーーー

WAKEUPからの戻りコードにより、どのWAKEUPイベントが起こったかが示されるようだ。


・z/VMで定期的なコマンド実行方法
Wakeup Tableに日時、曜日指定して定期的にz/VMのコマンドを実行可能
要はLinuxのcrontabみたいな感じ。

1〜      10〜           19〜    28〜255桁まで
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
M-F       08:00:00  05/01/12  CP XAUTOLOG LINUX1
05/01/12 08:55:00  05/01/12  CP SHUTDOWN REIPL 

フォーマットは次のような感じ。
 date time stamp command

date (日付)、time (時刻)、および stamp (スタンプ) の各フィールドだけチェックする。 WAKEUPはこれらのフィールドを使って、レコードを今日実行すべきかどうか、レコードを処理する時刻、およびレコードを最後に実行した時期を判別する。


参考