A

D J L M P R

  • パッチ(Fix Pack)はどこから取得できますか?
    DB2のパッチは、Fix Pack(以前はFixPak)と呼ばれ、定期的にFTPやWEBで公開されています。以下のリンクにダウンロード先がまとめられています。 DB2 Fix Pack 総合トップページ http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg27007053  2009年7月10日から、DB2のFix Packは以下のFix Centralからダウンロードするようになっていますので、Fix Centralで検索してダウンロードすることも可能です。2011年からはFix Packのダウンロードに無料のIBM IDの取得が必用になっています。 IBM Fix Central Fix Centralで直接DB2のFix Packを探すにはトップページで Product Group → Informatoin Management Product → DB2 Installed Version → 使用しているバージョンを選択 Platform →  ...
  • どうすればDB2を導入できますか?
    Windows,Linuxに関しては以下に詳しく解説されています。エディションが異なってもほとんどそのまま使用できます。 DB2 Express-C クイックインストール(Windows)  DB2 Express-C クイックインストール(Linux)  また、その他のUnixの場合でも上記Linuxの解説が参考になるでしょう。 ...
  • データベースのバックアップを取得するには?
    DB2でバックアップを取得する最も簡単で基本的な方法は、BACKUPコマンドを使用することです。 db2 "BACKUP DB DB名 TO ディレクトリ" これで バックアップイメージがディレクトリ以下に作成されます。オンライン(DBを止めずに)バックアップや、差分バックアップなども可能です。詳しくは以下を参照してください。 データベースのバックアップを取るには DB2 V9 運用管理ガイド:バックアップ・リカバリーの基礎 DB2 V9 運用管理ガイド:バックアップ・リカバリーの手順 BACKUPコマンドを使用する方法以外には、ハードウェアの瞬間コピー機能(Flash copy)等を利用する方法があります。その場合は以下のSplit mirror機能を使用します。 DB2 V9 運用管理ガイド:DB2 Split mirror概要 ...
  • 外部ファイルからデータを読み込むには?
    外部ファイルからデータを読み込むには、LOADコマンドかIMPORTコマンドを使用します。どちらもファイルから高速にデータを読み込めますが、以下のような機能面の違いがあります。   IMPORT LOAD 速度 高速 IMPORTよりさらに高速 ログ データ挿入時に、トランザクションログを記録する データ挿入時に、トランザクションログを記録しない トリガー トリガーは動作する トリガーは動作しない その他   LOAD後は整合性のチェックが必要 IMPORTの方が手軽に使えますので、多くのケースではIMPORTを使い、速度面やログ出力量で問題が出る場合のみLOADを使うようにすれば良いでしょう。 ->外部ファイルにデータを出力するには? 参照) データをロードするには データをインポートするには データをまとめてインポート/エクスポートするには ...
  • 外部ファイルにデータを出力するには?
    外部ファイルに表のデータを出力するにはEXPORTコマンドを使用します。IMPORTコマンドでは任意のSQLの実行結果を出力可能です。また出力フォーマットもCSVかIXF(DB2ネイティブなバイナリ形式)から選択可能です。 ->外部ファイルからデータを読み込むには? 参照) データをエクスポートするには ...
  • ライセンスはどのように登録すればいいですか?
    製品版のDB2はインストール後、ライセンスの登録が必要です。ライセンス登録をしない場合、試供期間と判断され一定期間使用後に利用できなくなります。 ライセンスの登録は次のいずれかの方法で行えます。 ・db2licmコマンドの利用 ・ライセンス・センター(GUIツール)の利用 また、ライセンスファイルはActivation CDに提供されます。 オプションを利用する際にはオプションのライセンス登録も忘れずに。 詳細はマニュアルの[データベースの基本]-[構成]-[DB2ライセンス]を参照しましょう 追加情報: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/r0006748.html ...
  • 分離レベルとロックとはどのように違うのですか?
    分離レベル とロック は目的や粒度の異なる考え方です。簡単に言ってしまえば、分離レベルはロックの機構を用いて実現されています。分離レベルとは2つのトランザクションが競合した場合にデータの一貫性を保つためのポリシーのことで、ANSI SQLでは1)非コミット読み取り2)カーソル固定 3)読み取り固定 4)反復可能読み取り が定義されています。これらの振る舞いを実現するためにDBのロック機構を使用します。 ...
  • ロックリスト(LOCKLIST)はどのくらい確保しておけばよいですか?
    一概には言いづらいですが、数十~100MBくらいなら安心ではないでしょうか。以下の点を勘案して決めてください。 1)ロックリスト はデータベース全体で1つです。一時点で複数の処理が使いますので、同時に複数の処理が更新を行えば、その分、多く必要になります。 2)処理がコミットされればそれまで使われていたロックのエントリーは開放され他の処理で使えるようになります。なのでOLTP等ではそれほど大量には使用しないと思われます。考慮すべきなのは1トランザクションで大量の更新を行うバッチやインポート・ユーティリティなどでしょう。 3)V9.5では1つのロック・エントリーの大きさは32bit環境で96バイト、64bit環境で128バイト です。ざっくり100バイトと考えると、1Mバイトで1万更新分を保持できる計算です。最近のマシンは物理メモリーも2GBくらいは搭載していますし、DB全体で1つですから、数十~100MBくらい確保しておけば十分かと思います。(勿論、更新の量によりますから計算してみてください)なお、指定は4K単位の数で行いますので10MBバイトを確保したい場合は(10MB÷4K=)2560を指定します。 4)V9.1以降、ロックリストは自己チューニング・メモリーの対象となっていますので、デフォルトでは不足すれば増えますし不要なら減ります。そういう意味ではロック・エスカレーションは起きずらくなっていますが、バッチ大量更新などで急に大量に必要になったばあいには自己チューニング・メモリーの増加のテンポでは追いつかず、結局不足することがありえますので、やはり増やしておくべきでしょう。 ...
  • プログラムにSQLCODE -911が返ったのですがデッドロックとタイムアウトはどのように識別できますか?
    SQL0911N の理由コードで判別します。 理由コード 2=デッドロック 68=タイムアウトです。 プログラムのエラー処理でSQLCODEしかログ出力していない場合は後から判別できないので、SQLのメッセージ・テキストもログに出すようにしておきましょう。 ...
  • オラクルやSQL ServerからDB2への移行ツールはありますか?
    IBM Migration Toolkit(MTK)という移行を補助するツールがあります。無償でダウンロードして利用できます。 IBM Migration Toolkit MTKは他社DBMSのデータベースから定義データを取り出して、テーブルやストアド・プロシージャーなどのサーバー・サイドのオブジェクトをDB2のオブジェクトに変換します。クライアント側のロジックやプログラムは対象外です。 操作もGUIで簡単ですので、実際に移行に使用しなくても移行の際の事前調査などにも有効です。 現在、Oracle,Sybase,SQLServer,MySQLからの移行をサポートしています。 (関連)DB2のロックの考え方はOracleやMySQL同様、マルチ・バージョニング方式(MVCC)ですか? ...
  • バイナリデータを扱うには?
    列の型としてBLOB (バイナリー)とCHAR FOR BIT DATAが用意されています。 (VAR)CHAR FOR BIT DATAは、CHARと同様に使えますが文字コード変換が行われず、DB2が受け取ったデータをそのまま保存します。そのためバイナリ保存にも利用できますが、最大サイズの制限はCHARと同じ(約30KB)です。 BLOBには写真や音楽などのバイナリー・データを最大2GBまで格納することが可能です。BLOBに限らず、CLOB/DBCLOBなどLOBのデータはDB2のバッファーを使用しませんので、パフォーマンスにご注意ください(コンテナ上のOSのファイルキャッシュを有効にした方がよいでしょう) 。 DB2のテーブル定義の最大長は32K(最大のページ・サイズ)まで、との制約を回避する目的で文字データをCLOBに格納したケースもあります。確かに制限を回避できるのですが、パフォーマンス面ではお勧めではありません。 ...
  • サポート情報はどこにありますか?
    IBMサポートのポータルがあります 追加情報: http://www.ibm.com/jp/software/support ...
  • サポート情報でよく見るPMR、APAR、FIX、FIX PACK(FixPak)という言葉の意味は何ですか?
    いずれもIBMの保守サポートで使う用語ですが、用語集 があります。 何らかの問題があって保守サポートに連絡すると、問題番号(PMR=Problem Management Record)が発行されます。調査の結果、新規にDB2の問題であると判明するとAPAR(Authorized Program Analysis Record)が発行されます。 つまりPMRはユーザからみた問題の管理番号で、APARはDB2製品から見た問題管理番号です。APARへの修正(Fix)を一定期間集積し、複数のFIXをまとめて適用できるようにしたものがFix Pack (FixPak)です。 IBMのミドルウエアの保守サポート制度全般に関してはこちらのポータル・サイト をお勧めします。このガイドブック もお手元にどうぞ。 ...
  • テーブルのCHAR(10)のカラムに漢字5文字が格納できす、SQL0433N 値 が長すぎますというエラーになりますが、なぜですか?
    DB2でのCHAR(n)やVARCHAR(n)のnはバイト数です。そのため、日本語のように1文字が複数バイトで構成される場合は、nより小さい文字数しか格納できません。 1文字あたりのバイト数はデータベースのコードページによって異なります。例としてSJISの場合は漢字1文字が2バイトですが、UTF-8(Unicode)の場合は3バイト必要になります。ただしGRAPHIC列/VARGRAPHIC列は、nと文字数が一致します。 コードページはCREATE DATABSE時に指定できます。~V9.1まではデフォルトはOSのコードページを引きついでいましたが、V9.5からデフォルトがUTF-8に変更されました。  ...
  • ホスト名を変更したら、db2start出来なくなりました(SQL6048Nエラー)
    ホスト名は、DB2の設定に含まれるため、ホスト名を変更した後はDB2側も設定変更する必要があります。設定変更する部分は2カ所です。 db2nodes.cfg (sqllib/以下にあります) レジストリ変数のDB2SYSTEM  (db2set DB2SYSETEM=新しいホスト名) なお、IPアドレスはDB2のインスタンス情報としては記憶していないので、IPアドレスを変更してもDB2側の設定を変える必要はありません。ただしHADR等でIPアドレスを指定してリモートサイトへコピーを行っていたり、外部のソフトがIPアドレスで直接DB2を参照している場合は設定変更が必要です。 参考) http://db2.jugem.cc/?eid=88 ...
  • このサイトについて(免責事項)
    このサイト(Unofficial DB2 FAQ)は、IBMのデータベース製品であるDB2 に関してのFAQ(よく聞かれる質問とその答え)を蓄積、公開していくために作成されました。"Unofficial"と名前にあるように、IBM社とは無関係のサイトです。また内容は一切保証しません。 本サイトは有志により独立運営されており IBM およびそのグループ会社は関与していません。 IBM および DB2 は米 IBM Corporation の登録商標です。 内容は無保証です。 This site is an independent website and not endorsed by ...
  • データのフラグメンテーション(断片化)が進んだ場合の改善方法は?
    データの更新を続けるとフラグメンテーション(断片化)がおき、フラグメンテーションがひどくなるとデータのアクセス速度が低下します。 これを改善するにはREORGコマンドを実行します。REORGは表やインデックスのデータを並べ替えて断片化を改善するコマンドで、データにアクセスがある最中にも実行できます。 (参考) 表の再編成を行うには 表のインプレース再編成を行うには 索引の再編成を行うには 再編成の必要性を確認するには ...
  • ライセンスを登録するには?
    DB2を通常のGUIインストーラーで導入した場合は自動的にライセンスファイルが登録されますが、コマンドラインからdb2_installスクリプトで導入した場合は別途ライセンスファイルの登録が必要です。ライセンスファイルの登録や登録内容の確認にはdb2licmコマンドを使用します。 (参照)ライセンス情報を登録するには ...
  • ○×△の一覧を確認するには?
    DB2の各種オブジェクトの一覧を得る方法は以下の通りです。 カタログしたデータベースの一覧を確認するには 表の一覧を確認するには 索引の一覧を確認するには ビューの一覧を確認するには 表スペースの一覧を確認するには バッファプールの一覧を確認するには ...