リリース情報


8.8 付録 A DB2 レジストリーと環境変数

以下のレジストリー変数は新規、もしくは変更の必要があるものです:

8.8.1 新規およびレジストリー変数を変更した表


表 6. レジストリー変数
変数名 オペレーティング・システム
記述
DB2MAXFSCRSEARCH すべて デフォルト=5

値: -1, 1 to 33554

表にレコードが追加された場合、 検索のために、Specifies フリー・スペース制御レコードの数を指定します。 デフォルトは、フリー・スペース制御レコードを 5 つ検索します。 この値の変更は、スペース再利用で挿入速度の平衡を取れるようにします。 スペース再利用の最適化のため大きな値を使用します。 挿入速度の最適化のため小さな値を使用します。 値を -1 に設定するとデータベース・マネージャーはすべてのフリー・スペース制御レコードを強制的に 検索します。
DLFM_TSM_MGMTCLASS AIX、Windows NT、Solaris デフォルト: デフォルト TSM 管理クラス

値: 有効 TSM 管理クラス

リンクしたファイルを保存、検索するために使用する TSM 管理クラスを指定します。 この変数の値セットがない場合は、デフォルト TSM 管理クラスが 使用されます。
DB2_CORRELATED_PREDICATES すべて デフォルト=YES

値: YES または NO

この変数の デフォルトは YES です。 結合内の相関列上に固有索引があり、このレジストリー変数が YES の場合、 この最適化プログラムは、結合条件の相関を検出し、補正しようとします。 このレジストリー変数が YES の場合、 最適化プログラムは相関しているケースを検出するため固有索引統計の KEYCARD 情報を 使用し、結合された、関連する述部の選び方を動的に調整します。 こうすることで、結合するサイズやコスト面で、より正確な 見積もりを立てることができます。
DB2_VI_DEVICE Windows NT デフォルト=ヌル

値: nic0 / VINIC

装置の記号名、もしくは ネットワーク・インターフェース・カード (NIC) に関連した仮想インターフェース・プロバイダー・インスタンスを 指定します。各独立ハードウェア販売会社 (IHV) はそれぞれの NIC を 製造しています。 Windows NT マシン では、一種類のみの NIC が許可されています; 物理的に同じマシン上では マルチ論理ノードは同じ NIC を共有します。 装置記号名 "VINIC" は、Synfinity インター・コネクトで使用する場合、 大文字かつ単一である必要があります。 他の現在サポートされている、すべてのインプリメンテーションは、装置記号名として "nic0" を 使用します。
DB2_SELECTIVITY すべて デフォルト=NO

値: YES または NO

このレジストリー変数は、SELECTIVITY 文節が使用できるかどうかを 制御します。SELECTIVITY 文節について詳しくは、「SQL 解説書」、 言語エレメント、検索条件を参照してください。

このレジストリー変数が YES に設定された場合、 述部が、少なくとも 1 つの式がホスト変数を含む基本述部であるときは、SELECTIVITY 文節を設定可能です。

DB2_UPDATE_PART_KEY すべて デフォルト=YES

値: YES または NO

フィックスパック 3 以降の場合、 デフォルト値は YES です。このレジストリー変数は、区分化キーの更新が 許されるかどうかを指定します。
DB2_BLOCK_ON_LOG_DISK_FULL すべて デフォルト=NO

値: YES または NO

この DB2 レジストリー変数の設定によって、 活動状態のログ・パスに DB2 が新しいログ・ファイルを作成できないときに ディスク・フル・エラーが生成されるのを防ぐことができます。

代わりに、DB2 は成功するまで 5 分ごとにログ・ファイルを作成しようとします。 DB2 は作成を試みるたびにメッセージを db2diag.log ファイルに 書き込みます。 ログ・ディスクがいっぱいの状態であるためアプリケーションがハングしていることを 確認する唯一の方法は、db2diag.log ファイルを モニターすることです。

ログ・ファイルが正常に作成されるまで、 表データを更新しようとするユーザー・アプリケーションはトランザクションをコミットできません。 読み取り専用の照会が直接影響を受けることはありませんが、更新要求により ロックされているデータへのアクセス、または、更新アプリケーションにより バッファー・プールに固定されているデータ・ページへのアクセスが照会で必要になった場合には、 読み取り専用照会もハングしているように見えます。

DB2_INDEX_2BYTEVARLEN すべて デフォルト=NO

値: YES または NO

このレジストリー変数を使用すると、 255 バイトよりも長い列を索引キーの一部として指定することができます。 このレジストリー変数を YES にする前にすでに作成された索引には、 引き続き 255 キー制限があります。 このレジストリー変数を YES にした後に作成された索引は、レジストリー変数を 再び NO にしたとしても、2 バイトの索引として扱われます。

このレジストリー変数を 変更することにより、CREATE TABLE、CREATE INDEX、および ALTER TABLE を含む いくつかの SQL ステートメントが影響を受けます。 これらのステートメントについての詳細は、「SQL 解説書 」に 記述された変更を参照してください。

