Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DB2管理本の著者が教える 簡単運用管理入門 (Club DB2)

DB2管理本の著者が教える 簡単運用管理入門 (Club DB2)

2011/4/22 DB2管理本の著者が教える 簡単運用管理入門 (Club DB2)
Club DB2 という、IBM DB2 の勉強会イベントで以前発表した資料です。かなり古いものなので情報が今とは異なる部分もあると思いますが、保存のためにアップロードしています。

Akira Shimosako

June 02, 2022
Tweet

More Decks by Akira Shimosako

Other Decks in Technology

Transcript

  1. © 2011 IBM Corporation CLUB DB2 第122回 DB2管理本の著者が教える 簡単運用管理入門 CLUB

    DB2 #122 2011/04/22 日本アイ・ビー・エム 下佐粉 昭 (しもさこ あきら) rev. 1.2 この資料は下記URLでダウンロード可能です http://ibm.com/developerworks/wikis/display/clubdb2/materials
  2. © 2011 IBM Corporation 2 自己紹介 下佐粉 昭 ( しもさこ

    あきら ) 和歌山県生まれ 2001年 IBMに中途入社 以来、DB2関連の仕事多し 現在はビジネスパートナー様向け技術支援 ▪書籍 「即戦力のDB2管理術」 「XML-DB開発 実技コース」(共著) 「DB2 逆引きリファレンス」(共著) ▪オンライン Twitter - @simosako – http://twitter.com/simosako Unofficial DB2 Blog – http://db2.jugem.cc/ 内容は全てWEBで公開しています! http://db2watch.com/
  3. © 2011 IBM Corporation 3 今日の目的 データベースの設計・運用管理はシステムによって色々事情が異なります でも小・中規模環境であれば「割り切った」運用管理で省力化が可能です –専任の担当者が置けない小規模システムでは「割り切り」が重要 小・中規模向けのデータベース作成~運用のコツを把握しましょう

    【宣伝】基礎から詳しく学習したい方は、ぜひ自著をご参照ください! 即戦力のDB2管理術~仕組みからわかる効率的管理のノウハウ 2011年4月8日発売 (技術評論社) 下佐粉昭 著 A5判/432ページ ISBN 978-4-7741-4597-6 http://db2.jugem.cc/?eid=2341 (書籍紹介)
  4. © 2011 IBM Corporation 4 目次 ①本番用途のデータベースを簡単に作る –文字コードに注意 –最低限必要な設定 –自動ストレージ

    ②簡単運用パターン –バックアップ(BACKUP) –データの再編成(REORG) –統計情報の更新(RUNSTATS) ③簡単に監視する –MMC –モニター表関数・ビュー
  5. © 2011 IBM Corporation 6 データベースを作る CREATE DATABASEで簡単に作れるが、文字コードだけは注意! 文字コード –データベースをディスクに記録する際の文字コードを指定

    • 文字コードによってディスク使用量が異なる –クライアントと文字コードが異なる場合、DB2によって自動的に変換 SJISアプリ DB2サーバ DB2ク ライア ント Unicode データベース Unicode→SJIS変換 SJIS→Unicode変換 簡単な文字コードの選択方法 –クライアントに合わせる •例)Visual Basicクライアントの場合→ IBM-943(SJIS)を選択 –クライアントが複数の文字コードの場合→ UTF-8(Unicode)を選択 –よく分からない場合→ UTF-8(Unicode)を選択
  6. © 2011 IBM Corporation 7 DB2の内部構造 コンテナー コンテナー 表スペース 表は表ス

    ペース上に 作成される バッファープール インスタンス I/Oクリーナー I/Oサーバー データベース エージェント SQL ロガー ログパス ログバッファー DB2クライアント 更新処理情報
  7. © 2011 IBM Corporation 8 本番環境に最低限必要な設定 ログ領域 – (できるだけ)表スペースとは別ディスクにする •

    更新処理が重要な場合は高速なディスクを用意する • DB CFGのNEWLOGPATHで後から変更可能 – サイズを増やす • DB CFGのLOGPRIMARY(数)を増やす • DB CFGのLOGFILSZ(サイズ)を増やす – アーカイブロギングモードに変更する • DB CFGのLOGARCHMETH1でディレクトリを指定する 1 循環ロギング 3 2 n 1次ログ (LOGPRIMARY) 1 2 アーカイブロギング 1 2 3 4 5 2次ログ (LOGSECOND) アーカイブ・ログ・パス (LOGARCHMETH1) LOGARCHMETH1で 指定したディレクトリ へコピー。 リストア時に利用可 能にする。 データベース・ログ・パス (LOGPATH) データベース・ログ・パス (LOGPATH)
  8. © 2011 IBM Corporation 9 表スペースの管理 DB2は柔軟に表スペースを作成可能 –表スペース:表を置くための領域。1つ~複数のコンテナで構成 –コンテナ:表を置くディスク領域そのもの –DMSとSMS:2つのタイプから選択可能

    • Large DMS : 高速。一般表用途 • SMS : 表の作成、削除が速く、一時表用途 –キャッシュするバッファープールを表スペース毎に設定可能 コンテナー コンテナー コンテナー 表スペース CREATE LARGE TABLESPACE MYTS1 MANAGED BY DATABASE USING (FILE 'D:¥db2data¥container1' 200M, FILE 'E:¥db2data¥container2' 200M) AUTORESIZE YES INCREASESIZE 100M MAXSIZE 10G BUFFERPOOL MYBP1 2つのコンテナをファイル で定義 Large DMSで作成 自動拡張を設定。サイズが不足した場合は 100MBずつ増加し、最大10GBまで拡張する バッファープールを指定 結構面倒...
  9. © 2011 IBM Corporation 10 表スペース管理を簡単にする 自動ストレージ機能を使って表スペース管理を簡単にする – CREATE DATABASEで「ストレージパス」を指定するだけ

    – 表スペース作成が劇的に簡単に! • DB2が自動的にストレージパス上にコンテナを作成し、適切な表スペースタイプ を選択してくれる – ストレージパスに複数のデバイスを設定すると自動的にストライピング – ストレージパスがRAIDデバイスの場合、以下を設定するだけで並列アクセスに • db2set DB2_PARALLEL_IO=* > db2 "CREATE DB MYDB ON 'D:¥db2data','E:¥db2data¥' DBPATH ON 'C:' > db2 "CREATE TABLESPACE MYTS2" (Large DMSで作成される) > db2 "CREATE USER TEMPORARY TABLESPACE USERTEMP1" (SMSで作成される)
  10. © 2011 IBM Corporation 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" 初期サイズと増加サイズ、最大サイズを指定して表スペースを追加 > db2 "CREATE TABLESPACE MYTS2 INITIALSIZE 100 M INCREASESIZE 10 M MAXSIZE 1 G" ※サイズの指定は数字と単位 の間に空白が必用です(300M ではなく、300 M) ※サイズを指定しなかった場合、 初期サイズ30MB,自動増加 100MB、最大10GBで作成
  11. © 2011 IBM Corporation 12 ここまでのまとめ 自動ストレージを有効にしてUTF-8(もしくはIBM-943)でデータベースを作る ログのディレクトリとサイズ調整 アーカイブログモードに変更して一度フルバックアップ 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" db2set DB2_PARALLEL_IO=* (※ストレージパスがRAIDデバイスの場合のみ) db2 "CREATE DATABASE MYDB ON D:¥db2data1,E:¥db2data2 DBPATH ON C: USING CODESET UTF-8 TERRITORY JP"
  12. © 2011 IBM Corporation 14 最低限必要な運用管理 バックアップ –BACKUPコマンド –最も大切。必須の作業 表の再編成

    –REORGコマンド –更新が多い表には必要 統計情報の更新 –RUNSTATSコマンド –アクセスプラン(実行計画)を良いものに 維持するために必要 日常的に必要となる管理作業 =最低限必要な作業
  13. © 2011 IBM Corporation 15 DB2のバックアップ コンテナ コンテナ コンテナ 表領域-

    CREATE TABLESPACE ログ領域- LOGPATHで指定 Backup コマンド logmgr プロセス Backupコマンドで指定した領域 Backupファイル LOGARCHMETH1で指定した領域 アーカイブLOGファ イル アーカイブLOGファ イル アーカイブLOGファ イル アクティブLOG ファイル 表データそのものが入っている トランザクションを記録したログ logmgrはアクティブLOGが一定のサイズに達すると DB2より自動的に起動され、LOGARCHMETH1で指 定された先にLOGをコピーする オンライン・オフライン どちらでも実行可能 INCLUDE LOGSでバックアップファイル 内に最低限必要なLOGを含める 表領域、ログの両方をバックアップする事が重要
  14. © 2011 IBM Corporation 16 BACKUP DB2のバックアップは、BACKUP DATABASEコマンドで行うのが基本 – 機能

    • 差分バックアップ可能 (INCREMENTAL [DELTA]キーワード) • オンラインバックアップ可能(ONLINEキーワード) • イメージの圧縮可能(COMPRESSキーワード) • 必要なログファイルをバックアップイメージに含める(INCLUDE LOGSキーワード) – データだけでなく、構成パラメタやコンテナ(表領域のディスク)の物理位置等もバック アップされる – 差分やオンライン・オフラインを自由に組み合わせる事が可能 • ファイル名は自動的に付けられるので、定期的に実行するのも簡単 BACKUP DATABASE MYDB TO dir [ONLINE] [INCREMENTAL [DELTA]] [COMPRESS] [INCLUDE LOGS] ※差分バックアップを利用するにはDB CFGのTRACKMODをYESに設定する必要がある >db2 "UPDATE DB CFG FOR MYDB USING TRACKMOD YES"
  15. © 2011 IBM Corporation 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の面倒なところ② – いつ消すのか? – 古いバックアップ・イメージ(バックアップ・ディレクトリ) – 古いアーカイブ・ログ(アーカイブ・ログ・パス) • 間違ったファイルを消すと一大事に... そこでリカバリー履歴ファイルを活用して簡単に運用
  16. © 2011 IBM Corporation 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"
  17. © 2011 IBM Corporation 19 REORG 更新処理によってデータはじょじょに”ばらばら”になる – DB2ではREORG コマンドでデータを並べなおす

    REORG TABLE テーブル名 [INPLACE] [ALLOW {READ|WRITE|NO} ACCESS] REORG INDEXES ALL FOR TABLE テーブル名 [ALLOW {READ|WRITE|NO} ACCESS] テンポラリ領域が不要 REORG中の更新アクセス可能 一時停止、再開が可能 高速 インデックスのREORGが可能 メリット インデックスを別にREROGする必要 同一表領域に10-20%の空きが必要 ログが増える インプレース テンポラリ領域が必要 REORG中は書き込み不可 シャドーコピー デメリット REORGCHKコマンドでREORGの必要性を確認 > REORGCHK CURRENT STATISTICS [ON TABLE テーブル名] REORGのオプション:シャドーコピーかインプレースか? – REORG中に表に書き込みたいなら、INPLACEで(ログあふれに注意)
  18. © 2011 IBM Corporation 20 REORGを簡単にする:REORGの回数を減らす① ページ 行1 行2 行3

    行4 ①PCTFREE=0のケース(デフォルト):ページサイズギリギリまで行を 詰めこむように配置。行が長くなるとオーバーフローしやすい 行1 行2 行3 行4 ②PCTFREE=20のケース:ページサイズに20%の余白を残して配置さ れる。この例では行3が入らなくなり、次のページに格納されている 20%の余白 行1(更新後) 行2 行3 行4 ③PCTFREE=20のケースで行1が長いデータで更新された状態。余 白があるため、行1がオーバーフローせずに済んでいる 行1(更新後)※オーバーフロー行 ALTER TABLE tab1 PCTFREE 20; REORG TABLE tab1;
  19. © 2011 IBM Corporation 21 REORGを簡単にする:REORGの回数を減らす② インデックスの順序とデータの 配置順が無関係なので散ら ばって配置されている E

    F D C 通常のインデックス クラスターインデックス インデックスの順序とデータの 配置順が一致するように配置さ れている E F D C クラスターインデックスを作成することで、データの並び崩れにくくなる CREATE INDEX idx2 ON tab(c) CLUSTER CREATE INDEX idx1 ON tab(c)
  20. © 2011 IBM Corporation 22 統計情報の更新:なぜ統計情報の更新が必要なのか エージェント SQL DB2クライアント ①SQLの書き換え

    ②複数のアクセス プラン候補を作成 ③コストの見積もり ④アクセスプランの 決定 統計情報 より良い「アクセスプラン(実行計画)」作成のため データが変更されたら統計情報を更新する必要がある
  21. © 2011 IBM Corporation 23 RUNSTATS RUNSTATSコマンドにて統計情報を更新する もう少し進んだ使い方 – 例①分散統計付で収集する

    • 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) RUNSTATS ON TABLE スキーマ名.表名 [ON ALL COLUMNS] ▪参考文献 「DB2 UDBバージョン8.2のRUNSTATS」(サンプル多数で分かりやすい) http://ibm.com/jp/domino01/mkt/dminfo.nsf/doc/002B4A0C 多くの場合、この 基本形でOK データに「偏り」がある場合、 分散統計を試してください
  22. © 2011 IBM Corporation 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"
  23. © 2011 IBM Corporation 25 RUNSTATSを簡単にする:自動化 RUNSTATSを自動的に行う – 自動RUNSTATS •

    2時間おきの非同期RUNSTATSがスケジュールされる – 自動ステートメント統計(リアルタイム統計収集) • SQLを実行しようとした瞬間に、必要なら統計情報を更新 自動保守 (AUTO_MAINT) = ON データベース自動バックアップ (AUTO_DB_BACKUP) = OFF 表自動保守 (AUTO_TBL_MAINT) = ON 自動 RUNSTATS (AUTO_RUNSTATS) = ON 自動ステートメント統計 (AUTO_STMT_STATS) = ON 自動再編成 (AUTO_REORG) = OFF v9.7からデフォ ルトでON 簡単運用の方法 – 小・中規模のシステムでは自動RUNSTATSがONで問題ない • データを入れた最初だけは手動で実行し、あとは自動に任せる • 基本形以外のRUNSTATSが必要な表には統計プロファイルを作成しておく • (オプション)バックアップのタイミングでdb2look -m で統計情報も保存する > db2look -m -d MYDB -z SIM -o stat.sql 自動化全体の 親パラメータ (DB CFG)
  24. © 2011 IBM Corporation 28 監視ポイント DB2サーバー NIC ping等による ネットワーク導

    通確認 ストレージ全体の使 用率の監視 DB2の表ス ペース DB2表スペースの 使用率の監視 メモリ CPU DB2内部の動 作を監視 DB2 DB2の診断情報 OSのログ DB2関連プロセ スの死活監視 DB2 DB2 •バッファープールヒット率 •デッドロック数 •ソート時間 •トランザクション数 : CPUやメモリ 使用率の監視 DB2やOSロ グファイルの 監視 小・中規模のシステムでは、DB2の内部情報を詳細に把握するより外部を含めた全体 のトラブルを把握することがより大切 – とはいえ、DB2内部もある程度は取っておきたい..
  25. © 2011 IBM Corporation 29 Windows環境ではMMCが便利 – OSの情報とDB2内部情報を一括して取得できる – 低負荷・リモートから取得可能

    – グラフを右クリック⇒カウンタの追加 • DB2 Databases(DBレベルの情報) ロックウェイト、ソートオーバーフロー 等多数 • DB2 Applications (アプリケーションレベルの情報) • DB2 Database Manager(インスタンスレベルの情報) DBが活性化 (Activate)されていな いと表示されません インスタンスが開始 (db2start)していない と表示されません ローカル、もしくはリモート のコンピュータからカウン タデータを収集できます
  26. © 2011 IBM Corporation 30 DB2のモニタリング機能 モニターエレ メント(監視項 目) GET

    SNAPSHOTコマンド (テキスト出力) スナップショット表 関数 モニター表関数 (MON_*で始ま る表関数) モニタービュー (MON_*から始まる ビュー。モニター表関 数を組み合わせて作 られている) スナップショット モニター表関数・ビュー (メトリック) スナップショット管理 ビュー(スナップショッ ト表関数を組み合わ せて作られている) MONREPORTモジュール (テキスト出力) ※スナップショットの使い方については以下を参照 http://www.ibm.com/developerworks/jp/data/library/dataserver/techdoc/kantandb2.html
  27. © 2011 IBM Corporation 31 モニター表関数(メトリック) Request metrics (MON_REQ_METRICS) =

    BASE Activity metrics (MON_ACT_METRICS) = BASE Object metrics (MON_OBJ_METRICS) = BASE システム レベル MON_GET_SERVICE_SUBCLASS MON_GET_WORKLOAD MON_GET_CONNECTION MON_GET_UNIT_OF_WORK パッケージ・キャッシュ・ステートメ ント レベル MON_GET_PKG_CACHE_STMT アクティビティー レベル MON_GET_ACTIVITY_DETAILS データ・オブジェクト レベル MON_GET_TABLE MON_GET_INDEX MON_GET_BUFFERPOOL MON_GET_TABLESPACE MON_GET_CONTAINER MON_GET_EXTENT_MOVEMENT_STATUS MON_OBJ_METRICS MON_OBJ_METRICS MON_ACT_METRICS MON_ACT_METRICS MON_REQ_METRICS MON_REQ_METRICS DB2 9.7から追加された低負荷・高機能の新しいインターフェース DB CFGパラメーターでメトリックのモニタリングを設定 – デフォルトで有効なので準備不要! スナップショットと異なり、全てのカウンタはリセットできません – DEACTIVATEで消えます
  28. © 2011 IBM Corporation 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 レコードが選択されました。
  29. © 2011 IBM Corporation 33 簡単な定常監視① 方針:出来るだけ簡単に、他のソフトを使わずに取得する 方法① OSの自動実行機能でモニター表関数実行スクリプトを実行する =>

    サマリーのモニタービュー(MON_*_SUMMARY)がお勧め • 例)MON_DB_SUMMARY - DB全体のサマリ情報 MON_DB_SUMMARYビューに含まれる情報(一部) • TOTAL_APP_COMMITS (コミット数≒トランザクション数) • AVG_RQST_CPU_TIME (平均CPU使用時間[ms]) • IO_WAIT_TIME_PERCENT (待機時間のうちIOウェイトの比率[%]) • TOTAL_BP_HIT_RATIO_PERCENT(バッファープールヒット率[%]) など 大まかなデータでも、日々取ってい るといないとでは大違いです CONNECT TO MYDB; VALUES CURRENT TIMESTAMP; SELECT * FROM SYSIBMADM.MON_DB_SUMMARY; CONNECT RESET; ※これをsu - db2inst1 -c 'db2 -z today.log -tvf monitor.sql' などで定期的に呼び出す EXPORTコマンド でCSVに書き出す 方法もあります
  30. © 2011 IBM Corporation 34 簡単な定常監視② 方法② 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 ※なぜかDB2 Express-C 9.7 FP3では使用できません
  31. © 2011 IBM Corporation 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
  32. © 2011 IBM Corporation 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)
  33. © 2011 IBM Corporation 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
  34. © 2011 IBM Corporation 38 CREATE DATABASEのオプション db2 "CREATE DATABASE

    データベース名 ON ストレージパス DBPATH ON データベースパス USING CODESET コードセット TERRITORY JP COLLATE USING ソート種別 PAGESIZE 4 K" 文字の並び順序の指定 UTF-8の場合:SYSTEM_943_JP が推奨 SJISやEUCの場合: IDENTITY が推奨 ソート種別 どの文字コードで保存するのかを決める。SJIS(IBM-943),Unicode(UTF-8)など コードセット DBの構成情報を格納するディレクトリ データベースパス コンテナを作成するディレクトリ。カンマで複数指定可能 ストレージパス 作成するDBの名前(8バイトまで) データベース名 ページサイズ 4 Kが推奨。ただしデータウェアハウス用途やXMLを格納する場合は32 Kが推奨 注)以前はWindows版にはDBPATHをドライブ名でしか指定できないという制限がありました。現在はその 制限は撤廃されていますが、レジストリー変数DB2_CREATE_DB_ON_PATH を「ON」に設定しないと ディレクトリが指定できません。(デフォルトではOFF) > db2set DB2_CREATE_DB_ON_PATH=ON
  35. © 2011 IBM Corporation 39 インスタンスとデータベース DB2 システム構成概略 DB_Aに接続 DB2インスタンス1の待

    ち受けポート(50000番) DB_A DB_B インスタンス1(50000番) インスタンス2(50010番) DB_C 管理サーバ (523番) 起動/停止 DB情報 収集 ・インスタンスは起動/停止の単位 db2start (開始), db2stop(停止) ・複数のインスタンスを作成可能です ・インスタンス内に複数のデータベースを作成可能 ・1インスタンスにつき、1つのTCP/IPポートを使用 データベース データベース データベース
  36. © 2011 IBM Corporation 40 構成パラメータ DB2の構成パラメータは3種類 – それぞれ影響範囲が異なる –

    調整は、DB CFGが中心 システム(レジストリ) インスタンス (DBM CFG) データベース (DB CFG) GET DB CFG FOR db名 GET DBM CFG db2set [-all] 取得 UPDATE DB CFG FOR db名 USING cfg1 val1 [cfg2 val2 ..] データベース データベース (DB)構成パラ メーター UPDATE DBM CFG USING cfg1 val1 [cfg2 val2 ...] インスタンス 内 データベース マネージャ (DBM)構成パラ メーター db2set REG1=VAL1 システム全体 もしくはイン スタンス内 レジストリ変 数 更新 影響範囲