管理: パフォーマンス

8 8 8

新規システム環境変数 (Linux)

8

DB2_MAPPED_BASE および DB2DBMSADDR システム環境変数がフィックスパック 8 で追加されました。

8

これらのレジストリー変数の使用は、上級ユーザーにのみお勧めします。

8
8DB2_MAPPED_BASE 8

8
8
変数名
8
DB2_MAPPED_BASE 8
8
8
0、31 ビットおよび 32 ビットアドレス範囲の仮想アドレス (16 進)、または NULL (設定なし) 8
8
オペレーティング・システム
8
Linux(TM) on x86 および Linux on zSeries(R) (31 ビット) 8
8
説明
8
DB2_MAPPED_BASE レジストリー変数を使用すると、特定プロセスの共用ライブラリーの添付アドレスを再配置して、DB2 Universal Database(TM) (UDB) プロセスで使用できる連続する仮想アドレス・スペース量を増やすことができます。連続する仮想アドレス・スペースは、DB2(R) UDB で使用できるデータベース共用メモリー量を最大化するために重要です。この変数は、PROC ファイル・システムのプロセス識別ディレクトリーに mapped_base ファイルが含まれるディストリビューションでのみ有効です。 8 8

DB2 UDB は、この変数が設定されていない場合、共用ライブラリーを仮想アドレス 0x20000000 に再配置しようとします。

8 8

レジストリー変数には、新規のアドレスでアドレス・スペースの低位に共用ライブラリーが配置される場合、31 および 32 ビット・アドレスの範囲内の任意の仮想アドレスを (16 進で) 設定することもできます。 8

8 8
注:
8
アドレスを間違うと、DB2 UDB で重大な問題(DB2 UDB を始動できない、データベースに接続できない、など) が発生する可能性があります。アドレスを誤ると、すでに使用中かまたは他で使用するために予定されていたメモリー内の領域と競合する場合があります。この問題を解決するには、以下のコマンドを使用して DB2_MAPPED_BASE 変数を NULL にリセットします。 8 8
db2set DB2_MAPPED_BASE=
8 8

この変更は論理ノードごとに 1 回必要であるため、以下のメッセージが db2diag.log ファイルに複数回出力されることがあります。 8

8
ADM0506I DB2 は自動的に、"mapped_base" 
8カーネル・パラメーターを "0x40000000(hex) 1073741824(dec)" から
8推奨値 "0x20000000(hex) 536870912(dec)" に更新しました。
8 8

このメッセージは、レジストリー変数が正常に設定された場合にのみ出力され、共用ライブラリーが再配置される先のアドレスが含まれます。

8
8
8
8DB2DBMSADDR 8

8
8
変数名
8
DB2DBMSADDR 8
8
8
範囲 0x09000000 から 0xB0000000、増分 0x10000 の仮想アドレス 8
8
オペレーティング・システム
8
Linux on x86 および Linux on zSeries (31 ビット) 8
8
説明
8
デフォルトのデータベース共用メモリーのアドレスを 16 進形式で指定します。 8 8 8
注:
8
アドレスを間違うと、DB2 UDB で重大な問題 (DB2 UDB を始動できない、データベースに接続できない、など) が発生する可能性があります。誤ったアドレスは、すでに使用中かまたは他で使用するために予定されていたメモリー内の領域と競合する場合があります。この問題を解決するには、以下のコマンドを使用して DB2DBMSADDR 変数を NULL にリセットします。 8 8
db2set DB2DBMSADDR=
8 8

この変数は、DB2_MAPPED_BASE とともに設定するかまたは単独で設定して、DB2 UDB プロセスのアドレス・スペース・レイアウトを調整することができます。この変数により、インスタンスの共用メモリーのロケーションが仮想アドレス 0x10000000 の現在のロケーションから指定された新規の値に変更されます。

8
8
7 7 7

新規通信レジストリー変数

7

バージョン 8.2 で DB2TCP_CLIENT_RCVTIMEOUT レジストリー変数が追加されました。

7 77777777777777777777777
表 11. 通信変数
変数名 オペレーティング・システム
説明
DB2TCP_CLIENT_RCVTIMEOUT すべて 7

デフォルト=0 (設定しない)

7

値: 0 から 32767 秒

7

クライアントが TCP/IP 上のデータを受信するのを待つ秒数を指定します。

7

レジストリー変数が設定されていないか、または 0 に設定されている場合は、タイムアウトはありません。タイムアウト値が満了する前に TCP/IP 受信がデータを伴って戻る場合は、アプリケーションが通常どおり進行します。 7データが戻される前にタイムアウト値が満了する場合は、接続が閉じます。

7

7 7
注:
7
このレジストリー変数は、DB2 クライアントおよび DB2 ゲートウェイのクライアント・サイドにのみ適用されます。 7DB2 サーバーには適用されません。
7 7 7

