Mais conteúdo relacionado
Semelhante a CLUB DB2 第122回 DB2管理本の著者が教える 簡単運用管理入門 (20)
Mais de Akira Shimosako (6)
CLUB DB2 第122回 DB2管理本の著者が教える 簡単運用管理入門
- 1. CLUB DB2 #122
CLUB DB2 第122回
DB2管理本の著者が教える
簡単運用管理入門
2011/04/22
日本アイ・ビー・エム
下佐粉 昭 (しもさこ あきら) rev. 1.2
この資料は下記URLでダウンロード可能です
http://ibm.com/developerworks/wikis/display/clubdb2/materials
© 2011 IBM Corporation
- 2. 自己紹介
下佐粉 昭 ( しもさこ あきら )
和歌山県生まれ
2001年 IBMに中途入社
以来、DB2関連の仕事多し
現在はビジネスパートナー様向け技術支援
■書籍
「即戦力のDB2管理術」
「XML-DB開発 実技コース」(共著)
「DB2 逆引きリファレンス」(共著)
■オンライン
Twitter - @simosako 内容は全てWEBで公開しています!
– http://twitter.com/simosako
http://db2watch.com/
Unofficial DB2 Blog
– http://db2.jugem.cc/
© 2011 IBM Corporation
2
- 3. 今日の目的
データベースの設計・運用管理はシステムによって色々事情が異なります
でも小・中規模環境であれば「割り切った」運用管理で省力化が可能です
–専任の担当者が置けない小規模システムでは「割り切り」が重要
小・中規模向けのデータベース作成~運用のコツを把握しましょう
【宣伝】基礎から詳しく学習したい方は、ぜひ自著をご参照ください!
即戦力のDB2管理術~仕組みからわかる効率的管理のノウハウ
2011年4月8日発売 (技術評論社)
下佐粉昭 著
A5判/432ページ
ISBN 978-4-7741-4597-6
http://db2.jugem.cc/?eid=2341 (書籍紹介)
© 2011 IBM Corporation
3
- 4. 目次
①本番用途のデータベースを簡単に作る
–文字コードに注意
–最低限必要な設定
–自動ストレージ
②簡単運用パターン
–バックアップ(BACKUP)
–データの再編成(REORG)
–統計情報の更新(RUNSTATS)
③簡単に監視する
–MMC
–モニター表関数・ビュー
© 2011 IBM Corporation
4
- 6. データベースを作る
CREATE DATABASEで簡単に作れるが、文字コードだけは注意!
文字コード
–データベースをディスクに記録する際の文字コードを指定
• 文字コードによってディスク使用量が異なる
–クライアントと文字コードが異なる場合、DB2によって自動的に変換
SJIS→Unicode変換 DB2サーバ
SJISアプリ
DB2ク
ライア
ント
Unicode
Unicode→SJIS変換
データベース
簡単な文字コードの選択方法
–クライアントに合わせる
•例)Visual Basicクライアントの場合→ IBM-943(SJIS)を選択
–クライアントが複数の文字コードの場合→ UTF-8(Unicode)を選択
–よく分からない場合→ UTF-8(Unicode)を選択
© 2011 IBM Corporation
6
- 7. DB2の内部構造
DB2クライアント
SQL
インスタンス
データベース
更新処理情報
エージェント ロガー
バッファープール ログバッファー
I/Oサーバー
I/Oクリーナー
ログパス
表は表ス 表スペース
ペース上に コンテナー コンテナー
作成される
© 2011 IBM Corporation
7
- 8. 本番環境に最低限必要な設定
ログ領域
– (できるだけ)表スペースとは別ディスクにする
• 更新処理が重要な場合は高速なディスクを用意する
• DB CFGのNEWLOGPATHで後から変更可能
– サイズを増やす
• DB CFGのLOGPRIMARY(数)を増やす
• DB CFGのLOGFILSZ(サイズ)を増やす
– アーカイブロギングモードに変更する
• DB CFGのLOGARCHMETH1でディレクトリを指定する
循環ロギング アーカイブロギング
1 2次ログ 1 2 3 4 5
(LOGSECOND)
データベース・ログ・パス
n 2 1 2 (LOGPATH)
アーカイブ・ログ・パス LOGARCHMETH1で
3 指定したディレクトリ
1次ログ (LOGARCHMETH1)
へコピー。
(LOGPRIMARY)
データベース・ログ・パス リストア時に利用可
能にする。
(LOGPATH)
© 2011 IBM Corporation
8
- 9. 表スペース
表スペースの管理
コンテナー コンテナー コンテナー
DB2は柔軟に表スペースを作成可能
–表スペース:表を置くための領域。1つ~複数のコンテナで構成
–コンテナ:表を置くディスク領域そのもの
–DMSとSMS:2つのタイプから選択可能
• Large DMS : 高速。一般表用途
• SMS : 表の作成、削除が速く、一時表用途
–キャッシュするバッファープールを表スペース毎に設定可能
Large
CREATE LARGE TABLESPACE MYTS1 結構面倒...
DMSで作成
MANAGED BY DATABASE USING
(FILE 'D:¥db2data¥container1' 200M, 2つのコンテナをファイル
FILE 'E:¥db2data¥container2' 200M) で定義
AUTORESIZE YES
INCREASESIZE 100M 自動拡張を設定。サイズが不足した場合は
MAXSIZE 10G 100MBずつ増加し、最大10GBまで拡張する
BUFFERPOOL MYBP1 バッファープールを指定
© 2011 IBM Corporation
9
- 10. 表スペース管理を簡単にする
自動ストレージ機能を使って表スペース管理を簡単にする
– CREATE DATABASEで「ストレージパス」を指定するだけ
> db2 "CREATE DB MYDB ON 'D:¥db2data','E:¥db2data¥' DBPATH ON 'C:'
– 表スペース作成が劇的に簡単に!
• DB2が自動的にストレージパス上にコンテナを作成し、適切な表スペースタイプ
を選択してくれる
> db2 "CREATE TABLESPACE MYTS2" (Large DMSで作成される)
> db2 "CREATE USER TEMPORARY TABLESPACE USERTEMP1" (SMSで作成される)
– ストレージパスに複数のデバイスを設定すると自動的にストライピング
– ストレージパスがRAIDデバイスの場合、以下を設定するだけで並列アクセスに
• db2set DB2_PARALLEL_IO=*
© 2011 IBM Corporation
10
- 11. (参考)自動ストレージの指定方法:サンプル
• ユーザ表スペースの初期サイズを300MB、100MB単位で増加、最大10GBを指定
> db2 "CREATE DATABASE MYDB ON 'D:¥db2data','E:¥db2data¥' DBPATH ON 'C:'
USER TABLESPACE MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 300 M INCREASESIZE 100 M MAXSIZE 10 G" ※サイズの指定は数字と単位
の間に空白が必用です(300M
ではなく、300 M)
初期サイズと増加サイズ、最大サイズを指定して表スペースを追加
> db2 "CREATE TABLESPACE MYTS2 INITIALSIZE 100 M INCREASESIZE 10 M MAXSIZE 1 G"
※サイズを指定しなかった場合、
初期サイズ30MB,自動増加
100MB、最大10GBで作成
© 2011 IBM Corporation
11
- 12. ここまでのまとめ
自動ストレージを有効にしてUTF-8(もしくはIBM-943)でデータベースを作る
db2set DB2_PARALLEL_IO=* (※ストレージパスがRAIDデバイスの場合のみ)
db2 "CREATE DATABASE MYDB ON D:¥db2data1,E:¥db2data2 DBPATH ON C:
USING CODESET UTF-8 TERRITORY JP"
ログのディレクトリとサイズ調整
db2 "UPDATE DB CFG FOR MYDB USING LOGPRIMARY 10"
db2 "UPDATE DB CFG FOR MYDB USING LOGFILSZ 10000"
db2 "UPDATE DB CFG FOR MYDB USING NEWLOGPATH F:¥db2log"
アーカイブログモードに変更して一度フルバックアップ
db2 "UPDATE DB CFG FOR MYDB USING LOGARCMETH1 DISK:G:¥db2arclog"
db2 "BACKUP DB mydb TO G:¥db2backup"
© 2011 IBM Corporation
12
- 14. 最低限必要な運用管理
バックアップ
–BACKUPコマンド
–最も大切。必須の作業
表の再編成
–REORGコマンド
日常的に必要となる管理作業
–更新が多い表には必要
=最低限必要な作業
統計情報の更新
–RUNSTATSコマンド
–アクセスプラン(実行計画)を良いものに
維持するために必要
© 2011 IBM Corporation
14
- 15. DB2のバックアップ
表領域、ログの両方をバックアップする事が重要
オンライン・オフライン
どちらでも実行可能
表領域- CREATE TABLESPACE
Backupコマンドで指定した領域
Backup
コンテナ コンテナ コンテナ コマンド Backupファイル
表データそのものが入っている
INCLUDE LOGSでバックアップファイル
内に最低限必要なLOGを含める
ログ領域- LOGPATHで指定
LOGARCHMETH1で指定した領域
logmgr
アクティブLOG プロセス アーカイブLOGファ
アーカイブLOGファ
アーカイブLOGファ
イル
ファイル イル
イル
トランザクションを記録したログ logmgrはアクティブLOGが一定のサイズに達すると
DB2より自動的に起動され、LOGARCHMETH1で指
定された先にLOGをコピーする
© 2011 IBM Corporation
15
- 16. BACKUP
DB2のバックアップは、BACKUP DATABASEコマンドで行うのが基本
BACKUP DATABASE MYDB TO dir [ONLINE]
[INCREMENTAL [DELTA]] [COMPRESS] [INCLUDE LOGS]
– 機能
• 差分バックアップ可能 (INCREMENTAL [DELTA]キーワード)
• オンラインバックアップ可能(ONLINEキーワード)
• イメージの圧縮可能(COMPRESSキーワード)
• 必要なログファイルをバックアップイメージに含める(INCLUDE LOGSキーワード)
– データだけでなく、構成パラメタやコンテナ(表領域のディスク)の物理位置等もバック
アップされる
– 差分やオンライン・オフラインを自由に組み合わせる事が可能
• ファイル名は自動的に付けられるので、定期的に実行するのも簡単
※差分バックアップを利用するにはDB CFGのTRACKMODをYESに設定する必要がある
>db2 "UPDATE DB CFG FOR MYDB USING TRACKMOD YES"
© 2011 IBM Corporation
16
- 17. BACKUPを簡単にする
BACKUPの面倒なところ①
Q:差分とか、オンラインとかオフラインとかどのオプションを使えば良いの?
A:小・中規模DB向けに割り切れば...
• 小さいデータベースは毎回全体バックアップでOK
• 停止時間中にオフライン もしくは ONLINE+INCLUDE LOGS
> db2 "BACKUP DB MYDB TO /db2backup"
> db2 "BACKUP DB MYDB TO /db2backup ONLINE INCLUDE LOGS"
BACKUPの面倒なところ② – いつ消すのか?
– 古いバックアップ・イメージ(バックアップ・ディレクトリ)
– 古いアーカイブ・ログ(アーカイブ・ログ・パス)
• 間違ったファイルを消すと一大事に...
そこでリカバリー履歴ファイルを活用して簡単に運用
© 2011 IBM Corporation
17
- 18. リカバリー履歴ファイルとAUTO_DEL_REC_OBJ
リカバリー履歴ファイル
– BACKUPやLOADコマンドの履歴を記録している
– LIST HISTORYコマンドやSYSIBMADM.DB_HISTORY表で閲覧可能
>db2 "LIST HISTORY BACKUP ALL FOR MYDB"
– PRUNE HISTORYコマンドで古い履歴を削除可能
AUTO_DEL_REC_OBJ
– ONにすると、PRUNE HISTORY時に関連するオブジェクトが削除可能に
> db2 "UPDATE DB CFG FOR MYDB USING AUTO_DEL_REC_OBJ ON"
以下のように簡単運用が可能
– 自動実行シェルなどで、毎日定期的にBACKUPコマンドを実行
– 一ヶ月に一回などのタイミングでPRUNE HISTORY ... AND DELETEを実行して
履歴とともに古いデータを消す
例)
> db2 "PRUNE HISTORY 20110219223044 AND DELETE"
© 2011 IBM Corporation
18
- 19. REORG
更新処理によってデータはじょじょに”ばらばら”になる
– DB2ではREORG コマンドでデータを並べなおす
REORG TABLE テーブル名 [INPLACE] [ALLOW {READ|WRITE|NO} ACCESS]
REORG INDEXES ALL FOR TABLE テーブル名 [ALLOW {READ|WRITE|NO} ACCESS]
REORGCHKコマンドでREORGの必要性を確認
> REORGCHK CURRENT STATISTICS [ON TABLE テーブル名]
REORGのオプション:シャドーコピーかインプレースか?
– REORG中に表に書き込みたいなら、INPLACEで(ログあふれに注意)
メリット デメリット
シャドーコピー 高速 テンポラリ領域が必要
インデックスのREORGが可能 REORG中は書き込み不可
インプレース テンポラリ領域が不要 インデックスを別にREROGする必要
REORG中の更新アクセス可能 同一表領域に10-20%の空きが必要
一時停止、再開が可能 ログが増える
© 2011 IBM Corporation
19
- 20. REORGを簡単にする:REORGの回数を減らす①
①PCTFREE=0のケース(デフォルト):ページサイズギリギリまで行を
詰めこむように配置。行が長くなるとオーバーフローしやすい ページ
行1 行2 行3
行4 行1(更新後)※オーバーフロー行
②PCTFREE=20のケース:ページサイズに20%の余白を残して配置さ
れる。この例では行3が入らなくなり、次のページに格納されている
20%の余白
ALTER TABLE tab1 PCTFREE 20;
REORG TABLE tab1;
行1 行2
行3 行4
③PCTFREE=20のケースで行1が長いデータで更新された状態。余
白があるため、行1がオーバーフローせずに済んでいる
行1(更新後) 行2
行3 行4 © 2011 IBM Corporation
20
- 22. 統計情報の更新:なぜ統計情報の更新が必要なのか
より良い「アクセスプラン(実行計画)」作成のため
データが変更されたら統計情報を更新する必要がある
DB2クライアント
SQL
①SQLの書き換え
エージェント
②複数のアクセス
プラン候補を作成
統計情報
③コストの見積もり
④アクセスプランの
決定 © 2011 IBM Corporation
22
- 23. RUNSTATS
多くの場合、この
RUNSTATSコマンドにて統計情報を更新する 基本形でOK
RUNSTATS ON TABLE スキーマ名.表名 [ON ALL COLUMNS]
データに「偏り」がある場合、
もう少し進んだ使い方 分散統計を試してください
– 例①分散統計付で収集する
• RUNSTATS ON TABLE ... WITH DISTRIBUTION AND INDEXES ALL
– 例②すべての列について統計を収集し、c1列についてLIKE統計を収集する
• RUNSTATS ON TABLE ... ON ALL COLUMNS AND COLUMNS (c1 LIKE
STATISTICS)
– 例③約10%のデータをサンプルとして使用して統計を収集する
• RUNSTATS ON TABLE ... ON ALL COLUMNS TABLESAMPLE SYSTEM(10)
• RUNSTATS ON TABLE ... ON ALL COLUMNS TABLESAMPLE BERNOULLI(10)
■参考文献
「DB2 UDBバージョン8.2のRUNSTATS」(サンプル多数で分かりやすい)
http://ibm.com/jp/domino01/mkt/dminfo.nsf/doc/002B4A0C © 2011 IBM Corporation
23
- 24. RUNSTATSを簡単にする:統計プロファイル
表の特性に合わせて毎回RUNSTATSのオプションを変えるのが大変
– SET PROFILEでRUNSTATSのオプションが記憶される
• SYSCAT.TABLESのSTATISTICS_PROFILE列で確認可能
>db2 "RUNSTATS ON TABLE SIM.EMPLOYEE WITH DISTRIBUTION AND INDEXES ALL SET PROFILE"
>db2 "SELECT VARCHAR(TABNAME,10),VARCHAR(STATISTICS_PROFILE,100) FROM SYSCAT.TABLES WHERE TABNAME = 'EMPLOYEE'
AND TABSCHEMA='SIM'"
1 2
---------- ----------------------------------------------------------------------------------------------------
EMPLOYEE RUNSTATS ON TABLE "SIM"."EMPLOYEE" ON ALL COLUMNS WITH DISTRIBUTION ON ALL COLUMNS AND INDEXES ALL
USE PROFILEを付けて実行すると、セットしたオプションで実行される
> db2 "RUNSTATS ON TABLE SIM.EMPLOYEE USE PROFILE"
NONE PROFILEを付けて実行すると、プロファイルを削除
> db2 "RUNSTATS ON TABLE SIM.EMPLOYEE UNSET PROFILE"
© 2011 IBM Corporation
24
- 25. RUNSTATSを簡単にする:自動化
RUNSTATSを自動的に行う
– 自動RUNSTATS
• 2時間おきの非同期RUNSTATSがスケジュールされる
v9.7からデフォ
– 自動ステートメント統計(リアルタイム統計収集)
ルトでON
• SQLを実行しようとした瞬間に、必要なら統計情報を更新
自動保守 (AUTO_MAINT) = ON
データベース自動バックアップ (AUTO_DB_BACKUP) = OFF 自動化全体の
表自動保守 (AUTO_TBL_MAINT) = ON 親パラメータ
自動 RUNSTATS (AUTO_RUNSTATS) = ON
自動ステートメント統計 (AUTO_STMT_STATS) = ON (DB CFG)
自動再編成 (AUTO_REORG) = OFF
簡単運用の方法
– 小・中規模のシステムでは自動RUNSTATSがONで問題ない
• データを入れた最初だけは手動で実行し、あとは自動に任せる
• 基本形以外のRUNSTATSが必要な表には統計プロファイルを作成しておく
• (オプション)バックアップのタイミングでdb2look -m で統計情報も保存する
> db2look -m -d MYDB -z SIM -o stat.sql
© 2011 IBM Corporation
25
- 28. 監視ポイント
小・中規模のシステムでは、DB2の内部情報を詳細に把握するより外部を含めた全体
のトラブルを把握することがより大切
– とはいえ、DB2内部もある程度は取っておきたい..
DB2サーバー
DB2関連プロセ •バッファープールヒット率
スの死活監視 •デッドロック数 DB2内部の動
ping等による DB2
DB2 •ソート時間
DB2 作を監視
ネットワーク導 •トランザクション数
通確認 :
NIC
CPU CPUやメモリ
使用率の監視
メモリ
ストレージ全体の使
用率の監視 DB2やOSロ
OSのログ
DB2の表ス グファイルの
DB2表スペースの ペース 監視
DB2の診断情報
使用率の監視
© 2011 IBM Corporation
28
- 29. Windows環境ではMMCが便利
– OSの情報とDB2内部情報を一括して取得できる
– 低負荷・リモートから取得可能
– グラフを右クリック⇒カウンタの追加
• DB2 Databases(DBレベルの情報) DBが活性化
ロックウェイト、ソートオーバーフロー 等多数 (Activate)されていな
• DB2 Applications (アプリケーションレベルの情報) いと表示されません
• DB2 Database Manager(インスタンスレベルの情報)
インスタンスが開始
(db2start)していない
と表示されません
ローカル、もしくはリモート
のコンピュータからカウン
タデータを収集できます
© 2011 IBM Corporation
29
- 30. DB2のモニタリング機能
MONREPORTモジュール
モニター表関数・ビュー
(テキスト出力)
(メトリック)
モニタービュー
(MON_*から始まる
モニター表関数
ビュー。モニター表関
(MON_*で始ま
数を組み合わせて作
る表関数)
られている)
モニターエレ
メント(監視項
目)
スナップショット表 スナップショット管理
関数 ビュー(スナップショッ
ト表関数を組み合わ
せて作られている)
GET SNAPSHOTコマンド
スナップショット (テキスト出力)
※スナップショットの使い方については以下を参照
http://www.ibm.com/developerworks/jp/data/library/dataserver/techdoc/kantandb2.html © 2011 IBM Corporation
30
- 31. モニター表関数(メトリック)
DB2 9.7から追加された低負荷・高機能の新しいインターフェース
DB CFGパラメーターでメトリックのモニタリングを設定
– デフォルトで有効なので準備不要!
スナップショットと異なり、全てのカウンタはリセットできません
– DEACTIVATEで消えます
Request metrics (MON_REQ_METRICS) = BASE
Activity metrics (MON_ACT_METRICS) = BASE
Object metrics (MON_OBJ_METRICS) = BASE
MON_REQ_METRICS
MON_REQ_METRICS MON_ACT_METRICS
MON_ACT_METRICS MON_OBJ_METRICS
MON_OBJ_METRICS
システム レベル パッケージ・キャッシュ・ステートメ データ・オブジェクト レベル
ント レベル MON_GET_TABLE
MON_GET_SERVICE_SUBCLASS
MON_GET_PKG_CACHE_STMT MON_GET_INDEX
MON_GET_WORKLOAD
MON_GET_BUFFERPOOL
MON_GET_CONNECTION アクティビティー レベル MON_GET_TABLESPACE
MON_GET_UNIT_OF_WORK MON_GET_ACTIVITY_DETAILS MON_GET_CONTAINER
MON_GET_EXTENT_MOVEMENT_STATUS
© 2011 IBM Corporation
31
- 32. モニター表関数のメリット
データオブジェクトレベルの便利なビューや表関数が揃っている
– MON_GET_BUFFERPOOL : バッファープールヒット率など
– MON_GET_TABLE : 表スキャンの数など
– MON_GET_INDEX :インデックススキャンの数など
接続毎の情報、サブクラス毎の情報など、取得範囲が調整できる
例)ABPの動作を除いたデータを取得できる
– DB2 非同期バックグラウンドプロセス (ABP) エージェント
• 自動管理(自動RUNSTATSなど)の確認&実行作業を行う
• クラス:SYSDEFAULTMAINTENANCECLASS で実行されている
> db2 "SELECT VARCHAR(SERVICE_SUPERCLASS_NAME,30) AS SERVICE_SPARCLASS,
TOTAL_APP_COMMITS FROM TABLE(MON_GET_SERVICE_SUBCLASS('','',-2)) AS t"
SERVICE_SPARCLASS TOTAL_APP_COMMITS
------------------------------ --------------------
SYSDEFAULTSYSTEMCLASS 0
SYSDEFAULTMAINTENANCECLASS 1856
SYSDEFAULTUSERCLASS 31272
3 レコードが選択されました。
© 2011 IBM Corporation
32
- 33. 大まかなデータでも、日々取ってい
簡単な定常監視① るといないとでは大違いです
方針:出来るだけ簡単に、他のソフトを使わずに取得する
方法① OSの自動実行機能でモニター表関数実行スクリプトを実行する
=> サマリーのモニタービュー(MON_*_SUMMARY)がお勧め
• 例)MON_DB_SUMMARY - DB全体のサマリ情報
CONNECT TO MYDB; EXPORTコマンド
VALUES CURRENT TIMESTAMP; でCSVに書き出す
SELECT * FROM SYSIBMADM.MON_DB_SUMMARY; 方法もあります
CONNECT RESET;
※これをsu - db2inst1 -c 'db2 -z today.log -tvf monitor.sql' などで定期的に呼び出す
MON_DB_SUMMARYビューに含まれる情報(一部)
• TOTAL_APP_COMMITS (コミット数≒トランザクション数)
• AVG_RQST_CPU_TIME (平均CPU使用時間[ms])
• IO_WAIT_TIME_PERCENT (待機時間のうちIOウェイトの比率[%])
• TOTAL_BP_HIT_RATIO_PERCENT(バッファープールヒット率[%])
など
© 2011 IBM Corporation
33
- 34. 簡単な定常監視② ※なぜかDB2 Express-C 9.7
FP3では使用できません
方法② MONREPORTモジュール (DB2 9.7 FP1新機能)
–人が読みやすいレポートを生成する
例)MONREPORT.DBSUMMARYプロシージャ
> db2 "CALL MONREPORT.DBSUMMARY(300)" > today.log
• 指定された秒数の間データをモニタし、レポートを作成する
あくまで実行していた間の情報しか出力しない
※MONREPORTモジュール
http://publib.boulder.ibm.com/infocenter/d
b2luw/v9r7/topic/com.ibm.db2.luw.sql.rtn.d
oc/doc/r0056368.html
© 2011 IBM Corporation
34
- 35. まとめ
DB2の運用管理は意外と簡単!
–自動ストレージで、表領域を簡単に
–バックアップは、ヒストリー機能を使って簡単に
–モニター表関数の便利なビューで、簡単定常監視
次のステップ
–以下に技術情報が集められています
• http://www.ibm.com/developerworks/jp/data/products/db2/db2_97.html
–お勧め資料
• DB2 V9.7 運用管理ガイド: データベース・モニタリング
http://www.ibm.com/developerworks/jp/data/products/db2/operation-management-
guide/v97_database-monitor.html
• DB2 V9.5 運用管理ガイド:DB2 for LUW V9.5 データベース・メンテナンス
http://ibm.com/jp/domino01/mkt/dminfo.nsf/doc/0013DB49
© 2011 IBM Corporation
35
- 36. 参考資料
CLUB DB2の過去セミナー資料公開中
– http://ibm.com/developerworks/wikis/display/clubdb2/materials
カンタン!DB2テクテク第1歩 基本機能編
– 若干古い資料ですが、各種基本コマンドの使い方がやさしく解説されています
– http://ibm.com/jp/software/data/developer/library/techdoc/kantandb2.html
db2pd利用ガイド DB2 v9対応版
– 問題判別や監視に大変有用なdb2pdの使い方解説
– http://ibm.com/jp/domino01/mkt/dminfo.nsf/doc/00217BBA
DB2 Express-Cの導入方法解説(無料のDB2で試しましょう!)
– http://ibm.com/developerworks/jp/data/library/db2/j_d-db2v97wininstall/ (Windows用
v9.7)
– http://ibm.com/developerworks/jp/offers/db2express-c/installwin_v95/ (Windows用 v9.5)
– http://ibm.com/developerworks/jp/offers/db2express-c/installlin_v95/ (Linux用 v9.5)
© 2011 IBM Corporation
36
- 37. 参考資料(マニュアル)
DB2のオンラインドキュメント:インフォメーションセンター
常に最新の情報が閲覧できます。検索機能付き
– DB2 9.7版
• http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp
– DB2 9.5版
• http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp
– DB2 9.1版
• http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp
– ネットワークに繋がっていなくても閲覧できる「オフライン版」
• http://db2.jugem.cc/?eid=1933
DB2のPDF版マニュアル
日本語、英語など各国語版がダウンロード可能です
– DB2 9.7版
• http://ibm.com/support/docview.wss?rs=71&uid=swg27015149
– DB2 9.5版
• http://ibm.com/support/docview.wss?rs=71&uid=swg27009728
– DB2 9.1版
• http://ibm.com/support/docview.wss?rs=71&uid=swg27009553
DB2の日本語ドキュメント一覧は以下の短縮URLからも辿れます
http://j.mp/db2docsja
© 2011 IBM Corporation
37
- 38. CREATE DATABASEのオプション
db2 "CREATE DATABASE データベース名
ON ストレージパス DBPATH ON データベースパス
USING CODESET コードセット TERRITORY JP
COLLATE USING ソート種別
PAGESIZE 4 K"
データベース名 作成するDBの名前(8バイトまで)
ストレージパス コンテナを作成するディレクトリ。カンマで複数指定可能
データベースパス DBの構成情報を格納するディレクトリ
コードセット どの文字コードで保存するのかを決める。SJIS(IBM-943),Unicode(UTF-8)など
ソート種別 文字の並び順序の指定
UTF-8の場合:SYSTEM_943_JP が推奨
SJISやEUCの場合: IDENTITY が推奨
ページサイズ 4 Kが推奨。ただしデータウェアハウス用途やXMLを格納する場合は32 Kが推奨
注)以前はWindows版にはDBPATHをドライブ名でしか指定できないという制限がありました。現在はその
制限は撤廃されていますが、レジストリー変数DB2_CREATE_DB_ON_PATH を「ON」に設定しないと
ディレクトリが指定できません。(デフォルトではOFF)
> db2set DB2_CREATE_DB_ON_PATH=ON © 2011 IBM Corporation
38
- 39. インスタンスとデータベース
DB2 システム構成概略
インスタンス1(50000番)
DB2インスタンス1の待
ち受けポート(50000番) データベース
DB_A データベース
DB_B
DB_Aに接続
・インスタンスは起動/停止の単位 インスタンス2(50010番)
起動/停止
db2start (開始), db2stop(停止)
DB情報
・複数のインスタンスを作成可能です
収集 データベース
・インスタンス内に複数のデータベースを作成可能 管理サーバ DB_C
(523番)
・1インスタンスにつき、1つのTCP/IPポートを使用
© 2011 IBM Corporation
39
- 40. 構成パラメータ
DB2の構成パラメータは3種類 システム(レジストリ)
– それぞれ影響範囲が異なる インスタンス (DBM CFG)
– 調整は、DB CFGが中心
データベース (DB CFG)
影響範囲 取得 更新
レジストリ変 システム全体 db2set [-all] db2set REG1=VAL1
数 もしくはイン
スタンス内
データベース インスタンス GET DBM CFG UPDATE DBM CFG USING
マネージャ 内 cfg1 val1 [cfg2
(DBM)構成パラ val2 ...]
メーター
データベース データベース GET DB CFG FOR db名 UPDATE DB CFG FOR db名
(DB)構成パラ USING cfg1 val1 [cfg2
メーター val2 ..]
© 2011 IBM Corporation
40