DB2_FORCE_FCM_BP AIX デフォルト=NO

値: YES または NO

高速コミュニケーション・マネージャー (FCM) の リソースをどこから割り振るのかを指定します。 このリソースは、データベース・マネージャー共有メモリー・セグメントまたは別のセグメントから 割り振ることができます。 複数の論理ノードが 1 つのマシンにある場合には、このレジストリー変数を使用してください。 対称型マルチプロセッサー (SMP) が使用可能な区分データベース・システムでは、 このレジストリー変数を設定しても、通信方法には影響ありません。 この場合、通信では必ず共有メモリーが使用されます。 ただし、DB2 が使用する共有メモリー・セグメントの数は影響を受けます。
DB2_AWE Windows 2000 デフォルト=NULL

値: <entry>[; <entry>;...] (<entry>=<バッファー・プール ID>、<物理ページの数>、<アドレス・ウィンドウの数>)

Windows 2000 の DB2 UDB では、 バッファー・プールに 64 GB までのメモリーを割り振ることができます。 Windows 2000 は、Address Windowing Extensions (AWE) バッファー・プールを サポートするように正しく構成されている必要があります。 これには、「"メモリ内のページのロック"」権利を Windows 2000 のユーザーに関連付け、 DB2 でこのレジストリー変数を設定する作業が含まれます。 この変数を設定するには、AWE サポートに使用するバッファー・プール ID を 知っておく必要があります。 また、割り振る物理ページの数とアドレス・ウィンドウの数も決定しなければなりません。

割り振る物理ページの数とアドレス・ウィンドウの数の決定について詳しくは、 このセクションの前にある「"第 8 章 操作パフォーマンス"」の 「"データベース・バッファー・プールの管理"」セクションを参照してください。

注:
AWE サポートが 使用可能になっている場合には、拡張記憶域 (ESTORE) をデータベースのバッファー・プールに対して 使用することはできません。 この変数により参照されるバッファー・プールは、SYSIBM.SYSBUFFERPOOLS にあらかじめ 存在していなければなりません。
DB2_STPROC_LOCKUP_FIRST すべて デフォルト=NO

値: YES または NO

このレジストリー変数は DB2_DARI_LOOKUP_ALL から名前が変更されました。
DB2MEMDISCLAIM AIX デフォルト=YES

値: YES または NO

AIX では、DB2 処理が使用するメモリーに、 関連するページング・スペースを存在させることができます。 このページング・スペースは、関連するメモリーが 解放された後も予約されたままになる場合があります。 ページング・スペースの予約は、 AIX システムの調整可能な仮想メモリー管理割り振りポリシーによって異なります。 このレジストリー変数は、解放されたメモリーと予約ページング・スペースとの 関連付けを AIX で解除する要求を DB2 エージェントが明示的に出すかどうかを制御します。

"YES" を設定すると、ページング・スペースの所要量が少なくなり、 ページングのディスク活動も減ります。 "NO" を設定すると、ページング・スペースの所要量は多くなり、 ページングのディスク活動も増えます。 ページング・スペースが多い場合や、ページングが行われないほど実メモリーが十分にある場合などは、 NO を設定してもパフォーマンスはわずかしか向上しません。

DB2MEMMAXFREE すべて デフォルト=8 388 608 バイト

値: 0 〜 232-1 バイト

このレジストリー変数は、DB2 の処理により 保存された未使用メモリーの最大量をバイト単位で制御します。
DB2_ANTIJOIN すべて デフォルト=NO (EEE 環境)

デフォルト=YES (EEE 環境以外)

値: YES または NO

DB2 ユニバーサル・データベース EEE 環境の場合に YES が指定されていると、最適化プログラムは、機会があるたびに、DB2 がより効率的に 処理できる非結合に NOT EXISTS 副照会をトランスフォームします。 非 EEE 環境 で NO が指定されていると、最適化プログラムは NOT EXISTS 副照会を非結合に ほとんどトランスフォームしません。
NEWLOGPATH2 UNIX デフォルト=NO

値: YES または NO

このパラメーターを使用すると、 重複ロギングを行うために別のパスを使用するかどうかを指定できます。 使用されるパスは、文字 '2' を 'LOGPATH' の現行値に付加することにより生成されます。

DB2DOMAINLIST Windows NT デフォルト=NULL

値: 1 つ以上の有効な Windows NT 定義域 (各値はコンマで区切る)

1 つ以上の Windows NT 定義域を定義します。 この定義域に属しているユーザーの接続要求のみが受け入れられます。

このレジストリー変数は、DB2 ユニバーサル・データベース・バージョン 7.1 (またはそれ以降) が稼動する DB2 サーバーおよびクライアントの 純粋な Windows NT 定義域環境下でのみ使用してください。

DB2_LIKE_VARCHAR すべて デフォルト=Y、N

値: Y、N、S、0 から 6.2 までの浮動小数点定数

サブエレメント統計の収集と使用を制御します。 ブランクで区切られた一連のサブフィールドまたはサブエレメントの フォームに構造がある場合、データ内容に関する統計が列にあります。