新規パフォーマンス変数

7

バージョン 8.2 で DB2_LARGE_PAGE_MEM パフォーマンス変数が追加されました。

7 77777777777777777777777
表 12. パフォーマンス変数
変数名 オペレーティング・システム
説明
DB2_LARGE_PAGE_MEM 7

AIX(R) 5.x 64 ビットのみ

7

Linux

デフォルト = NULL 7 7

該当するすべてのメモリー領域がラージ・ページ・メモリーを使用すべき場合は * を使用します。それ以外の場合は、ラージ・ページ・メモリーを使用すべき特定のメモリー領域をコンマで区切られたリストで指定します。 7使用可能な領域はオペレーティング・システムによって異なります。 7AIX 5.x 64 ビット上では、DB、DBMS、または PRIVATE の領域を指定できます。 7Linux 上では、DB の領域を指定できます。

7

ラージ・ページ・メモリーは、DB2 Universal Database (UDB) for AIX 5L(TM) 64 ビット版、および DB2 UDB for Linux でのみサポートされます。

7

DB2_LARGE_PAGE_MEM レジストリー変数は、AIX 5.x または適切なカーネル・サポートを備えた Linux アーキテクチャー上で実行する場合に、ラージ・ページ・サポートを使用可能にするために使用します。 7このレジストリー変数により、DB2_LGPAGE_BP レジストリー変数は推奨されないものとなります。DB2_LGPAGE_BP レジストリー変数は、データベース共用メモリー領域のラージ・ページ・メモリーを使用可能にするためにしか使用できません。 7これは DB2_LARGE_PAGE_MEM=DB と設定することによって使用可能になります。 7DB2_LGPAGE_BP レジストリー変数を使ってラージ・ページを使用可能にするという記述がいずれかの資料にあった場合、それは DB2_LARGE_PAGE_MEM=DB を設定することと同じ意味に受け取ることができます。

7

ラージ・ページの使用は主に、高性能コンピューティング・アプリケーションのパフォーマンスの向上を意図したものです。 7集中的なメモリー・アクセスを必要とし、大量の仮想メモリーを使用するアプリケーションでは、このラージ・ページの使用によってパフォーマンスを向上できる場合があります。 7DB2 UDB でラージ・ページを使用できるようにするには、まずオペレーティング・システムがラージ・ページを使用できるように構成する必要があります。

7

ラージ専用ページを使用可能にすると、DB2 UDB のメモリー使用量がかなり増加します。各 DB2 UDB エージェントが最低 1 つの物理メモリー・ラージ・ページ (16MB) を消費するためです。 764 ビット DB2 UDB for AIX 上でエージェント専用メモリー用にラージ・ページを使用可能にするには (DB2_LARGE_PAGE_MEM=PRIVATE 設定)、オペレーティング・システム上でラージ・ページを構成することに加えて、以下の条件を満たさなければなりません。

7
    7
  • インスタンス所有者が CAP_BYPASS_RAC_VMM および CAP_PROPOGATE 機能を所有していなければならない。
  • 7
  • カーネルが、実行時にプロセスがページ・サイズを変更できるようにするインターフェースをサポートしていなければならない。 7 .
7

64 ビット DB2 UDB for AIX では、この変数を使用可能にすると、データベース・メモリーをバッキングする共用メモリー・セグメントのサイズが必要最小量に減少します。 7デフォルトでは 64GB セグメントが作成されます。詳細については、データベース共用メモリー・サイズ (database_memory) データベース構成パラメーターを参照してください。 7こうして、使用される可能性のある量以上の共用メモリーが RAM 内に滞留するのを防ぐことができます。

7

この変数セットを使用することによって、 7全体的なデータベース共用メモリー構成を動的に増やす機能 (例えばバッファー・プールのサイズを増やす機能) が制限されます。

7

Linux では、libcap.so ライブラリーの可用性に関する追加の要件があります。 7このオプションを有効にするためには、このライブラリーがインストールされていなければなりません。 7このオプションがオンになっていて、このライブラリーがシステム上にない場合、DB2 UDB は大容量のカーネル・ページを使用不可にして、以前と同様に機能し続けます。

7

Linux では、大容量カーネル・ページが使用可能かどうかを検査するために、次のコマンドを発行します。

7
            cat /proc/meminfo
7

使用可能である場合は、次の 3 行が表示されます 7(マシン上に構成されているメモリーの量によって数値は異なります)。

7
      HugePages_Total:   200
7      HugePages_Free:    200
7      Hugepagesize:    16384 KB
7

これらの行が表示されない場合、または HugePages_Total が 0 である場合は、オペレーティング・システムまたはカーネルの構成が必要です。

8 8 8

SQL コンパイラー変数

8

