• Like
CLUB DB2 第122回  DB2管理本の著者が教える 簡単運用管理入門
Upcoming SlideShare
Loading in...5
×

CLUB DB2 第122回 DB2管理本の著者が教える 簡単運用管理入門

  • 8,456 views
Uploaded on

2011年4月22日 #clubdb2 の発表資料です。その他の過去資料は、以下のURLからダウンロード可能です。 …

2011年4月22日 #clubdb2 の発表資料です。その他の過去資料は、以下のURLからダウンロード可能です。

http://www.ibm.com/developerworks/wikis/display/clubdb2/materials

CLUB DB2はDB2の勉強会です。

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,456
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
51
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CLUB DB2 #122CLUB 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 Corporation2
  • 3. 今日の目的 データベースの設計・運用管理はシステムによって色々事情が異なります でも小・中規模環境であれば「割り切った」運用管理で省力化が可能です –専任の担当者が置けない小規模システムでは「割り切り」が重要 小・中規模向けのデータベース作成~運用のコツを把握しましょう 【宣伝】基礎から詳しく学習したい方は、ぜひ自著をご参照ください! 即戦力のDB2管理術~仕組みからわかる効率的管理のノウハウ 2011年4月8日発売 (技術評論社) 下佐粉昭 著 A5判/432ページ ISBN 978-4-7741-4597-6 http://db2.jugem.cc/?eid=2341 (書籍紹介) © 2011 IBM Corporation3
  • 4. 目次 ①本番用途のデータベースを簡単に作る –文字コードに注意 –最低限必要な設定 –自動ストレージ ②簡単運用パターン –バックアップ(BACKUP) –データの再編成(REORG) –統計情報の更新(RUNSTATS) ③簡単に監視する –MMC –モニター表関数・ビュー © 2011 IBM Corporation4
  • 5. ①本番用途のデータベースを簡単に作る © 2011 IBM Corporation
  • 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 Corporation6
  • 7. DB2の内部構造 DB2クライアント SQL インスタンス データベース 更新処理情報 エージェント ロガー バッファープール ログバッファー I/Oサーバー I/Oクリーナー ログパス 表は表ス 表スペース ペース上に コンテナー コンテナー 作成される © 2011 IBM Corporation7
  • 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 Corporation8
  • 9. 表スペース表スペースの管理 コンテナー コンテナー コンテナー DB2は柔軟に表スペースを作成可能 –表スペース:表を置くための領域。1つ~複数のコンテナで構成 –コンテナ:表を置くディスク領域そのもの –DMSとSMS:2つのタイプから選択可能 • Large DMS : 高速。一般表用途 • SMS : 表の作成、削除が速く、一時表用途 –キャッシュするバッファープールを表スペース毎に設定可能 LargeCREATE 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 Corporation9
  • 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 Corporation10
  • 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 Corporation11
  • 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 Corporation12
  • 13. ②簡単運用パターン © 2011 IBM Corporation
  • 14. 最低限必要な運用管理 バックアップ –BACKUPコマンド –最も大切。必須の作業 表の再編成 –REORGコマンド 日常的に必要となる管理作業 –更新が多い表には必要 =最低限必要な作業 統計情報の更新 –RUNSTATSコマンド –アクセスプラン(実行計画)を良いものに 維持するために必要 © 2011 IBM Corporation14
  • 15. DB2のバックアップ表領域、ログの両方をバックアップする事が重要 オンライン・オフライン どちらでも実行可能表領域- CREATE TABLESPACE Backupコマンドで指定した領域 Backup コンテナ コンテナ コンテナ コマンド Backupファイル 表データそのものが入っている INCLUDE LOGSでバックアップファイル 内に最低限必要なLOGを含めるログ領域- LOGPATHで指定 LOGARCHMETH1で指定した領域 logmgr アクティブLOG プロセス アーカイブLOGファ アーカイブLOGファ アーカイブLOGファ イル ファイル イル イル トランザクションを記録したログ logmgrはアクティブLOGが一定のサイズに達すると DB2より自動的に起動され、LOGARCHMETH1で指 定された先にLOGをコピーする © 2011 IBM Corporation15
  • 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 Corporation16
  • 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 Corporation17
  • 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 Corporation18
  • 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 Corporation19
  • 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
  • 21. REORGを簡単にする:REORGの回数を減らす② クラスターインデックスを作成することで、データの並び崩れにくくなる 通常のインデックス クラスターインデックス CREATE INDEX idx1 ON tab(c) CREATE INDEX idx2 ON tab(c) CLUSTER D E F C C D E F インデックスの順序とデータの インデックスの順序とデータの 配置順が無関係なので散ら 配置順が一致するように配置さ ばって配置されている れている © 2011 IBM Corporation21
  • 22. 統計情報の更新:なぜ統計情報の更新が必要なのか より良い「アクセスプラン(実行計画)」作成のため データが変更されたら統計情報を更新する必要がある DB2クライアント SQL ①SQLの書き換え エージェント ②複数のアクセス プラン候補を作成 統計情報 ③コストの見積もり ④アクセスプランの 決定 © 2011 IBM Corporation22
  • 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 Corporation23
  • 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 = EMPLOYEEAND 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 Corporation24
  • 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 Corporation25
  • 26. ③簡単に監視する © 2011 IBM Corporation
  • 27. 監視はなぜ必要? 定常監視が重要。 継続的に記録し続けることで、 システムに起こっている変化が 定量的に把握出来るようになります。 時間 © 2011 IBM Corporation27
  • 28. 監視ポイント 小・中規模のシステムでは、DB2の内部情報を詳細に把握するより外部を含めた全体 のトラブルを把握することがより大切 – とはいえ、DB2内部もある程度は取っておきたい.. DB2サーバー DB2関連プロセ •バッファープールヒット率 スの死活監視 •デッドロック数 DB2内部の動 ping等による DB2 DB2 •ソート時間 DB2 作を監視 ネットワーク導 •トランザクション数 通確認 : NIC CPU CPUやメモリ 使用率の監視 メモリ ストレージ全体の使 用率の監視 DB2やOSロ OSのログ DB2の表ス グファイルの DB2表スペースの ペース 監視 DB2の診断情報 使用率の監視 © 2011 IBM Corporation28
  • 29. Windows環境ではMMCが便利 – OSの情報とDB2内部情報を一括して取得できる – 低負荷・リモートから取得可能 – グラフを右クリック⇒カウンタの追加 • DB2 Databases(DBレベルの情報) DBが活性化 ロックウェイト、ソートオーバーフロー 等多数 (Activate)されていな • DB2 Applications (アプリケーションレベルの情報) いと表示されません • DB2 Database Manager(インスタンスレベルの情報) インスタンスが開始 (db2start)していない と表示されません ローカル、もしくはリモート のコンピュータからカウン タデータを収集できます © 2011 IBM Corporation29
  • 30. DB2のモニタリング機能 MONREPORTモジュール モニター表関数・ビュー (テキスト出力) (メトリック) モニタービュー (MON_*から始まる モニター表関数 ビュー。モニター表関 (MON_*で始ま 数を組み合わせて作 る表関数) られている)モニターエレメント(監視項目) スナップショット表 スナップショット管理 関数 ビュー(スナップショッ ト表関数を組み合わ せて作られている) GET SNAPSHOTコマンド スナップショット (テキスト出力) ※スナップショットの使い方については以下を参照 http://www.ibm.com/developerworks/jp/data/library/dataserver/techdoc/kantandb2.html © 2011 IBM Corporation30
  • 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 Corporation31
  • 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 Corporation32
  • 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 Corporation33
  • 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/db2luw/v9r7/topic/com.ibm.db2.luw.sql.rtn.doc/doc/r0056368.html © 2011 IBM Corporation34
  • 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 Corporation35
  • 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 Corporation36
  • 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 Corporation37
  • 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 Corporation38
  • 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 Corporation39
  • 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 Corporation40