2011/4/22 DB2管理本の著者が教える 簡単運用管理入門 (Club DB2) Club DB2 という、IBM DB2 の勉強会イベントで以前発表した資料です。かなり古いものなので情報が今とは異なる部分もあると思いますが、保存のためにアップロードしています。
© 2011 IBM CorporationCLUB DB2 第122回DB2管理本の著者が教える簡単運用管理入門CLUB DB2 #1222011/04/22日本アイ・ビー・エム下佐粉 昭 (しもさこ あきら) rev. 1.2この資料は下記URLでダウンロード可能ですhttp://ibm.com/developerworks/wikis/display/clubdb2/materials
View Slide
© 2011 IBM Corporation2自己紹介下佐粉 昭 ( しもさこ あきら )和歌山県生まれ2001年 IBMに中途入社以来、DB2関連の仕事多し現在はビジネスパートナー様向け技術支援■書籍「即戦力のDB2管理術」「XML-DB開発 実技コース」(共著)「DB2 逆引きリファレンス」(共著)■オンラインTwitter - @simosako– http://twitter.com/simosakoUnofficial DB2 Blog– http://db2.jugem.cc/内容は全てWEBで公開しています!http://db2watch.com/
© 2011 IBM Corporation3今日の目的データベースの設計・運用管理はシステムによって色々事情が異なりますでも小・中規模環境であれば「割り切った」運用管理で省力化が可能です–専任の担当者が置けない小規模システムでは「割り切り」が重要小・中規模向けのデータベース作成~運用のコツを把握しましょう【宣伝】基礎から詳しく学習したい方は、ぜひ自著をご参照ください!即戦力のDB2管理術~仕組みからわかる効率的管理のノウハウ2011年4月8日発売 (技術評論社)下佐粉昭 著A5判/432ページISBN 978-4-7741-4597-6http://db2.jugem.cc/?eid=2341 (書籍紹介)
© 2011 IBM Corporation4目次①本番用途のデータベースを簡単に作る–文字コードに注意–最低限必要な設定–自動ストレージ②簡単運用パターン–バックアップ(BACKUP)–データの再編成(REORG)–統計情報の更新(RUNSTATS)③簡単に監視する–MMC–モニター表関数・ビュー
© 2011 IBM Corporation①本番用途のデータベースを簡単に作る
© 2011 IBM Corporation6データベースを作るCREATE DATABASEで簡単に作れるが、文字コードだけは注意!文字コード–データベースをディスクに記録する際の文字コードを指定• 文字コードによってディスク使用量が異なる–クライアントと文字コードが異なる場合、DB2によって自動的に変換SJISアプリDB2サーバDB2クライアントUnicodeデータベースUnicode→SJIS変換SJIS→Unicode変換簡単な文字コードの選択方法–クライアントに合わせる•例)Visual Basicクライアントの場合→ IBM-943(SJIS)を選択–クライアントが複数の文字コードの場合→ UTF-8(Unicode)を選択–よく分からない場合→ UTF-8(Unicode)を選択
© 2011 IBM Corporation7DB2の内部構造コンテナー コンテナー表スペース表は表スペース上に作成されるバッファープールインスタンスI/OクリーナーI/OサーバーデータベースエージェントSQLロガーログパスログバッファーDB2クライアント更新処理情報
© 2011 IBM Corporation8本番環境に最低限必要な設定ログ領域– (できるだけ)表スペースとは別ディスクにする• 更新処理が重要な場合は高速なディスクを用意する• DB CFGのNEWLOGPATHで後から変更可能– サイズを増やす• DB CFGのLOGPRIMARY(数)を増やす• DB CFGのLOGFILSZ(サイズ)を増やす– アーカイブロギングモードに変更する• DB CFGのLOGARCHMETH1でディレクトリを指定する1循環ロギング32n1次ログ(LOGPRIMARY)1 2アーカイブロギング1 2 3 4 52次ログ(LOGSECOND)アーカイブ・ログ・パス(LOGARCHMETH1)LOGARCHMETH1で指定したディレクトリへコピー。リストア時に利用可能にする。データベース・ログ・パス(LOGPATH)データベース・ログ・パス(LOGPATH)
© 2011 IBM Corporation9表スペースの管理DB2は柔軟に表スペースを作成可能–表スペース:表を置くための領域。1つ~複数のコンテナで構成–コンテナ:表を置くディスク領域そのもの–DMSとSMS:2つのタイプから選択可能• Large DMS : 高速。一般表用途• SMS : 表の作成、削除が速く、一時表用途–キャッシュするバッファープールを表スペース毎に設定可能コンテナー コンテナー コンテナー表スペースCREATE LARGE TABLESPACE MYTS1MANAGED BY DATABASE USING(FILE 'D:¥db2data¥container1' 200M,FILE 'E:¥db2data¥container2' 200M)AUTORESIZE YESINCREASESIZE 100MMAXSIZE 10GBUFFERPOOL MYBP12つのコンテナをファイルで定義LargeDMSで作成自動拡張を設定。サイズが不足した場合は100MBずつ増加し、最大10GBまで拡張するバッファープールを指定結構面倒...
© 2011 IBM Corporation10表スペース管理を簡単にする自動ストレージ機能を使って表スペース管理を簡単にする– 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で作成される)
© 2011 IBM Corporation11(参考)自動ストレージの指定方法:サンプル• ユーザ表スペースの初期サイズを300MB、100MB単位で増加、最大10GBを指定> db2 "CREATE DATABASE MYDB ON 'D:¥db2data','E:¥db2data¥' DBPATH ON 'C:'USER TABLESPACE MANAGED BY AUTOMATIC STORAGEINITIALSIZE 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で作成
© 2011 IBM Corporation12ここまでのまとめ自動ストレージを有効にして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"
© 2011 IBM Corporation②簡単運用パターン
© 2011 IBM Corporation14最低限必要な運用管理バックアップ–BACKUPコマンド–最も大切。必須の作業表の再編成–REORGコマンド–更新が多い表には必要統計情報の更新–RUNSTATSコマンド–アクセスプラン(実行計画)を良いものに維持するために必要日常的に必要となる管理作業=最低限必要な作業
© 2011 IBM Corporation15DB2のバックアップコンテナ コンテナ コンテナ表領域- CREATE TABLESPACEログ領域- LOGPATHで指定BackupコマンドlogmgrプロセスBackupコマンドで指定した領域BackupファイルLOGARCHMETH1で指定した領域アーカイブLOGファイルアーカイブLOGファイルアーカイブLOGファイルアクティブLOGファイル表データそのものが入っているトランザクションを記録したログ logmgrはアクティブLOGが一定のサイズに達するとDB2より自動的に起動され、LOGARCHMETH1で指定された先にLOGをコピーするオンライン・オフラインどちらでも実行可能INCLUDE LOGSでバックアップファイル内に最低限必要なLOGを含める表領域、ログの両方をバックアップする事が重要
© 2011 IBM Corporation16BACKUPDB2のバックアップは、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"
© 2011 IBM Corporation17BACKUPを簡単にする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 Corporation18リカバリー履歴ファイルと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 Corporation19REORG更新処理によってデータはじょじょに”ばらばら”になる– 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で(ログあふれに注意)
© 2011 IBM Corporation20REORGを簡単にする: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;
© 2011 IBM Corporation21REORGを簡単にする:REORGの回数を減らす②インデックスの順序とデータの配置順が無関係なので散らばって配置されているE FD C通常のインデックス クラスターインデックスインデックスの順序とデータの配置順が一致するように配置されているE FDCクラスターインデックスを作成することで、データの並び崩れにくくなるCREATE INDEX idx2 ON tab(c) CLUSTERCREATE INDEX idx1 ON tab(c)
© 2011 IBM Corporation22統計情報の更新:なぜ統計情報の更新が必要なのかエージェントSQLDB2クライアント①SQLの書き換え②複数のアクセスプラン候補を作成③コストの見積もり④アクセスプランの決定統計情報より良い「アクセスプラン(実行計画)」作成のためデータが変更されたら統計情報を更新する必要がある
© 2011 IBM Corporation23RUNSTATSRUNSTATSコマンドにて統計情報を更新するもう少し進んだ使い方– 例①分散統計付で収集する• RUNSTATS ON TABLE ... WITH DISTRIBUTION AND INDEXES ALL– 例②すべての列について統計を収集し、c1列についてLIKE統計を収集する• RUNSTATS ON TABLE ... ON ALL COLUMNS AND COLUMNS (c1 LIKESTATISTICS)– 例③約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データに「偏り」がある場合、分散統計を試してください
© 2011 IBM Corporation24RUNSTATSを簡単にする:統計プロファイル表の特性に合わせて毎回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 ALLUSE PROFILEを付けて実行すると、セットしたオプションで実行される> db2 "RUNSTATS ON TABLE SIM.EMPLOYEE USE PROFILE"NONE PROFILEを付けて実行すると、プロファイルを削除> db2 "RUNSTATS ON TABLE SIM.EMPLOYEE UNSET PROFILE"
© 2011 IBM Corporation25RUNSTATSを簡単にする:自動化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) = OFFv9.7からデフォルトでON簡単運用の方法– 小・中規模のシステムでは自動RUNSTATSがONで問題ない• データを入れた最初だけは手動で実行し、あとは自動に任せる• 基本形以外のRUNSTATSが必要な表には統計プロファイルを作成しておく• (オプション)バックアップのタイミングでdb2look -m で統計情報も保存する> db2look -m -d MYDB -z SIM -o stat.sql自動化全体の親パラメータ(DB CFG)
© 2011 IBM Corporation③簡単に監視する
© 2011 IBM Corporation27監視はなぜ必要?時間定常監視が重要。継続的に記録し続けることで、システムに起こっている変化が定量的に把握出来るようになります。
© 2011 IBM Corporation28監視ポイントDB2サーバーNICping等によるネットワーク導通確認ストレージ全体の使用率の監視DB2の表スペースDB2表スペースの使用率の監視メモリCPUDB2内部の動作を監視DB2DB2の診断情報OSのログDB2関連プロセスの死活監視 DB2DB2•バッファープールヒット率•デッドロック数•ソート時間•トランザクション数:CPUやメモリ使用率の監視DB2やOSログファイルの監視小・中規模のシステムでは、DB2の内部情報を詳細に把握するより外部を含めた全体のトラブルを把握することがより大切– とはいえ、DB2内部もある程度は取っておきたい..
© 2011 IBM Corporation29Windows環境ではMMCが便利– OSの情報とDB2内部情報を一括して取得できる– 低負荷・リモートから取得可能– グラフを右クリック⇒カウンタの追加• DB2 Databases(DBレベルの情報)ロックウェイト、ソートオーバーフロー 等多数• DB2 Applications (アプリケーションレベルの情報)• DB2 Database Manager(インスタンスレベルの情報)DBが活性化(Activate)されていないと表示されませんインスタンスが開始(db2start)していないと表示されませんローカル、もしくはリモートのコンピュータからカウンタデータを収集できます
© 2011 IBM Corporation30DB2のモニタリング機能モニターエレメント(監視項目)GET SNAPSHOTコマンド(テキスト出力)スナップショット表関数モニター表関数(MON_*で始まる表関数)モニタービュー(MON_*から始まるビュー。モニター表関数を組み合わせて作られている)スナップショットモニター表関数・ビュー(メトリック)スナップショット管理ビュー(スナップショット表関数を組み合わせて作られている)MONREPORTモジュール(テキスト出力)※スナップショットの使い方については以下を参照http://www.ibm.com/developerworks/jp/data/library/dataserver/techdoc/kantandb2.html
© 2011 IBM Corporation31モニター表関数(メトリック)Request metrics (MON_REQ_METRICS) = BASEActivity metrics (MON_ACT_METRICS) = BASEObject metrics (MON_OBJ_METRICS) = BASEシステム レベルMON_GET_SERVICE_SUBCLASSMON_GET_WORKLOADMON_GET_CONNECTIONMON_GET_UNIT_OF_WORKパッケージ・キャッシュ・ステートメント レベルMON_GET_PKG_CACHE_STMTアクティビティー レベルMON_GET_ACTIVITY_DETAILSデータ・オブジェクト レベルMON_GET_TABLEMON_GET_INDEXMON_GET_BUFFERPOOLMON_GET_TABLESPACEMON_GET_CONTAINERMON_GET_EXTENT_MOVEMENT_STATUSMON_OBJ_METRICSMON_OBJ_METRICSMON_ACT_METRICSMON_ACT_METRICSMON_REQ_METRICSMON_REQ_METRICSDB2 9.7から追加された低負荷・高機能の新しいインターフェースDB CFGパラメーターでメトリックのモニタリングを設定– デフォルトで有効なので準備不要!スナップショットと異なり、全てのカウンタはリセットできません– DEACTIVATEで消えます
© 2011 IBM Corporation32モニター表関数のメリットデータオブジェクトレベルの便利なビューや表関数が揃っている– 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 0SYSDEFAULTMAINTENANCECLASS 1856SYSDEFAULTUSERCLASS 312723 レコードが選択されました。
© 2011 IBM Corporation33簡単な定常監視①方針:出来るだけ簡単に、他のソフトを使わずに取得する方法① 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に書き出す方法もあります
© 2011 IBM Corporation34簡単な定常監視②方法② 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※なぜかDB2 Express-C 9.7FP3では使用できません
© 2011 IBM Corporation35まとめ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 Corporation36参考資料CLUB DB2の過去セミナー資料公開中– http://ibm.com/developerworks/wikis/display/clubdb2/materialsカンタン!DB2テクテク第1歩 基本機能編– 若干古い資料ですが、各種基本コマンドの使い方がやさしく解説されています– http://ibm.com/jp/software/data/developer/library/techdoc/kantandb2.htmldb2pd利用ガイド DB2 v9対応版– 問題判別や監視に大変有用なdb2pdの使い方解説– http://ibm.com/jp/domino01/mkt/dminfo.nsf/doc/00217BBADB2 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 Corporation37参考資料(マニュアル)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=1933DB2の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=swg27009553DB2の日本語ドキュメント一覧は以下の短縮URLからも辿れますhttp://j.mp/db2docsja
© 2011 IBM Corporation38CREATE DATABASEのオプションdb2 "CREATE DATABASE データベース名ON ストレージパス DBPATH ON データベースパスUSING CODESET コードセット TERRITORY JPCOLLATE 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
© 2011 IBM Corporation39インスタンスとデータベースDB2 システム構成概略DB_Aに接続DB2インスタンス1の待ち受けポート(50000番)DB_ADB_Bインスタンス1(50000番)インスタンス2(50010番)DB_C管理サーバ(523番)起動/停止DB情報収集・インスタンスは起動/停止の単位db2start (開始), db2stop(停止)・複数のインスタンスを作成可能です・インスタンス内に複数のデータベースを作成可能・1インスタンスにつき、1つのTCP/IPポートを使用データベースデータベースデータベース
© 2011 IBM Corporation40構成パラメータDB2の構成パラメータは3種類– それぞれ影響範囲が異なる– 調整は、DB CFGが中心システム(レジストリ)インスタンス (DBM CFG)データベース (DB CFG)GET DB CFG FOR db名GET DBM CFGdb2set [-all]取得UPDATE DB CFG FOR db名USING cfg1 val1 [cfg2val2 ..]データベースデータベース(DB)構成パラメーターUPDATE DBM CFG USINGcfg1 val1 [cfg2val2 ...]インスタンス内データベースマネージャ(DBM)構成パラメーターdb2set REG1=VAL1システム全体もしくはインスタンス内レジストリ変数更新影響範囲