以下の更新が「管理ガイド: パフォーマンス」の付録 A 『DB2 レジストリー変数と環境変数』の『SQL コンパイラー変数』のトピックに適用されます。

8

DB2 コンパイラー変数 DB2_MINIMIZE_LISTPREFETCH 8および DB2_INLIST_TO_NLJN の両方またはいずれかが ON に設定されると、REOPT(ONCE) が指定されていても、アクティブ状態のままになります。

8 8 8

構成パラメーターの更新

8

以下に構成パラメーター・ドキュメンテーションの更新情報を示します。

8 8

authentication - 認証タイプ

8
8

認証タイプ (authentication) データベース・マネージャー構成パラメーターは、以下の値も受け入れます。

8
8 8

util_impact_lim - インスタンス影響ポリシー

8
8

DB2 Universal Database バージョン 8.2 から、インスタンス影響ポリシー ( util_impact_lim) データベース・マネージャー構成パラメーターのデフォルト値が 100 から 10 に変更されました。

8 8

sysadm_group、sysmaint_group、sysctrl_group, sysmon_group

8
8

以下のデータベース・マネージャー構成パラメーターはすべて、すべてのプラットフォームで 30 バイト以下のグループ名を受け入れることができます。 8

8 8

『データベース・マネージャー構成パラメーター・サマリー』トピックの表には、これらのデータベース・マネージャー構成パラメーターについて誤ったデータ・タイプが記載されています。 8すべての場合において、正しい値は char(30) です。

8 8

estore_seg_sz - 拡張ストレージ・メモリー・セグメント・サイズ

8
8

Windows(R) ベース・プラットフォームの拡張ストレージ・メモリー・セグメント・サイズ・データベース (estore_seg_size) 構成パラメーターの最大サイズは、16 777 216 です。

8 8

hadr_timeout - HADR タイムアウト値

8
8

HADR タイムアウト値 (hadr_timeout) データベース構成パラメーターの正しい上限は、4 294 967 295 です。

8 8

locklist - ロック・リスト用最大ストレージ

8
8

ロック・リストの最大ストレージ (locklist) データベース構成パラメーターのドキュメンテーションには、ローカル・クライアントのみをサービスする Windows 64 ビットおよび 32 ビット・サーバーの最大値は 60 000 と記載されています。この値は誤りで、524 288 とする必要があります。

8 8

num_db_backups - データベース・バックアップ数

8
8

データベース・バックアップ数 (num_db_backups) データベース構成パラメーターの値の範囲は誤りです。正しい範囲は、0 から 32 767 です。

8 8 8

SQLDBCONF データベース構成パラメーター・ファイル

8

DB2 Universal Database (UDB) をバージョン 8.1 からバージョン 8.2 に移行すると、DB2 UDB は SQLDBCONF という新規の 16KB データベース構成パラメーター・ファイルを使用します (バージョン 8.1 では、データベース構成パラメーター・ファイルは 4KB のみで、名前は SQLDBCON です)。

8 8 8

DB2_HASH_JOIN デフォルト値への変更

8

バージョン 8.1 では、レジストリー変数 DB2_HASH_JOIN はデフォルトで ON になっています。

8

ハッシュ結合変数は使用すべきですが、最高のパフォーマンスを得るには調整する必要があります。

8

ハッシュ・ループとディスクへのオーバーフローを避けることができれば、 8ハッシュ結合のパフォーマンスが最高になります。 8ハッシュ結合のパフォーマンスを調整するには、sheapthres パラメーターに使用可能なメモリーの最大量を見積もってから、sortheap パラメーターを調整します。可能な限りハッシュ・ループとディスク・オーバーフローを避けられるところまで値を大きくします。ただし sheapthres パラメーターで指定した制限に達しないようにします。

8

詳しくは、マニュアル「管理ガイド: パフォーマンス」の結合メソッドに関するトピックを参照してください。

7 7 7

DB2NTNOCACHE レジストリー変数は推奨されない

7

以前に DB2NTNOCACHE によって実行されていた機能は、CREATE TABLESPACE または ALTER TABLESPACE 文に NO FILE SYSTEM CACHING 節を指定することによって、表スペース・レベルで実行できます。 7使用法の詳細については、「SQL リファレンス」を参照してください。 7DB2NTNOCACHE レジストリー変数は、将来のリリースで除去されます。

7 7 7

Explain 表および Explain 情報の編成

7

