グローバル レベルでのジョブ変更が可能になるように、ソース システムとターゲット システムに対しconfiguration.xmlファイルに信頼証明のプールを作成します。各プールには固有の名前があり、ソース システムとターゲット システムの両方の信頼証明を定義し、システムごとに1人以上のユーザーを定義します。ジョブの作成時に、名前別に信頼証明プールを指定した後、Data Moverはプールのソース システム名およびターゲット システム名とユーザー プロファイルを調べ、そのジョブに使用可能なユーザーを無作為に選択します。同じターゲット システムを持つ複数のARCまたはDSAジョブが実行されている場合、その他のARCまたはDSAジョブで使用されていないプールから使用可能なユーザーが選択されます。
指定されたシステムのユーザーのプールから選択できるだけでなく、信頼証明プールによりプール内の指定されているすべてのユーザーのパスワードを1つの場所で変更することができます。
次のように、job.useGroupUserIDPoolプロパティがconfiguration.xmlファイルに含まれています。
<property> <key>job.useGroupUserIdPool</key> <value>false</value> <description>Purpose: Use a source or target user from the pool of users. This enables changing password in a single place</description> </property>
次のconfiguration.xmlの例では、job.useGroupUserIDPoolがtrueで、2つの信頼証明プールが作成されています。
<property> <key>job.useGroupUserIdPool</key> <value>true</value> <groupPools> <groupPool> <name>POOL-1</name> <system name="system1"> <user> <name>admin</name> <password>admin</password> <encrypted_password></encrypted_password> </user> <!-- more users --> </system> <!-- more systems --> </groupPool> <groupPool> <name>POOL-2</name> <system name="system2"> <user> <name>dbc</name> <password>dbc</password> <encrypted_password></encrypted_password> </user> <!-- more users --> </system> <system name="system3"> <user> <name>user1</name> <password>pass1</password> <encrypted_password></encrypted_password> </user> <!-- more users --> </system> <!-- more systems --> </groupPool> </groupPools> <description>Purpose: Use a source or target user from the pool of users. This enables changing password in a single place.</description> </property>次のジョブ定義の例では、グループ ユーザー プールが使用されます。
<source_tdpid>system1</source_tdpid> <source_user></source_user> <source_password></source_password> <source_userid_pool>POOL-1</source_userid_pool> <target_tdpid>system2</target_tdpid> <target_user></target_user> <target_password></target_password> <target_userid_pool>POOL-1</target_userid_pool>
使用上の注意
- 名前reservedUserPoolは、信頼証明プールの定義時は使用できません。
- job.useGroupUserIdPoolがconfiguration.xmlでfalseに設定されているときにジョブ定義で source_userid_poolまたはtarget_userid_poolを指定しようとすると、エラーが発生します。
- 同じジョブ定義にsource_userとsource_userid_poolを入力しようとすると、作成時エラーが発生します。1つのメソッドのみがソース システムに使用されます。Data Moverでは、source_userid_poolが使用されているときに指定されているプールからソース システムのユーザーが自動的に選択されます。
- 同じジョブ定義にtarget_userとtarget_userid_poolを入力しようとすると、作成時エラーが発生します。1つのメソッドのみがターゲット システムに使用されます。Data Moverでは、target_userid_poolが使用されているときに指定されているプールからターゲット システムのユーザーが自動的に選択されます。
- source_userid_poolが指定され、use_userid_poolがtrueである場合、またはtarget_userid_poolが指定され、use_userid_poolが同じジョブ定義にある場合、作成時エラーが発生します。
- 異なる信頼証明方式がソースとターゲットに使用されます。同じジョブ定義でのsource_userとtarget_userid_poolの入力は有効です。同じジョブ定義でのtarget_userとsource_userid_poolの入力も有効です。
- 同じジョブ定義でsource_userid_poolとtarget_userid_poolを入力する場合、同じ信頼証明プールを両方に使用する必要があります。ソースとターゲットに対し異なる信頼証明プールを指定しようとすると、作成時エラーが発生します。
- target_userid_poolが設定されている場合、Data Moverはプールからユーザーを選択します。複数のARCまたはDSAジョブが同時に実行されていて、target_userid_poolが設定されていて、かつプールにターゲット システムの複数のユーザーが存在する場合、Data Moverはその他のARCまたはDSAジョブで使用されていないプールから使用可能なユーザーを選択します。これにより、複数のARCまたはDSAジョブを同時に実行することができます。Teradata PT API/JDBCジョブの場合、Data Moverは同時に実行されている2つ以上のジョブに対し、同じターゲット ユーザーを選択することがあります。これは、複数のユーザーが同時に1つのターゲット システムにログインしても問題がないためです。ARCまたはDSAジョブ ソース ユーザーの場合、同じユーザーによる同じシステムへのアクセスに制限はありません。そのため、Data Moverは異なるARCまたはDSAジョブに対し、ソース ユーザーと同じユーザーを選択することができます。
- target_userid_poolセットによるARCまたはDSAジョブの実行時にプールのすべてのターゲット ユーザーがその他のARCまたはDSAタスクによって使用されている場合、ARCまたはDSAタスクは他のタスクが完了し、ユーザーをプールに戻すまで待機します。ユーザーがプールで使用可能になると、待機しているARCまたはDSAタスクによってユーザーが選択されます。
- グループ ユーザー プール内のすべてのユーザーは、デーモンが再起動される、またはjob.useGroupUserIdPool構成プロパティが変更されるたびに利用可能としてマーク付けされます。1人のユーザーが1つのグループにロックされると、異なるグループ(ターゲット ユーザーIDプール内を含む)の同じシステムの同じユーザーがロックされます。同様に、ユーザーがロック解除されると、異なるグループ(ターゲット ユーザーIDプール内を含む)の同じシステムの同じユーザーがロック解除されます。
- ARCまたはDSAジョブでプールが使用されていないにもかかわらず、プールに割り当てられているターゲット システムとターゲット ユーザーが定義される場合、そのユーザーはARCまたはDSAジョブが終了するまで使用不可としてマーク付けされます。
- ジョブ定義で指定されているターゲット ユーザーがプールに含まれていて、そのユーザーがそのプールを使用する別のARCまたはDSAジョブで使用されている場合、ARCおよびDSAでは同じユーザーが同時に同じターゲット システムにログインすることはできないため、ジョブは失敗します。
- 信頼証明プール機能は、Teradataシステムでのみ使用できます。ただし、Hadoopジョブを実行している場合、信頼証明プール機能は、ソース システムまたはターゲット システムとして指定されているTeradataシステムでも使用できます。Hadoopシステムでは、信頼証明がジョブ定義で指定されている必要があります。