DB2 のパフォーマンスのチューニングは通常、WebSphere Application Server アプリケーションのパフォーマンス全体にとって重要です。 DB2 は、Enterprise JavaBeans (EJB) の推奨されるデータ・ストアとして頻繁に使用されます。 本書では、DB2 チューニングの基本ガイドラインの一部と 、WebSphere Application Server 向けの DB2 チューニングのガイドラインの一部のみをリストします。DB2 チューニングに関する詳細は、 「DB2 Universal Database Server (OS/390 および z/OS 版) 管理ガイド」(SC88-8761-01) を 参照してください。 インターネット・サイト http://www.ibm.com/servers/eserver/zseries/zos/ で DB2 ブックにアクセスすることができます。
SQLJ (Structured Query Language in Java) の利点
DB2 Universal JDBC Driver のプロバイダーを使用している場合は、BMP Bean と CMP Bean の両方の照会言語として、SQLJ を実装できます。 SQLJ では、JDBC トランザクションのデフォルトの照会言語である動的 SQL よりも、トランザクションのオーバーヘッドの発生が少なくなります。 SQLJ は静的で、事前に準備した計画を使用します。 このため、SQLJ では一般的にアプリケーションのパフォーマンスが向上します。 DB2 for z/OS データベース管理者にとっては、セキュリティー・モデルおよびステートメントの反復可能度のフィーチャーが静的 SQL のものと類似しているため、多くの場合、SQLJ を容易に採用することができます。 SQLJ を使用する場合は、WebSphere Studio Application Developer および Rational Application Developer の 新規バージョンのフィーチャーである、 追加ステップを実行する必要があります。
データ・アクセス・アプリケーションの開発 を参照してください。
一般的な DB2 チューニングのヒント:
以下の説明は、DB2 for z/OS のレガシー JDBC ドライバーとして参照される DB2 for z/OS JDBC ドライバーだけに関連する内容です。
WebSphere 用 DB2 のチューニング・ヒント:
# jcc.override.traceFile=<file name> # jcc.override.traceFile=<file name>
java com.ibm.db2.jcc.DB2Jcc -versionこのコマンドが「クラスが見つからない」という応答を返す場合、 ドライバーのレベルが古く、このコマンドをサポートしていないか、コマンドを正確に発行されていません。
//DB2INSTE JOB MSGCLASS=H,CLASS=A,NOTIFY=IBMUSER /*JOBPARM SYSAFF=* //****************************************************************** //* JOB NAME = DSNTIJUZ //* //* DESCRIPTIVE NAME = INSTALLATION JOB STREAM //* //* LICENSED MATERIALS - PROPERTY OF IBM //* 5675-DB2 //* (C) COPYRIGHT 1982, 2000 IBM CORP. ALL RIGHTS RESERVED. //* //* STATUS = VERSION 7 //* //* FUNCTION = DSNZPARM AND DSNHDECP UPDATES //* //* PSEUDOCODE = //* DSNTIZA STEP ASSEMBLE DSN6.... MACROS, CREATE DSNZPARM //* DSNTIZL STEP LINK EDIT DSNZPARM //* DSNTLOG STEP UPDATE PASSWORDS //* DSNTIZP STEP ASSEMBLE DSNHDECP DATA-ONLY LOAD MODULE //* DSNTIZQ STEP LINK EDIT DSNHDECP LOAD MODULE //* DSNTIMQ STEP SMP/E PROCESSING FOR DSNHDECP //* //* NOTES = STEP DSNTIMQ MUST BE CUSTOMIZED FOR SMP. SEE THE NOTES //* NOTES PRECEDING STEP DSNTIMQ BEFORE RUNNING THIS JOB. //* //* LOGLOAD=16000000, //*********************************************************************/ //* //DSNTIZA EXEC PGM=ASMA90,PARM='OBJECT,NODECK' //STEPLIB DD DSN=ASM.SASMMOD1,DISP=SHR //SYSLIB DD DISP=SHR, // DSN=DB2710.SDSNMACS // DD DISP=SHR, // DSN=SYS1.MACLIB //SYSLIN DD DSN=&LOADSET(DSNTILMP),DISP=(NEW,PASS), // UNIT=SYSALLDA, // SPACE=(800,(50,50,2)),DCB=(BLKSIZE=800) //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSUT1 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) //SYSUT2 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) //SYSUT3 DD UNIT=SYSALLDA,SPACE=(800,(50,50),,,ROUND) //SYSIN DD * DSN6ENV MVS=XA DSN6SPRM RESTART, X . . . AUTH=YES, X AUTHCACH=1024, X BINDNV=BINDADD, X BMPTOUT=4, X CACHEDYN=YES, X . . . MAXKEEPD=16000, X . . . DSN6ARVP ALCUNIT=CYL, X . . . DSN6LOGP DEALLCT=(0), X . . . DSN6SYSP AUDITST=NO, X BACKODUR=5, X CHKFREQ=16000000, X CONDBAT=400, X CTHREAD=1200, X DBPROTCL=PRIVATE, X DLDFREQ=5, X DSSTIME=5, X EXTRAREQ=100, X EXTRASRV=100, X EXTSEC=NO, X IDBACK=1800, X . . . //*