Explain 表は、複数のユーザーに共通にすることができます。 7ただし、Explain 表は、1 人のユーザーに対して定義して、それぞれの追加ユーザーに対しては、その定義済みの表を指すために同じ名前を使用して、別名を定義することができます。 7またはその代わりに、Explain 表を SYSTOOLS スキーマ下で定義することもできます。 7ユーザーのセッション ID (動的 SQL の場合)、またはステートメント許可 ID (静的 SQL の場合) の下に他の Explain 表または別名がない場合、Explain 機能のデフォルトは SYSTOOLS スキーマになります。 7共通の Explain 表を共用する各ユーザーには、それらの表に対する挿入権限が必要です。 7共通 Explain 表の読み取り許可も、通常は Explain 情報を分析するユーザーに限定するべきです。

7 7 7

Explain 情報のキャプチャーのガイドライン

7

Explain データがキャプチャーされるのは、SQL ステートメントがコンパイルされるときに Explain データを要求する場合です。 7Explain データを要求するときに、キャプチャーした情報を使用する方法を考慮してください。

7
7Explain 表内の情報のキャプチャー 7
7 7 7

db2CfgGet API、collate_info パラメーターからの追加の戻りコード

7

照合情報パラメーターを表示できるのは、db2CfgGet API を使用した場合のみです。 7コマンド行プロセッサーやコントロール・センターでは表示できません

7
7
構成タイプ
7
データベース 7
7
パラメーター・タイプ
7
通知 7
7
7

このパラメーターは、260 バイトのデータベース照合情報を提供します。 7最初の 256 バイトでデータベース照合シーケンスを指定するのに対して、バイト「n」には、データベースのコード・ページで基本 10 進表記が「n」になっている、コード・ポイントのソートに対する重みづけが入ります。

7

最後の 4 バイトには、照合シーケンスのタイプについての内部情報が入ります。 7collate_info の最後の 4 バイトは整数です。 7整数は、プラットフォームのエンディアン順序に依存しています。 7使用できる値は次のとおりです。 7

7 7

この内部タイプ情報を使用する場合は、別のプラットフォームにあるデータベースに関する情報を検索するときに、バイト反転を考慮する必要があります。

7

照合シーケンスは、データベース作成時に指定できます。

8 8 8

デフォルトのプリフェッチ・サイズの自動設定とデフォルトの更新

8

DB2 Universal Database (UDB) バージョン 8.2 から、表スペースに AUTOMATIC プリフェッチ・サイズを使用できます。DB2 UDB は、表スペースのコンテナー数が変更されると、プリフェッチ・サイズを自動的に更新します。

8

DB2_PARALLEL_IO レジストリー変数の構文は、さまざまな入出力並列処理特性を持つコンテナーを認識するために拡張されています。拡張構文により、異なる表スペースのコンテナーは異なる入出力並列処理特性を持つことができます。各表スペースの入出力並列処理特性は、表スペースに AUTOMATIC のプリフェッチ・サイズが指定されている場合に使用されます。 8DB2_PARALLEL_IO レジストリー変数が使用可能であるが、表スペースの特定の入出力並列処理特性を識別する拡張構文が使用されない場合は、デフォルトの並列処理レベルが想定されます。デフォルトのレベルは RAID 5 (6+1) です。

8

オプティマイザーで使用されるプリフェッチ・サイズ情報は、表スペースのプリフェッチ・サイズを変更するか、またはコンテナー数を変更する ALTER TABLESPACE ステートメント (ADD/DROP/BEGIN NEW STRIPE SET/ADD TO NEW STRIPE SET を使用) が発行されたときのみリフレッシュされます。コンテナー・レジストリー設定ごとの物理ディスク数が変更される場合は、ALTER TABLESPACE<table space name> PREFETCHSIZE AUTOMATIC ステートメントを発行して、オプティマイザー情報をリフレッシュする必要があります (オプティマイザー情報をリフレッシュする ALTER TABLESPACE ステートメントがまだ発行されていない場合)。

8

別の数のコンテナーを使用するよう表スペースをリダイレクトまたは復元する場合は、ALTER TABLESPACE <table space name> PREFETCHSIZE AUTOMATIC ステートメントを発行してオプティマイザー情報をリフレッシュします。 8表スペース内に複数のストライプ・セットがある場合、ストライプ・セット間の最大コンテナー数がプリフェッチ・サイズの計算に使用されます。 8計算されたプリフェッチ・サイズが最大サイズ (32 767 ページ) を超えると、最大値未満のコンテナー数の一番大きい倍数がプリフェッチ・サイズとして使用されます。

8

DB2 UDB Enterprise Server Edition 環境では、表スペースが AUTOMATIC プリフェッチ・サイズを使用する場合、プリフェッチ・サイズはデータベース・パーティションにより異なる場合があります。この状況は、データベース・パーティションが異なるとプリフェッチ・サイズの計算に使用するコンテナー数が異なる場合があるため発生します。照会アクセス・プランを生成する場合、オプティマイザーは、データベース・パーティション・グループの最初のパーティションのプリフェッチ・サイズを使用します。

[ ページのトップ |前ページ | 次ページ | 目次 ]