DB2 で使用されるパスワード・プラグインは、srvcon_pw_plugin データベース・マネージャー構成パラメーターによって決定されます。srvcon_pw_plugin パラメーターに IBMLDAPauthserver が設定されている場合、 IBMLDAPauthserver プラグインによって暗黙的なローカル接続が処理されます。srvcon_pw_plugin パラメーターに カスタム・セキュリティー・プラグインが設定されている場合、そのカスタム・プラグインによって 暗黙的なローカル接続が処理されます。srvcon_pw_plugin パラメーター が設定されていない場合、デフォルトのプラグイン (IBMOSauthserver) によって 暗黙的なローカル接続が処理されます。DB2 提供のセキュリティー・プラグインでは、 ユーザーは既に OS によって検証されたものと見なされるため、 暗黙的なローカル接続を常に許可します。
db2set DB2AUTH=DISABLE_CHGPASS,OSAUTHDB
このレジストリー変数は推奨されていません。出口点コミットの動作は将来のリリースでサポートされなくなりますので注意してください。 DB2 バージョン 9 より前に開発されたアプリケーションをこの機能に依存したまま使用し続けるか検討し、必要であれば適切な明示的 COMMIT または ROLLBACK ステートメントをアプリケーションに追加してください。 このレジストリー変数をオンにする場合は、 明示的には COMMIT を実行できない新規アプリケーションを 出口の前にインプリメントしないように注意してください。
通常は、このレジストリー変数はデフォルト設定のままにしておきます。
バージョン 9.7 フィックスパック 5 およびそれ以降のフィックスパックでは、 このレジストリー変数は db2set コマンド出力に表示されるようになりましたが、変更はできません。 このレジストリー値を変更しようとすると、DBI1301E 無効値エラーとなります。
DB2_CREATE_DB_ON_PATH が設定されておらず (または NO に設定されており)、データベースの作成またはリストア時にデータベース・パスのパスを指定すると、エラー SQL1052N が戻されます。
DB2_CREATE_DB_ON_PATH が設定されておらず (または NO に設定されており)、dftdbpath データベース・マネージャー構成パラメーターを更新すると、エラー SQL5136N が戻されます。
オンライン・バックアップの完了時に、最後のアクティブ・ログ・ファイルは切り捨てられ、クローズされ、アーカイブできるようになります。 これにより、オンライン・バックアップに、 リカバリーに使用できるアーカイブ・ログの完全セットが揃うことになります。 ログ・シーケンス番号 (LSN) のスペース部分の浪費が心配な場合は、最後のアクティブ・ログ・ファイルのクローズを無効にすることができます。 アクティブ・ログ・ファイルが切り捨てられるたびに、LSN は切り捨てられたスペースに見合う量だけ増えます。 かなりの数のオンライン・バックアップを毎日実行する場合は、最後のアクティブ・ログ・ファイルのクローズを無効にすることができます。
オンライン・バックアップの完了後間もなく、ログが満杯のメッセージを受け取ることが分かった場合は、最後のアクティブ・ログ・ファイルのクローズを無効にすることができます。ログ・ファイルが切り捨てられる場合、予約済みのアクティブ・ログ・スペースは、切り捨てられたログのサイズに見合う量だけ増えます。 アクティブ・ログ・スペースは、切り捨てられたログ・ファイルが再利用されると解放されます。 再利用は、ログ・ファイルが非アクティブになった後、間もなく実行されます。 これら 2 つのイベント間の短い間隔内に、ログが満杯のメッセージを受け取る場合があります。
バックアップにログを含めるにはアクティブ・ログ・ファイルを切り捨ててクローズする必要があるため、ログを含むバックアップの場合、このレジストリー変数は無視されます。
このレジストリー変数および DB2_SERVER_CONTIMEOUT レジストリー変数はどちらも、接続時の新規クライアントの取り扱いを構成します。 多くの低速のクライアントがインスタンスに接続している場合、ディスパッチャーは各クライアントをタイムアウトするまで最大で 1 秒待機できますが、数多くのクライアントが同時に接続している場合は、結果としてディスパッチャーがボトルネックになります。 複数のアクティブ・データベースがあるインスタンスで、非常に低速の接続時には、DB2_DISPATCHER_PEEKTIMEOUT を 0 に引き下げることができます。 DB2_DISPATCHER_PEEKTIMEOUT を引き下げると、ディスパッチャーは既にその場にあるクライアントの接続要求のみを考慮するようになります。つまり、ディスパッチャーは接続要求の着信を待機することはありません。 無効値が設定された場合、デフォルト値が使用されます。 このレジストリー変数は、動的ではありません。
INFORMIXDIR=/informix/client_sdk
INFORMIXSERVER=inf93
ORACLE_HOME=/usr/oracle9i
SYBASE=/sybase/V12
SYBASE_OCS=OCS-12_5
db2dj.ini ファイルには、以下の制約事項が適用されます。
この変数は、データベース・マネージャー・パラメーター federated が YES に設定されていなければ、無視されます。
db2dsdriver.cfg ファイル内に指定できる等価のキーワードは、 EnableLDAP です。
SQL 操作 | 整数値マッピング |
---|---|
EXECUTE | 2 |
EXECUTE_IMMEDIATE | 3 |
OPEN | 4 |
FETCH | 5 |
CLOSE | 6 |
STATIC COMMIT | 8 |
STATIC ROLLBACK | 9 |
PRE_EXEC | 17 |
その他のすべての操作は、ステートメント・イベント・モニターの出力には表示されなくなります。 イベント・モニターへレコードを書き込む操作のセットをカスタマイズするには、整数値を使用します。
db2set DB2_EVMON_STMT_FILTER= 'mon1 monitor3'
この例では、mon1 および monitor3 イベント・モニターが、限定されたアプリケーション要求のリストに関してレコードを受け取ります。例えば、mon1 ステートメント・イベント・モニターによってモニターされているアプリケーションが動的 SQL ステートメントを作成し、そのステートメントに基づいてカーソルを開き、そのカーソルから 10,000 行をフェッチした後、カーソルのクローズ要求を発行する場合、mon1 イベント・モニターの出力にはクローズ要求のレコードのみが表示されます。db2set DB2_EVMON_STMT_FILTER='evmon1:3,8 evmon2:5,9'
この例では、evmon1 および evmon2 が、限定されたアプリケーション要求のリストに関してレコードを受け取ります。例えば、evmon1 ステートメント・イベント・モニターによってモニターされているアプリケーションが CREATE ステートメントを発行する場合、即時実行操作および静的コミット操作のみが evmon1 イベント・モニター出力に表示されます。evmon2 ステートメント・イベント・モニターによってモニターされているアプリケーションが、フェッチと静的ロールバックの両方を行う SQL を実行した場合、それらの 2 つの操作のみが evmon2 イベント・モニター出力に表示されます。システムで多くの fenced ルーチンを実行している場合には、 この変数の値を増やす必要があるかもしれません。 実行している fenced ルーチンがとても少ない場合には、 変数の値を減らすことができます。
この値を 0 に設定すると設定なしと見なされ、fenced ルーチンを呼び出すことができなくなります。このことは、自動データベース保守機能 (自動バックアップ、統計収集、および REORG) が fenced ルーチン・インフラストラクチャーに依存しているため、 ヘルス・モニターと自動データベース保守機能が使用不能になるという意味でもあります。
SAS インデータベース分析 (DB2_SAS_SETTINGS レジストリー変数を設定して使用可能にします) を実行している場合、SAS 組み込みプロセス (EP) への接続用のメモリーも、FMP ヒープから割り振られます。インデータベース分析を含む照会を実行する接続に対応できるようにヒープを調整する際にも、fenced ルーチンと同様のガイドラインが当てはまります。一般的な法則として、FMP ヒープのメモリー所要量は、120 KB 増えることが予期されます。ただし、DB2_SAS_SETTINGS レジストリー変数を設定して COMM_BUFFER_SZ 値を指定した場合には、FMP ヒープのメモリー所要量は、サポートする SAS 照会の同時実行数で COMM_BUFFER_SZ 値を乗算した値をさらに 2 倍した値だけ増えます。
HADR 同期モード (hadr_syncmode データベース構成パラメーター) が ASYNC に設定されている場合、ピア状態中にスタンバイ側の処理が遅いと、プライマリー上の送信操作が停止し、それによってプライマリー上のトランザクション処理がブロックされることがあります。 デフォルトより大きいログ受信バッファーは、 スタンバイ・データベース上に構成することができ、 このバッファーにはより多くの未処理ログ・データが入ります。 これにより、プライマリーで処理するトランザクションが待たされず、 スタンバイがログ・データを取り込むよりも、 プライマリーがログ・データを生成する方が速い状態が短時間起こりえます。
このパラメーターをオンにすると、IP 検査は実行されなくなります。
このパラメーターは静的であるため、 有効にするにはインスタンスを再始動する必要があります。
db2set DB2_HISTORY_FILTER=T,L
DB2_HISTORY_FILTER に指定できる値は、次のとおりです。 CN=System
CN=IBM
CN=DB2
の下の LDAP ディレクトリーに保管されます。これを Microsoft Active Directory Server で設定する場合は、CN=DB2、CN=IBM、および CN=System がこの識別名の下で定義されていることを確認してください。
db2dsdriver.cfg ファイル内に指定できる等価のキーワードは、 BaseDN です。
確実にキャッシュ内の項目を最新のものにするには、 以下のコマンドを実行します。
REFRESH LDAP IMMEDIATE ALL
このコマンドは、データベース・ディレクトリーとノード・ディレクトリーにおいて、正しくない項目の更新および除去を実行します。
db2set DB2LDAP_CLIENT_PROVIDER
db2dsdriver.cfg ファイル内に指定できる等価のキーワードは、 ClientProvider です。
db2dsdriver.cfg ファイル内に指定できる等価のキーワードは、 LDAPServerHost です。
最高のパフォーマンスを得るために、この変数はデフォルトで YES に設定されています。
db2set -gl DB2LDAP_KEEP_CONNECTION=NO
追加のオペレーティング・システム特権を db2fmp プロセスに付与できます。そのためには、こうした追加特権を保持するオペレーティング・システム・グループに DB2 サービス・アカウントを追加します。
値が YES の場合、XML 値の DESCRIBE は CLOB(2GB) を戻し、XML 値の FETCH は XML 宣言を含まない CLOB に対する暗黙の XML シリアライゼーションを生じさせます。
この変数を OFF に設定する必要があるのは、NCHAR、NVARCHAR、または NCLOB というユーザー定義タイプが既存のデータベースで使用されている場合のみです。
DB2NOEXITLIST がオフになっていて DB2_COMMIT_ON_EXIT がオンになっている場合は、組み込み SQL アプリケーションのすべての未完了トランザクションが自動的にコミットされます。 推奨されているのは、アプリケーション出口で明示的に COMMIT や ROLLBACK ステートメントを追加するやり方です。
アプリケーションが終了する前にアプリケーションに動的に DB2 ライブラリーをロードおよびアンロードさせると、DB2 出口ハンドラーを呼び出す際に破損が生じる可能性があります。この破損は、アプリケーションがメモリー内に存在しない関数の呼び出しを試行するために発生することがあります。このような状態にならないようにするためには、DB2NOEXITLIST レジストリー変数を設定してください。
DB2_NUM_CKPW_DAEMONS は、1 から 100 までの値に設定できます。データベース・マネージャーは、DB2_NUM_CKPW_DAEMONS で指定された数のデーモンを作成します。各デーモンは、チェック・パスワード要求を直接処理できます。
オプションの FORK パラメーターを追加すると、チェック・パスワード・デーモンを有効にして、チェック・パスワード要求を処理する外部チェック・パスワード・プログラム (db2ckpw) を明示的に spawn することができます。これは、以前のリリースで DB2_NUM_CKPW_DAEMONS をゼロに設定することに類似しています。FORK モードにおいて、各チェック・パスワード・デーモンは、パスワード検査の要求ごとに、チェック・パスワード・プログラムを spawn します。FORK モードのデーモンは、インスタンス所有者として開始されます。
DB2_NUM_CKPW_DAEMONS がゼロに設定されると、実効値は 3:FORK に設定されます。この場合、3 つのチェック・パスワード・デーモンが FORK モードで開始されます。
db2set DB2_OPTSTATS_LOG=ON,NUM=6,SIZE=25,NAME=mystatslog,DIR=mystats
トリガーにより呼び出されたルーチンが、同じトリガーのボディーにある ほかのステートメントやルーチンによって修正されている表にアクセスしようとすると、 ネストされた SQL ステートメントのルールに違反する場合があります。 DB2_RESOLVE_CALL_CONFLICT を設定すると、CALL ステートメントを実行する前に、 表に対するすべての変更が、確実にトリガーに関する SQL 標準規則に準拠して完了するようになります。
DB2_RESOLVE_CALL_CONFLICT をリセットする前にインスタンスを停止した後、それを再始動する必要があります。その後、トリガーの呼び出しの原因となるすべてのパッケージを再バインドします。 SQL プロシージャーを再バインドするには、CALL SYSPROC.REBIND_ROUTINE_PACKAGE ('P','procedureschema.procedurename','CONSERVATIVE'); を使用します。
DB2_RESOLVE_CALL_CONFLICT には、パフォーマンスに影響を与える可能性があることに留意する必要があります。DB2_RESOLVE_CALL_CONFLICT を YES に設定すると、DB2 データベース・マネージャーが必要に応じて一時表を注入することによって、読み取りおよび書き込みでの競合の可能性をすべて解決します。これはせいぜい 1 つの一時表が注入されるだけなので、通常影響は小さなものです。 トリガー・ステートメントにより 1 行 (または少数の行) しか変更されていないので、これは OLTP 環境には少しの影響しかありません。 通常、TEMPORARY 表スペースに SMS (システム管理スペース) を使用するための一般推奨に従う場合、DB2_RESOLVE_CALL_CONFLICT を設定することのパフォーマンスへの影響は低いと予想されます。
SAP 環境で DB2_WORKLOAD=SAP が設定されると、このレジストリー変数のデフォルト値は TRUE になります。
db2set DB2_SAS_SETTINGS="ENABLE_SAS_EP:TRUE;
LIBRARY_PATH:/home/instowner/sqllib/function/sas"
DB2_SERVER_ENCALG レジストリー変数が設定されている場合、インスタンスを DB2 バージョン 9.7 にアップグレードするとき、alternate_auth_enc 構成パラメーターは DB2_SERVER_ENCALG の設定に応じて、AES_ONLY または AES_CMP に設定されます。その後、ユーザー ID およびパスワードを暗号化するための暗号化アルゴリズムを指定するには、alternate_auth_enc 構成パラメーターを更新します。alternate_auth_enc 構成パラメーターが設定されている場合、その値は DB2_SERVER_ENCALG レジストリー変数値より優先されます。
database_memory 構成パラメーターがデータベースに対して AUTOMATIC に設定されている場合、GLOBAL_BENEFIT_SEGMENT_COMPATIBLE パラメーターは機能上の影響しか与えません。
このパラメーターは、STMM 共有メモリー・セグメントの権限設定に影響を与えます。 複数のインスタンスが存在するシステム (一部のインスタンスが下位レベルであり、database_memory が AUTOMATIC に設定されている) では、データベースの全体的なデータベース・メモリー使用の調整に影響する下位レベルの互換性の問題を軽減するために、このパラメーターは YES にのみ設定すべきです。 下位レベルのインスタンスは、すべてのフィックスパック・レベルの DB2 V9.1、DB2 V9.5 フィックスパック 7 以前、および DB2 V9.7 フィックスパック 4 以前のいずれかの DB2 リリースおよびフィックスパック・レベルに属するインスタンスです。
非 root DB2 インストールのインスタンスの場合は、システム上のすべてのインスタンスで同じ STMM 共有メモリー・セグメントを使用する場合にのみ、この変数を設定します。この変数を設定解除されたままにするか、NO に設定すると、非 root インスタンスはその独自のインスタンス固有 STMM 共有メモリー・セグメントを使用することになります。そうなると、database_memory が AUTOMATIC に設定されているすべてのデータベースの全体的なデータベース・メモリー使用量の調整に影響が及ぶ場合があります。
このレジストリー変数は、DB2 インスタンスの始動時に 1 回読み取られます。このパラメーターはアップグレード済みの (つまり、下位レベルではない) すべてのインスタンスにわたって設定する必要があり、いったん設定すると、アップグレードされたすべてのインスタンスを再始動する必要があることに注意してください。
database_memory 構成パラメーターがデータベースに対して AUTOMATIC に設定されている場合、GLOBAL_BENEFIT_SEGMENT_UNIQUE パラメーターは機能上の影響しか与えません。
このパラメーターは、アップグレード済みの (つまり、下位レベルではない) それぞれのインスタンスが、各自のインスタンス固有 STMM 共有メモリー・セグメントを使用することを指定します。 このことは、各インスタンスが、それに所属するすべてのデータベースの全体的なデータベース・メモリー使用を調整することを意味します。 これは、システム上の他のインスタンスに属するデータベースの全体的なデータベース・メモリー使用の調整とは無関係に行われます。
このパラメーターを YES に設定することを検討するのは、instance_memory 構成パラメーターが、システム上のすべてのインスタンスに対して AUTOMATIC に設定されていない場合のみです。
このレジストリー変数は、DB2 インスタンスの始動時に 1 回読み取られます。このパラメーターはアップグレードされたすべてのインスタンスにわたって設定する必要があること、および、設定後はすべてのアップグレード済みインスタンスを再始動する必要があることに注意してください。
このレジストリー変数は動的な変数です。 これを設定または設定解除するときにはインスタンスを停止して開始する必要はありません。 DB2_TRUNCATE_REUSESTORAGE の設定はオンライン・バックアップの開始前に行い、設定解除はオンライン・バックアップの完了後に行えます。複数パーティション環境では、レジストリー変数はその変数が設定されるノードでのみアクティブになります。 DB2_TRUNCATE_REUSESTORAGE は DMS 永続オブジェクトに対してのみ有効になります。
SAP 環境で DB2_WORKLOAD=SAP が設定されると、このレジストリー変数のデフォルト値は IMPORT になります。
このパスが設定されない場合、デフォルトとして instanceName/tmp ディレクトリーが使用されます (DB2 のアンインストール時に instanceName/tmp がクリーンアップされることに注意してください)。
ALTOBJ プロシージャーの実行時にこのパスが設定されていない場合、~sqllib/tmp ディレクトリーに一時メッセージ・ファイルが作成されます。
このパスが変更される場合、前の設定が指し示していたディレクトリー内に存在するファイルは自動的には移動または削除されません。 古いパスの下で作成されたメッセージの内容を検索する場合、これらのメッセージ (その先頭にはユーティリティー名が付けられ、その末尾にはユーザー ID が付けられる) は DB2_UTIL_MSGPATH が指し示す新規のディレクトリーに手動で移動させる必要があります。新規ロケーションに次のユーティリティー・メッセージ・ファイルが作成され、読み取られ、クリーンアップされます。
DB2_UTIL_MSGPATH ディレクトリーの下にあるファイルはユーティリティー固有のファイルであり、トランザクションに依存するファイルではありません。それらはバックアップ・イメージの一部ではありません。 DB2_UTIL_MSGPATH ディレクトリーの下にあるファイルはユーザーによって管理されます。 これは、ユーザーが SYSPROC.ADMIN_REMOVE_MSGS プロシージャーを使ってメッセージ・ファイルを削除できることを意味します。 これらのファイルは DB2 のアンインストールでクリーンアップされません。
db2set DB2_XSBA_LIBRARY="/usr/lib/libxdb2.a(bsashr10.o)"
XBSA インターフェースは、BACKUP DATABASE または RESTORE DATABASE コマンドから呼び出すことができます。 例えば、
db2 backup db sample use XBSA
db2 restore db sample use XBSA