SET DB2ENTRY
Db2® にアクセスする際に、 特定のトランザクションやトランザクショングループが使用するリソースを定義する DB2ENTRY の属性を設定する。
構文
コマンドのセキュリティチェックを有効にするには、 XCMD システム初期化パラメータを指定し、トランザクションでコマンドのセキュリティチェックが有効になっていることを確認する(TRANSACTION リソース定義で CMDSEC(YES) を指定するか、 CMDSEC システム初期化パラメータで ALWAYS を指定する)。
条件: NOTAUTH、NOTFND、INVREQ
NOHANDLE, RESP, RESP2 は、エラー状態を処理するためにすべての EXEC CICS コマンドに追加できる共通のオプションです。 これらはコマンド構文図やオプションの説明には明示的に含まれていない。 これらの共通オプションとEXEC CICSコマンドの構文については、EXEC CICSコマンドのフォーマットとプログラミング上の注意点を参照のこと。 CVDAの使用についての詳細は、CICS値データ領域(CVDA)を参照してください。
このコマンドはスレッド・セーフです。
説明
このエントリーは、CEDA で定義された名前で識別されます。
オプション
- ACCOUNTREC
- プール・スレッドを使用するトランザクションに必要な DB2 アカウンティングの最小量を指定します。 以下のオプションで説明するように、指定した
最低量を超える場合があります。 CVDA 値は次のとおりです。
- NONE
- プール・スレッドを使用するトランザクションに必要なアカウンティング・レコードはありません。
DB2 は、スレッドが終了したときに、各スレッドに対して少なくとも 1 つのアカウンティング・レコードを作成します。 さらに、権限を変更してもアカウンティング・レコードが作成されます。
- TXID
- CICS® Db2 アタッチ機能では、スレッドを使用しているトランシドが変更されると、アカウンティング レコードが生成されます。
プール・スレッドは通常いくつかの異なる トランザクションIDによって使用される ため、複数の複数単位(UOW)から成る トランザクションがUOWごとに異なるスレッド を使用する可能性が高くなります(スレッド が同期点で解放される場合)。 この場合、会計レコードを UOWごとに生成することができます。
- TASK
- CICS Db2 アタッチ機能により、CICS タスクごとに最低 1 つの会計レコードが作成されます。
複数のUOWから成るトランザクション は(スレッドが同期点で解放されるもの として)、自身のUOWごとに異なるスレッドを 使用できます。 その結果、UOWごとに 会計レコードを生成できます。
- UOW
- CICS Db2 アタッチ機能では、UOW の終了時にスレッドが解放されると仮定して、UOW ごとにアカウンティング レコードが生成されます。
- AUTHID
- この DB2ENTRY の使用時にセキュリティー検査に使用する ID を指定します。 AUTHId を指定した場合、AUTHTYpe は指定できません。
- AUTHTYPE
- この DB2ENTRY の使用時にセキュリティー検査に使用できる ID のタイプを戻します。 AUTHTYpe を指定
した場合、AUTHid は指定できません。 CVDA 値は次のとおりです。
- GROUP
- 8 文字の USERID および接続されたグループ名を許可 ID として指定します。 以下の表に、これらの 2 つの値が DB2 でどのように解釈されるかを示します。
DB2 へ渡される ID DB2 が値を解釈する方法 CICS サインオン・ユーザー ID (USERID) 1 次 DB2 許可 ID を表します。 RACF®-接続グループ名 RACF のグループオプションのリストがアクティブでない場合、Db2 は CICS アタッチメント機能によって提供された接続グループ名をセカンダリ Db2 認証 ID として使用します。 RACF グループオプションのリストがアクティブな場合、Db2 は CICS アタッチ機能によって提供された接続グループ名を無視します、しかし、その値はDb2 セカンダリDb2 認証IDのリストに表示されます。 GROUP オプションを使用するには、CICS システムに RACF 外部セキュリティ SEC=YES が CICS システム初期化テーブル (SIT) で指定されている必要があります。
RACFグループIDがこのUSERIDで利用できない場合、8文字の空白フィールドがグループIDとしてDb2に渡される。
- SIGN
- リソース許可 ID として使用する必要のある DB2CONN の SIGNID パラメーターを指定します。
- TERM
- 許可 ID として端末 ID (8 文字に当てられる 4 文字) を指定します。 端末がトランザクションに接続されていない場合、この方法で許可 ID を取得することはできません。
トランザクションが(CICSコマンドを使用して)開始され、それに関連付けられた端末がない場合、AUTHTYPE(TERM)は使用されるべきではない。
- TX
- 許可 ID としてトランザクション ID (8 文字に当てられる 4 文字) を指定します。
- OPID
- CICSトランザクションに関連付けられたオペレータ識別が、認証ID(3文字を8文字にパディングしたもの)として使用される。
- USERID
- CICSトランザクションに関連付けられた8文字のUSERIDが、認証IDとして使用される。
Db2 サンプル サインオン出口 DSN3@.SGNがAUTHTYPE(USERID)とともに使用される場合、出口はDb2にプライマリ認証IDとしてユーザーIDを送り、Db2にセカンダリIDとしてRACFグループIDを送る。 サンプル・サインオン出口が使用されている場合、AUTHTYPE(USERID) と AUTHTYPE(GROUP) の間に違いはありません。
- BUSY(Cvda)
- CICS は、SET DB2ENTRY
DISABLED が発行され、set コマンドが発行されたときにエントリがビジーであった場合に何をするかを指定する。 CVDA 値は次のとおりです。
- WAIT
- CICS は、DB2ENTRY を無効に設定する前に、DB2ENTRY 上のすべてのアクティビティが停止するまで待つ必要があります。 CICSはその後、アプリケーションに制御を戻す。
DB2ENTRY を静止させようとしている間も、既存のトランザクションはすべて完了できることに注意してください。 エントリーに対してすでにキューに入れられているトランザクションも完了できます。 DB2ENTRY にアクセスしようとする新規トランザクションは、DISABLEDACT の設定に応じて、POOL に経路指定されるか、異常終了するか、または SQLCODE が送信されます。
- NOWAIT
- これは WAIT と同じですが、SET DISABLED 要求がキューに入れられるとすぐに制御がアプリケーションに戻される点が異なります。
- FORCE
- DB2ENTRY を使用する全タスク、および DB2ENTRY に対してキューに入れられているタスクを強制パージします。 これによって、DB2ENTRY は使用不可になり、制御がアプリケーションに戻ります。
- DISABLEDACT
- CICS が無効化または無効化されたときに、DB2ENTRY にアクセスする新しいトランザクションに対して何をするかを指定します。 CVDA 値は次のとおりです。
- POOL
- CICS Db2 アタッチ機能は、リクエストをプールにルーティングする。 プールへの経路を指定された各トランザクションの DB2CONN 上の MSGQUEUEn によって指定された一時データ宛先に、メッセージ DFHDB2072 が送信されます。
- ABEND
- CICS Db2 アタッチ機能はトランザクションを中止します。 異常終了コードは AD26 です。
- SQLCODE
- DB2ENTRY が使用不可であることを示す SQLCODE がアプリケーションに返されます。
- ENABLESTATUS(cvda)
- アプリケーションが DB2ENTRY にアクセス可能かどうかを指定します。 CVDA 値は次のとおりです。
- ENABLED
- アプリケーションによって、DB2ENTRY にアクセスできます。
- DISABLED
- アプリケーションによって、DB2ENTRY にアクセスできません。 DB2ENTRY は、再インストールまたは破棄する前に使用不可にする必要があります。
- PLAN
- この DB2ENTRY に使用される計画の名前を指定します。
PLAN を指定している場合、PLANEXITNAME は指定できません。
- PLANEXITNAME
- この DB2ENTRY に使用される動的計画出口の名前を指定します。 DB2ENTRY のアクティブなトランザクションがある間に PLAN および PLANExitname を変更する場合、次回トランザクションがスレッドを解放するときに、新しい規則を使用して計画または出口を決定します。 PLANExitname を指定している場合、PLAN は指定できません。
- PRIORITY
- DB2ENTRY のスレッド TCB の CICS メイン TCB (QR TCB) に対する優先度を指定する。 スレッド TCB は、CICS オープン L8 TCB です。 CVDA 値は次のとおりです。
- HIGH
- スレッドTCBの優先順位は、CICS QR TCBより 高くなります。
- EQUAL
- スレッドTCBの優先順位は、 CICS QR TCBと同じです。
- LOW
- スレッドTCBの優先順位は、CICS QR TCB より低くなります。
- PROTECTNUM
- この DB2ENTRY に対する保護スレッドの最大数を指定します。
- THREADLIMIT
- DB2ENTRY の CICS Db2 アタッチメントが、 リクエストが待機したり拒否されたりする前にアクティブにできるスレッドの最大数を指定する。
- ShareLocks
- CICS が Db2 に XID を渡して、Db2 が同じ XID を渡した他のスレッドとロックを共有できるかどうかを指定する。 他のスレッドは、他の CICS リージョン、または IMS TM などの他のトランザクション マネージャから発生し、同じグローバル作業単位で Db2 にアクセスできます。 XID は CICS と Db2 間のリカバリには使用されません。
- いいえ
- CICS は Db2 に XID を渡しません。 同じグローバル作業 単位で、他のスレッドとロックが共有されることは ありません。 保留状態でオープンされたカーソルは、 複数の同期点にわたってオープンされたままです
- はい
- CICS は XID を Db2 に渡します。 これはトークンとして働き、Db2が同じXIDを渡す他のスレッドとロックを共有できるようにする。
- THREADWAIT
- アクティブな DB2ENTRY スレッドの数が THREADLimit 数に達した場合、トランザクションが DB2ENTRY スレッドを待機するか、異常終了するか、またはプールにオーバーフローするかを指定します。 CVDA 値は次のとおりです。
- TWAIT
- すべてのスレッドが使用されている場合、いずれかが使用可能になるまでトランザクションは待機します。
- NOTWAIT
- すべてのスレッドが使用中の場合、トランザクションは異常終了コード AD2P で終了します。
- TPOOL
- すべてのスレッドが使用中の場合、 トランザクションの送信先が変更され、 スレッドのプールを使用します。 プールも使用中で、DB2CONN の THREADWAIT パラメーターに NOTWAIT が指定されている場合、 トランザクションは異常終了コード AD3T を出して異常終了します。
- ユーザーが AUTHId または AUTHType の値を変更するとき、セキュリティーがアクティブな場合、代理ユーザー・セキュリティー検査が呼び出されます。 これにより、SET を実行するユーザー ID が、設定されているユーザー ID の代わりに機能することが許可されます。
- SET DB2ENTRY のすべてのパラメータは、CICS Db2 のアタッチメントがアクティブで、トランザクションがアクティブな間に設定できます。
条件
- NOTAUTH
- 発行中のタスクに関連付けられているユーザーは、このコマンドの使用が許可されていないか、またはこのリソースにアクセスすることが許可されていません。RESP2 値:
- 100
- コマンド権限の処理に失敗しました。
- 101
- リソース許可が失敗しました。
- 102
- サロゲートの許可に失敗しました。
- 103
- Authtype の許可に失敗しました。
- NOTFND
- RESP2 値:
- 1
- 指定された名前で現在インストールされている DB2ENTRY はありません。
- INVREQ
- RESP2 値:
- 2
- アクションの値が無効です
- 3
- Authtype 値が無効です
- 4
- ビジー値が無効です
- 5
- enablestatus 値が無効です
- 7
- 優先度の値が無効です
- 8
- Threadwait 値が無効です
- 9
- Authid に不適切な文字があります
- 10
- Plan に不適切な文字があります
- 11
- Planexitname に不適切な文字があります
- 12
- Authid と Authtype の両方が指定されています
- 13
- Plan と Planexitname の両方が指定されています
- 14
- エントリーが使用不可になります
- 15
- プロテクト数がスレッドリミットより大きいか、プロテクト数が 0 か、プロテクト数が 2000 より大きいか
- 16
- Threadlimit=0 で、Threadwait は tpool でなければなりません
- 17
- Threadlimit > 2000 または Threadlimit < 0 または Threadlimit > TCBLIMIT
- 18
- Accountrec 値が無効です
- 19
- FORCE または WAIT オプションが指定されているときに SET DISABLED が発行されました。しかし、このトランザクション自体は DB2ENTRY を使用します。
- 20
- 無効なSHARELOCKS値
