• IBMのDBMS。日本国内だとOracleが圧倒的だが、世界的には追い上げているらしい。試用目的での製品版は容易に手に入らないが(My IBMに登録必須)、こちらもOracleExpressEditionの様に無償版DB2 Express-Cがある。

インストール

Linux

DB2の場合Oracleと比べれば事前準備はまったく持って不要。依存するライブラリもデスクトップ構成で入れていればほぼ入っている。GUIインストールするにはXが必要だが、応答ファイルを利用したCUIインストールも可能。一度GUIインストールすると応答ファイルを残すことができるのでそれを参考にするといい。

接続の概念

サーバー名(IP)とDB名を指定すればOKなオープンソース系DBと違ってとてもわかりにくい。まずノードというものにサーバーを結びつける。そのノードにインスタンスを結びつける。インスタンスは複数のデーターベースを保持できるのでこれまたややこしい。

コマンドライン

コマンド・ウィンドウ

  • 頭にdb2と必ずつける。
接続db2 connect to DB接続先 user ユーザー名 using パスワード
切断db2 connect reset
テーブル一覧db2 list tables
SQL実行db2 "SQL"
外部SQLファイル実行db2 -tvf ファイル名
現在のコマンドラインオプション状況db2 list command options

コマンド行プリプロセッサ

  • OracleのSQLPlusみたいなものか?上のコマンドウィンドウと同じことを頭のdb2を抜きで 実行できるからこっちのほうが楽だろう。

import/export

CSVファイルからインポート

IMPORT FROM "インポート対象.csv" OF DEL REPLACE INTO インポート対象テーブル;

主キーがかぶったときに置き換えるのがREPLACE。主キーがかぶっても置き換えないのであればINSERTにする。

主要操作

文字コードやロケールなどのDB2構成情報確認

db2 "get database configuration for インスタンス名"

構成情報を更新する

db2 "UPDATE DB CFG FOR データベース名 USING パラメータ名 パラメータ値"

テーブル定義確認

describe table テーブル名

チューニング

統計情報の更新

DB2はコストベースのオプティマイザしかないので統計情報が古いと効率の悪いアクセスプランを選択してしまう。定期的にrunstatsして統計情報を更新すること。

EXPLAINの表示

  1. コントロールセンターでデータベースを右クリック→SQLのEXPLAIN
  2. SQLを貼り付けると図でアクセスプランを見ることができる

索引のアドバイスを取得

db2advis -d データベース名 -i SQLファイル

画面に入りきらないほど出てくる場合は出力をファイルにリダイレクトすること

参考サイト情報

少なくとも日本においてはOracleと違って圧倒的に情報が少ないので貴重な存在。

Counter: 21117, today: 4, yesterday: 1

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-12 (月) 15:33:57