D

D J L M P R

  • DB2は無料で使用できますか?
    DB2には無料で使用できるエディションの DB2 Express-Cが用意されており、以下からダウンロード可能です。サポートされるOSは、Windows,Linux,Solaris(INTEL),Mac OS X(INTEL)です。 DB2 Express-C downloads Express-Cは、無料で使用でき、使用用途に制限はありません。開発、評価、テストだけでなく、 本番業務にも使用可能です。 ダウンロード後の導入はこちらを参照→ どうすればDB2を導入できますか? Express-Cの制限についてはこちらを参照→ DB2 Express-Cの制限は? ...
  • DB2 Express-Cの制限は?
    DB2 Express-Cは無償で使用でき、用途に制限はありません(本番業務にも使用可能)。 ただし、他のエディションと比較して、以下の制限があります。(以下はDB2 Express-C 10.5以降の制限です) メモリが最大16GBまで(ハードウェアにあるメモリ総量ではなく、DB2が使用できるのが16GBまで) CPUが2つ(2コア)まで(ハードウェアにある総CPU数ではなく、DB2が使用できるのが2つまで) IBMからのサポートが無い(有償で購入可能) Fix Packが導入できない(DB2 Express-CはFix Packを含んだ形でイメージ全体がリフレッシュされますので、データベースをバックアップしておいて、DB2本体を導入しなおす必要があります) データベースの最大容量には制限がありません。また、pureXML フィーチャーは含まれているため、pureXML機能(XMLデータベース機能)はExpress-Cでも使用可能です。   参考)どうすればDB2を導入できますか? ...
  • DB2は行ロックをサポートしていますか?
    はい。デフォルトは行ロックで す。他にはテーブル・ロックを明示的に獲得することもできます。メインフレームのDB2/zでは長い間ページロックだったので、そのイメージがあるのかもしれませんね。ロックの種類は他にも表スペースロック、表ロックなどいろいろありますのでこちら をご参照ください。 ...
  • DB2のロックの考え方はOracleやMySQL同様、マルチ・バージョニング方式(MVCC)ですか?
    いいえ。DB2はANSI標準の分離レベルを実現できる「ロック」での方式を採用しています。SQLServerも原則、ロック方式です。 MVCC方式では、「マルチ・バージョン」の名の通り、更新されて未コミット状態の行を読もうとすると、直近のCOMMITされたBeforeイメージを返します。DB2の「ロック」方式ではコミットされるのを待ってAfter(最新)の行が返ります。 ...
  • DB2のマニュアルはどこにありますか?
    DB2のドキュメント(マニュアル)は、オンラインで読めるHTML形式のもの(Information Center)とPDF版のマニュアルの2種類が存在します。どちらもほぼ同じ範囲をカバーしますが、構成(章立て)や内容は同じではありません。またInformation Centerの方は随時アップデートされます。   IBM製品全体のInformation Centerが統合された、IBM Knowlegde Centerが公開されました(2014/03) IBM Knowlege Center DB2各バージョン別のInformation Center (オンラインHTMLマニュアル.ブラウザの言語設定によって表示言語が自動的に変わります) DB2 Information Center (V10.5) DB2 Information Center (V10.1) DB2 Information Center (V9.7) DB2 Information Center (V9.5) ※2015年4月末標準サポート終了予定 ...
  • DB2のエディションをアップグレードしたい時は?(Linux, Unix編)
    DB2のエディションをアップグレードしたい時はマニュアルの [データベースの基本]-[インストール]-[データベース・システム]-[DB2製品エディションの変更] を見ましょう。 追加情報: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/t0024043.html ...
  • DB2のエディションをアップグレードしたい時は?(Windows編)
    DB2のエディションをアップグレードしたい時はマニュアルの [データベースの基本]-[インストール]-[データベース・システム]-[DB2製品エディションの変更] を見ましょう。 追加情報: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.server.doc/doc/t0024042.html ...
  • DB2のロックの方式はOracleやMySQLと違うのですか?
    はい。違います。OracleやMySQLはマルチ・バージョニング方式(MVCC)とロックを併用しています。MVCC方式では「マルチ・バージョン」の名の通り、更新されて未コミット状態の行を読もうとすると、直近のCOMMITされたBeforeイメージを返します。DB2の「ロック」方式ではコミットされるのを待ってAfter(最新)の行が返ります。DB2はANSI標準の分離レベルを実現できる「ロック」方式を採用しています。 ...
  • DB2でロックをかけずにデータを読む方法がありますか?
    はい。分離レベルUR ( Uncommitted Read )/非コミット読み取りを使用すればロックをかけずに行を読み取れます。 例) select * from table1 with ur ただし、読み取れる行はコミットされたものではなく、その時点でのas-isのデータです。次の瞬間にロールバックされ消失するかもしれませんし、更に別の値に変化する可能性もあります。従って、確定したデータを処理すべき場面では使用しない方がよいでしょう。「ざっくりと件数を確認したい」「速報的にデータを見てみたい」という用途に向いていると思います。その点、オラクルなどのマルチ・バージョニング系のDBとはデータの鮮度・意味合いが違いますので、他社DB経験者の方は注意して使用してください。 ...
  • DB2をモニタリングするには?
    DB2には、ヘルス・モニターというモニタリングGUIが付属しています。 また、Windows版のDB2は、「コントロールパネル」→「管理ツール」→「パフォーマンス」のGUIから管理できます。その他、SNAPSHOTやdb2pdコマンドでも監視が可能です。 http://db2.jugem.cc/?eid=746 その他にフリーウェアのDB2 Monitor(db2mon)があります。これも非常によくできたツールです。 追加情報: http://chuzhoi_files.tripod.com/ ...
  • DB2用の開発ツールは?
    DB2には無料で利用できるIBM Data Studio が用意されています。IBM Data Studio を使用すると DB2 のテーブルやストアド・プロシージャーをコーディングなしで SOAP や REST 型の Web サービスとして公開 することができます。IBM Data Studio のダウンロードや使用方法はこちらの記事 が参考になります。 ...
  • DB2のデータをWebサービスとして公開したいのですが?
    無償公開されているIBM DataStudioを使うと、ウイザード形式で質問に答えるだけでDB2のテーブルやストアド・プロシージャーをWebサービスとして公開 できます。WebサービスはSOAP方式とREST形式の両方を作成できます。 ...
  • DB2には全文検索エンジンがありますか?
    はい。V9.1にはNet Seach Extender(NSE)という全文検索エンジンが無償で提供されています。 製品に添付していますし、以下からもダウンロードできます。 http://www-01.ibm.com/software/data/db2/express/additional-downloads.html テキストの検索などで「含む」(%xxxx%)条件の場合、普通の索引ではパフォーマンスがあげづらいですが、NSEを使えば高速に検索ができます。DB2 V9以降のpureXMLデータの検索にも対応しています。 V9.5.2からは新しい全文検索エンジンである"Text Seatch"が内蔵されるようになりました。 NSEの追加情報: http://www.ibm.com/jp/software/data/developer/column/kantanextend/09netsearch/01.html ...
  • DB2にTruncate文(構文)はありますか?
    TRUNCATEはログを書かずに高速にテーブルを空にするステートメントです。DB2 v9.7からTRUNCATEステートメントが追加されました。TRUNCATEステートメントを使用するにはDB2_COMPATIBILITY_VECTORレジストリ変数で8番目のビットを1にする必要があります。 TRUNCATEステートメント DB2_COMPATIBILITY_VECTOR レジストリー変数V9.5以前にはTRUNCATEという構文はありませんが、下記のどちらかの方法で同様の処理を行えます。1)サイズ0バイトのファイルをIMPORT する(/dev/nullやWindowsのNULなど)2) ALTER TABLE ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE通常は1)が推奨です。 ...
  • DB2がサポートするOSは?
    DB2はWindows,Linux,各種Unixなど多くのOS上で可動します。以下に、サポートするOSの一覧が記載されています。 - System requirements   ...
  • db2diag.logにADM2017C The Event Monitor "DB2DETAILDEADLOCK" has reached its file capacity の類のメッセージが出ているのですが、どうしたらよいですか?
    小刻みにDBへの接続・切断を繰り返すとdb2diag.logにADM2017C The Event Monitor "DB2DETAILDEADLOCK" has reached its file capacity の類のメッセージが出ることがあります。 【例】 2008-05-XX-16.08.23.815913+540 I49314348E819 ...
  • DB2のエラーや問題判別情報はどこを見ればよいですか?
    まずはdb2diag.logを見て異常なメッセージが出ていないかを確認するとよいと思います。db2diag.logはデフォルトではUNIX/Linuxではインスタンスユーザの~/sqllib/db2dump/ディレクトリーに、Windowsでは C:\db2 ディレクトリーにあります。またはデータベースマネージャーのパラメーター diagpath を設定して任意の場所に書き出すこともできます。DB2 v9.5 + Windows VISTAでは C:¥ProgramData¥IBM¥DB2¥DB2COPY1¥DB2におかれています。 ...
  • DB2の環境情報をまとめて取るには?
    db2support が便利です。こちら に説明がありますが、OSの環境情報からdb2diag.logや構成パラメータなど、問題判別に必要な一式をコマンド1つで採取してdb2support.zipという形でひとつにまとめてくれます。サポートセンターに資料を送るときは、db2supportの結果も一緒に送ると話が早いです。 例) db2support . -db <dbname> -c     ※第一パラメータは書き出し先のディレクトリー。 . (ピリオド)でカレント・ディレクトリーにdb2support.zipができます。 ちなみに、このzipを展開すればHTML形式でいろいろな情報が見られます。文字化けして読めないときはブラウザーの文字コードを変更してみてください。あと、db2diag.logやdumpなどが大量にある場合はZIP圧縮するのにとても時間がかかります。この場合はコマンドのオプションで採取対象を指定することも可能です。 ...
  • DB2のSQLの最大長やテーブルの数、などの制限値は?
    IBM DB2 V9.5 Information CenterにSQLとXMLの制限の一覧表が あります。 ...
  • DB2のサポート期限はいつまでですか?
    DB2の標準保守(サポート) 期間は、発売開始から5年間(以上)で、拡張保守がその後3年間に設定されています。正確には、以下のURLで標準サポートの終了期限が確認できます。 DB2 UDB end of support dates  (IBM) 参考) IBM Software Support Lifecycle (IBMソフトウェア製品全体のサポート期限情報) サポート情報はどこにありますか? ...
  • DB2を新しいバージョンに移行する際に参考になる情報は?
    Fix Packの適用といった比較的小さい更新ではなく、8.2 -> 9.1や9.1->9.5といった大きなバージョンアップを行う際は、事前にどのような変更点や非互換性があるかを調査しておく事が重要です。以下の資料が参考になります。 DB2 9への移行手順ガイド DB2 9をうまく導入・移行するためのガイド DB2 9.5 バージョンアップ/新規導入ガイド ...
  • DB2に関する質問をしたいのですが
    DB2に関して質問をしたい場合は、以下のWEBフォーラムを活用してください。 User's Forum for DB2 Japan (日本語) 誰でも日本語で質問やディスカッションができるフォーラムです。活発にQ&Aが行われています DB2 Express Online Forum (英語) こちらはIBM developerWorks内にある英語のフォーラムです。IBMの開発者も読んでいるようです。 ...
  • DB2のエラーコードの意味を確認するには?
    DB2が出力するエラーコードは、大きく2種類に分けられます。"SQL..."から始まるSQLCODEと、5桁の数字で表示されるSQLSTATEです。これらはdb2コマンドに?を付け、続けてSQLCODEやSQLSTATEを記述する事で意味を確認できます。 例)> db2 "? SQL-901"  (SQLCODEの確認) 例)> db2 "?  58004" (SQLSTATEの確認) また、 オンラインマニュアルを検索する事でより詳細な情報が得られます。 参考)DB2のマニュアルはどこにありますか? ...
  • DB2のクライアントはどこから取得できますか?どれを使えば良いですか?
    DB2のクライアントモジュールは、無料でFix Packのページからダウンロード可能になっています。 (参考) パッチ(Fix Pack)はどこから取得できますか?   使用しているDB2サーバと同じバージョンのクライアントを使う事が推奨されています。(サーバがDB2 9.7.1ならクライアントも9.7系を使います) クライアントは、機能別に複数用意されています。 IBM Data Server Driver for JDBC and SQLJ (Java環境用のドライバのみ) IBM Data Server Driver for ODBC and CLI (ODBCや.NET環境用ドライバのみ) IBM Data Server Driver Package(上記ドライバ全てに加えて各種コンパイル用のヘッダファイルとCLPPlusコマンドライン) IBM Data ...