このレジストリー変数は、次の形式の述部を最適化プログラムが処理する方法に影響します。

   COLUMN LIKE '%xxxxxx%'

xxxxxx は文字のストリングです。

このレジストリー変数の使用方法を示す 構文は次の通りです。

   db2set DB2_LIKE_VARCHAR=[Y|N|S|num1] [,Y|N|S|num2]
説明
  • コンマの前にある用語、または述部の右にある唯一の用語は、 正の値のサブエレメント統計を持たない列に対してのみ、以下の意味になります。
    • S - % 文字で囲まれたストリングの長さに基づいて、 列を形成するために連結する一連のエレメントの各エレメントの長さを見積もります。
    • Y - デフォルト。 アルゴリズム・パラメーターのデフォルト値 1.9 を使用します。 アルゴリズム・パラメーターで可変長サブエレメント・アルゴリズムを使用します。
    • N - 固定長サブエレメント・アルゴリズムを使用します。
    • num1 - 可変長サブエレメント・アルゴリズムにより、 アルゴリズム・パラメーターとして num1 の値を使用します。
  • コンマの後の用語は次のような意味があります。
    • N - デフォルト。 サブエレメント統計を収集も使用もしません。
    • Y - サブエレメント統計を収集します。 正の値のサブエレメント統計を持つ列の場合に、アルゴリズム・パラメーターのデフォルト値 1.9 と 一緒に収集した統計を使用する可変長サブエレメント・アルゴリズムを使用します。
    • num2 - サブエレメント統計を収集します。 正の値のサブエレメント統計を持つ列の場合に、アルゴリズム・パラメーターとして num2 の値と 一緒に収集した統計を使用する可変長サブエレメント・アルゴリズムを使用します。
DB2_PINNED_BP AIX、HP-UX デフォルト=NO

値: YES または NO

この変数は、 一部の AIX オペレーティング・システムで、データベースに関連する データベース・グローバル・メモリー (バッファー・プールを含む) を メイン・メモリーに保持するために使用されます。 データベース・グローバル・メモリーをシステム・メイン・メモリーに保持することにより、 データベース・パフォーマンスがより一貫性のあるものになります。

たとえば、バッファー・プールがシステム・メイン・メモリーからスワップアウトされた場合、 データベース・パフォーマンスは低下します。 バッファー・プールをシステム・メモリーに保持することによってディスク入出力が減ると、 データベース・パフォーマンスは改善されます。 別のアプリケーションがより多くのメイン・メモリーを要求した場合、 システム・メイン・メモリー所要量に応じて、データベース・グローバル・メモリーを メイン・メモリーからスワップアウトできます。

64 ビット環境で HP-UX を使用するときは、このレジストリー環境を変更する他に、 DB2 インスタンス・グループに MLOCK 特権を与えなければなりません。 これを行うには、root のアクセス権限を持つユーザーに対して、次の作業を依頼してください。

  1. DB2 インスタンス・グループを /etc/privgroup ファイルに追加します。 たとえば、DB2 インスタンス・グループが db2iadm1 グループに属している場合、 次の行を /etc/privgroup ファイルに追加します。

    db2iadm1 MLOCK

  2. 次のコマンドを実行します。

    setprivgrp -f /etc/privgroup

DB2_RR_TO_RS すべて デフォルト=NO

値: YES または NO

次のキー・ロック によって、 すべての INSERT ステートメントと DELETE ステートメントの次のキー、および SELECT ステートメントの 結果セットの上にある次に大きいキー値が自動的にロックされて、反復可能読み取り (RR) 分離レベルが 保証されます。索引のキー部分を変更する UPDATE ステートメントの場合は、元の索引キーが削除され、 新しいキー値が挿入されます。次のキー・ロックは、キー挿入時とキー削除時の両方で行われます。 次のキー・ロックは、ANSI および SQL92 標準 RR を保証するために必要であり、DB2 のデフォルトです。

アプリケーションが停止またはハングしている可能性がある場合は、アプリケーションの スナップショット情報を調べる必要があります。 次のキー・ロックに問題があると考えられる場合は、2 つの条件に基づいて DB2_RR_TO_RS レジストリー変数を 設定できます。どのアプリケーションも反復可能読み取り (RR) 動作を信頼していない場合、および コミットされていない削除をスキャン時にスキップすることが許される場合は、DB2_RR_TO_RS を オンにします。スキップ動作は RR、読み取り固定 (RS)、およびカーソル固定 (CS) 分離レベルに 影響します。(非コミット読み取り (UR) 分離レベルの行ロックはありません。)

DB2_RR_TO_RS がオンになっていると、ユーザー表での RR のスキャン動作は保証されません。 これは、索引キーの挿入時と削除時には次のキー・ロックが行われないためです。このオプションは カタログ表には影響しません。

動作上のもう 1 つの変更点は、DB2_RR_TO_RS がオンに なっていると、削除されたがコミットされていない行は、スキャンに適している場合でも、 スキャン時にスキップされることです。


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