db2set - Db2 プロファイル・レジストリー コマンド
ENV_GET_REG_VARIABLES 表関数を使用して、インスタンスが使用しているレジストリー変数の値や、レジストリーに格納されている値を取得することもできます。
許可
SYSADM、および -g コマンド・パラメーターについては、 Linux® および UNIX オペレーティング・システムの場合は root アクセス権限、Windows オペレーティング・システムの場合はローカル管理者権限。
必要な接続
変数を即時更新する場合は、ローカルのインスタンス接続が必要です。 インスタンス接続がなければ、ローカルのインスタンス接続が作成されます。 それ以外の場合、接続は不要です。 リモート接続はサポートされません。
コマンド構文
コマンド・パラメーター
- variable=
- 指定された変数の値を表示します。
- value
- 指定変数に指定値を設定します。 値にスペースが含まれている場合、必ず値を引用符で囲んでください。 等号 (=) の後に値を指定しなければ、変数の現行値が削除されます。 デフォルトで即時レジストリ変数セットと、 -immediateパラメーターを指定すると即時レジストリ変数の別のセットがあります。 どちらのタイプのレジストリー変数も、次回の SQL ステートメントのコンパイル時に有効になります。 あるいは、インスタンスを再始動した後に有効になります。
- -g
- 特定の Db2 コピーに関係のあるすべてのインスタンスのグローバル・プロファイル・レジストリー変数にアクセスします。 これによって、このレベルの変数の値を表示または変更することができます。
- -i instance
- 使用するインスタンス・プロファイルを指定します。 インスタンス・プロファイルを指定しない場合、現行インスタンスまたはデフォルトのインスタンスが使用されます。
- db-partition-number または member-number
- db2nodes.cfg ファイルの数値を指定します。
member-numberオプションを指定して-immediateパラメーターを使用すると、次にSQLステートメントがコンパイルされるときに、特定のメンバーのみが更新を確認できます。
- -gl
- LDAP に保管されたグローバル・プロファイル変数にアクセスします。 このパラメーターは、DB2_ENABLE_LDAP レジストリー変数を YESに設定した場合にのみ有効です。
- -all
- 以下の場所に定義されているローカル環境変数をすべて表示します。
- オペレーティング・システム環境。以下のように示されます。[e]
- ノード・レベルのレジストリー。以下のように示されます。[n]
- インスタンス・レベルのレジストリー。以下のように示されます。[i]
- グローバル・レベル・レジストリー。以下のように示されます。[g]
- -gd agg-registry-variable
- 集約レジストリー変数のグループ定義を表示します。
- -null
- 指定したレジストリー・レベルまたはデフォルトのレベル (レジストリー・レベルを指定しなければ、インスタンス・レベルになる) の変数の値を NULL に設定します。 つまり Db2 は、この変数が設定されていないと見なし、レジストリー・レベルの優先順位の定義に従って次に使用可能なレジストリー・レベルの変数の値を検索する操作を行いません。
- -r
- 特定のインスタンスのプロファイル・レジストリーをリセットします。
- instance
- プロファイルをリセットするインスタンスを指定します。 インスタンスを指定しない場合、インスタンス接続が存在していれば、このオプションでは現行インスタンスのプロファイルがリセットされます。 インスタンスを指定せず、アタッチメントが存在しない場合、このオプションは、DB2INSTANCE環境変数に指定されたインスタンスのプロファイルを初期化します。
- db-partition-number または member-number
- db2nodes.cfg ファイルの数値を指定します。
メンバー番号 オプションを指定して-immediateパラメーターを使うと、指定メンバーについてのみ値が初期化されます。
- -immediate | -im
- このフィーチャーをサポートするレジストリー変数に対して SQL ステートメントを次回コンパイルすると更新が有効になるように指定するSQL コンパイラーに影響を与えるレジストリー変数に対する即時変更は、次回の SQL ステートメントのコンパイル時に有効になります。 以下の 2 つのタイプの SQL ステートメントがあります。
- Dynamic SQL statements
- 動的 SQL ステートメントが既にパッケージ・キャッシュに入っている場合、そのステートメントは無効化されないため、新しい設定値による再コンパイルは行われません。 -immediateパラメーターを有効にするには、FLUSH PACKAGE CACHEステートメントを発行してパッケージ・キャッシュから前のステートメントを削除し、インスタンスを再始動せずにSQLステートメントを再コンパイルできるように設置しなければなりません。
- Static SQL statements
- 静的 SQL ステートメントが既にパッケージに入っている場合、そのステートメントは無効化されないため、新しい設定値による再コンパイルは行われません。 -immediate パラメーターを有効にするには、BIND コマンドまたは REBIND コマンドを実行し、インスタンスを再始動しなくてもパッケージが再コンパイルされるようにする必要があります。
このパラメーターを-g、 -gl、-n のいずれのパラメーターとも組み合わせることはできません。
- -info variable
- 指定の変数のプロパティーを戻す。 このプロパティーは、変数が即時変更をサポートするかどうかと、変更がデフォルトで即時有効かどうかを示します。
- -n DAS node
- リモートの DAS ノード名を指定します。
- -u user
- Administration Server へのアタッチを使用する際のユーザー ID を指定します。
- -p password
- Administration Server へのアタッチを使用する際のパスワードを指定します。
- -l
- Db2 製品インストール済み環境のすべてのインスタンス・プロファイルをリストします。
- -lr
- サポートされたすべてのレジストリー変数をリストする
- -v
- コマンドの実行中に、冗長出力を使用することを指定します。
- -ul
- ユーザー・プロファイル変数にアクセスします。 このパラメーターは、 Windows オペレーティング・システムでのみサポートされます。
- -ur
- ユーザー・プロファイル変数を最新表示します。 これによって、同じインスタンス設定または同じ環境設定で作業する複数のユーザーが、それぞれ異なる変数設定で作業できるようになります。 このパラメーターは、 Windows オペレーティング・システムでのみサポートされます。
- -h | -?
- ヘルプ情報を表示します。 このパラメーターを指定した場合、 他のすべてのパラメーターは無視されます。
例
以下の例は、db2set コマンドにさまざまなパラメーターを指定して発行する方法を示しています。
- 特定のインストール済み環境に属する定義済みのインスタンス・プロファイルをすべて表示するには、次のように入力します。
db2set -l
- サポートされているレジストリー変数をすべて表示するには、次のように入力します。
db2set -lr
- 特定のインストール済み環境に属するすべてのインスタンスから可視であるすべての定義済みグローバル変数を表示するには、次のように入力します。
db2set -g
- 現行インスタンスの定義済み変数をすべて表示するには、次のように入力します。
db2set
- 現行インスタンス用に定義された値をすべて表示するには、次のように入力します。
db2set -all
- 現在のインスタンスのDB2COMMレジストリ変数に定義されるすべての値を表示します。
db2set -all DB2COMM
- メンバー 3 のインスタンス INST 用に定義された変数をすべてリセットするには、
次のように入力します。
db2set -r -i INST 3
- ユーザー ID MYIDとパスワードMYPASSWDで、DASノードRMTDASを介してリモート・インスタンスRMTINSTのDB2CHKPTRレジストリー変数の値を削除します。
db2set -i RMTINST -n RMTDAS -u MYID -p MYPASSWD DB2CHKPTR=
- 特定のインストールに関連するすべてのインスタンスのDB2COMMレジストリ変数をTCPIPに設定します。
db2set -g DB2COMM=TCPIP
- たとえばMYINSTの場合のみ、DB2COMMレジストリ変数をTCPIPに設定します。
db2set -i MYINST DB2COMM=TCPIP
- デフォルト・レベルで DB2COMM レジストリー変数を NULL に設定します。 デフォルトのレベルとは、インスタンス・レベルです。
db2set -null DB2COMM
- レジストリー変数 DB2_ANTIJOIN の現行値を削除して、これが次回の SQL ステートメントのコンパイル時に有効になるようにするには、次のように入力します。
db2set DB2_ANTIJOIN= -immediate
- レジストリー変数にスペースが
含まれる値を設定するには、次のように値を引用符で囲みます。
db2set DB2_LOAD_COPY_NO_OVERRIDE='COPY YES TO /var/db2/loadcopy/sales'
注: 上記のコマンドは、LOAD コマンドで指定されたロード・コピーの設定を常に YES になるようにオーバーライドし、コピー・ファイルをディレクトリー /var/db2/loadcopy/salesに配置します。 COPY と YES の間と /var/db2/loadcopy/sales の前にスペースがあるので引用符が必要です。
使用上の注意
4 つのレベル (オペレーティング・システム環境、ノード・インスタンス、インスタンス、およびグローバル) のうち、1 つ以上のレベルで変数を設定することができます。 Db2 データベース・システムは、この優先順位を使用して変数設定にアクセスして解決します。 操作システム環境レベルで変数の値をすでに設定した場合、操作システム環境レベルが レジストリより優先されるため、-immediateパラメータを使用しても、変数の値の更新はすぐには有効になりません。
変数名を指定しない場合、定義済みのすべての変数の値が表示されます。 変数名を指定した場合、その変数の値のみが表示されます。 変数の定義値をすべて表示するには、変数 パラメーターと-allパラメーターを指定してください。 すべてのレジストリー内のすべての変数の定義値を表示するには、-all パラメーターを指定してください。
Windows オペレーティング・システムでリモート・レジストリーのレジストリー変数を変更するには、 db2set コマンドを使用して db2_all または rah コマンドを発行します。
このコマンドは、Db2 製品の root インストールと非 root インストールとで同じ動作をしますが、 一部使用できないパラメーターがあります (例えば DAS ノード名を指定する -n パラメーターなど)。
db2set コマンドをスクリプト内で並行実行したり連続実行したりしてはなりません。