Streamオペレータの必須および任意の属性値を宣言するためには、Teradata PTのDEFINE OPERATOR文で属性定義リスト構文を使用します。
構文規則:
構文要素 | 説明 |
---|---|
AccountId = 'acctId' | ユーザー名に関連するアカウントを指定する任意の属性。 この属性を省略すると、デフォルトでデータベースの直接所有者のアカウントIDが設定されます。 |
AppendErrorTable = ’option’ | Stream オペレータが既存のエラー テーブルを使用するかどうかを指定する任意の属性。 有効な値は次のとおりです。
デフォルトでは、エラー テーブルがすでに存在する場合はStreamオペレータがエラー メッセージを表示してジョブを終了します。 ジョブの再始動時は、エラー テーブルが存在していても、Streamオペレータがエラー メッセージを表示してジョブを終了することはありません。 |
ArraySupport = ’option’ | Streamオペレータがジョブに対してArraySupport機能を使用するかどうかを指定する任意の属性。 有効な値は次のとおりです。
ArraySupportの値が指定されていない場合でも、以下の基準が満たされていれば、配列サポートは有効になり、Streamオペレータはジョブ全体に対してこの機能を使用します。
これらの基準のいずれかが満たされていないと、デフォルト値は'Off'になり、StreamオペレータはArraySupportを使用しません。 ArraySupportの値が’On’に設定されており、Teradata DatabaseまたはTeradata CLIv2のいずれかで配列サポート機能がサポートされていない場合、Stream オペレータは致命的なエラーで終了します。 ARRAYSUPPORT DMLオプションがジョブのAPPLY文の一部として使用されていると、StreamオペレータのArraySupport属性に指定された値は、DMLの値によって上書きされます。 |
Buffers = buffers | リクエスト バッファの数を増やすかどうかを指定する任意の属性。 値の範囲は、下限値が2で、上限値はありません。デフォルト値は3です。割振り可能なリクエスト バッファの最大数は、接続されたセッション数の倍数(Buffers * connected_sessions)になります。 リクエスト バッファはグローバル リソースであるため、バッファは必要に応じてあらゆるセッションに割り当てられ、その後解放プールに戻されます。セッションに割り当てられるリクエスト バッファの数は、どの時点でも、ゼロからBuffers * connected_sessionsの間で変化します。 |
CheckpointRowCount = ' option ' | チェックポイントで送信された行の出力を有効または無効にするようStream オペレータに指示する任意の属性。 CheckpointRowCount値は次のとおりです。
|
DataEncryption = 'option' | SQLリクエスト、応答、および送信データをセキュリティによって完全に暗号化する任意の属性。 有効な値は次のとおりです。
|
DateForm = 'option' | Stream オペレータ ジョブのDATEデータ型を指定する任意の属性。値:
|
DeleteLobDataFiles = 'option' | 行がデータベースにコミットされたときに、Data Connector Producerから遅延LOBデータ ファイルを削除するかどうかを指定するオプションの属性。 'option'の有効な値は次のとおりです。
これ以外の値を指定するとエラーになります。 |
DropErrorTable = 'option' | Stream オペレータがジョブ終了時にエラー テーブルを削除するかどうかを指定する任意の属性。 有効な値は次のとおりです。
|
DropMacro = 'option' | Stream オペレータにマクロを削除するか、将来使用するために維持するかどうかを指示する任意の属性。VARCHAR DropMacro = '<Y[es]|N[o]>' デフォルトでは、Streamオペレータでは、成功したジョブの最後でマクロを削除します。 DropMacroの値がNまたはNoの場合、マクロは、DROP MACRO文が発行されるまで、Teradata Databaseに残ります。 明示的に削除するまで、マクロをデータベースに維持するため、使用しなくなったマクロがないか定期的に確認し、削除する必要があります。 |
ErrorLimit = limit | Stream オペレータ ジョブを終了するまでにエラー テーブルに格納できるレコードの概数をTeradata Databaseで指定する任意の属性。 この数値が概数であるのは、Stream オペレータからTeradata Databaseに一度に複数のデータ行が送信されるからです。 エラー制限値を超えたことを示すメッセージをTeradata PTが処理するまでに、エラー制限値に指定された実際の数を上回るレコードがエラー テーブルにロードされている可能性があります。 ErrorLimitには、1以上の値を指定する必要があります。 無効な値を指定すると、Stream オペレータ ジョブは終了します。 デフォルトでは、ErrorLimit値は無制限です。 ErrorLimitの指定は、Streamオペレータの各インスタンスに適用されます。
|
ErrorTable = 'errorTableName' | エラー テーブルの名前を指定する任意の属性。このテーブルには、データ変換エラー、制約違反、およびその他のエラー条件に関する情報が含まれています。 エラー テーブル名の先頭に修飾子としてデータベース名を付けます。 つまり、大きなサイズのPERM 領域が含まれるデータベースを指定した場合、この方法を使用すると、ロードに関係するテーブルを格納するすべてのデータベースのPERM領域を増やす必要がなくなります。 エラー テーブルのデータベースを指定しない場合、テーブルはユーザー ログオンに関連するデータベースに置かれます。 デフォルトでは、エラー テーブルは新規のテーブルでなければなりません。 このデフォルトは変更可能です。 AppendErrorTable属性を'Yes'または'Y'に設定すると、新規のエラー テーブルも既存のエラー テーブルも使用できるようになります。 Streamオペレータ ジョブを再始動する場合、またはAppendErrorTable属性を'Yes'または'Y'に設定してエラー テーブルを再使用する場合を除き、既存のテーブル名と重複する名前は使用しないでください。 テーブル名を指定しない場合、Spreamオペレータによってテーブル名が作成されます。 ユーザー提供のエラー テーブルの名前は、Teradata Databaseでテーブル名に許容されている最大長を超えてはいけません。 |
LDILoadGroup = 'value' | Stream オペレータにLDILoadGroup値を通知する任意の属性。 この値は、LDILoadJobが’Yes’(’Y’)に設定されている場合に必要です。 例えば、LDILoadGroup = ’Grp1’ |
LDILoadJob = 'option' | Stream オペレータに分離負荷機能を有効または無効にするように指示する任意の属性。 LDILoadJob値は次のとおりです。
|
LDIMacroTableName = ['table1', 'table2' ... | 定義済みマクロのLDIテーブル名を指定する任意の属性。事前定義されたマクロを使用する場合は、LDILoadJobが’Y[es]’に設定されており、LDILoadGroupが値で指定されている必要があります。 |
LogonMech = ' string ' | 使用するログオン メカニズムを指定する任意の属性。 認証方式によってはこの属性の指定が必須になる場合があります。 属性が8バイトを超えると、ジョブが終了されます。 LogonMechの指定要件については、<Teradata Parallel Transporterユーザー ガイド、B035-2445>の「 ログオン セキュリティ」を参照してください。 |
LogonMechData = 'data' | 追加のログオン メカニズム データを転送する任意の属性。 外部認証方式によってはこの属性の指定が必須になります。 LogonMechDataの指定要件については、<Teradata Parallel Transporterユーザー ガイド、B035-2445>の「 ログオン セキュリティ」を参照してください。 |
LogSQL = 'option' | 対象ジョブのSQLの中で、ログに記録する数を制御する任意の属性。 有効なオプションは次のとおりです。
|
LogTable = 'logTableName' | チェックポイント情報の再始動ログ テーブルの名前を指定する任意の属性。再起動ログ テーブルは固有のテーブル名である必要があり、一時停止したジョブから再起動しない限り、存在してはなりません。 再始動ログ テーブルが存在しない場合、Streamオペレータが再始動ログを作成します。 再始動ログ テーブルが存在する場合、Streamオペレータは最後のチェックポイントから再始動します。 再始動ログ テーブルの指定に失敗すると、ジョブが終了されます。 再始動ログ テーブルで必要とされる権限は次のとおりです。
再始動ログ テーブルを含むデータベースで必要とされる権限は以下のとおりです。
Streamオペレータは、再始動ログ テーブルを自動的に保守します。 再始動ログ テーブルに少しでも手が加えられると、再始動機能は無効になります。 再始動ログ テーブルの名前を完全修飾しない場合、再始動ログ テーブルはユーザーのデフォルト(ログオン)のデータベースに作成されます。 WorkingDatabase属性を使用する場合は、再始動ログ テーブルをデフォルト(ログオン時)のデータベース内に置く予定であっても、再始動ログ テーブルの名前を完全修飾する必要があります。 |
MacroDatabase = 'dbName' | Streamオペレータが使用するマクロが格納されるデータベースを指定する任意の属性。 デフォルトのマクロ データベースは、再始動ログ テーブルのデータベースです。 |
MaxSessions = maxSessions | ログオンするセッションの最大数を指定する任意の属性。 MaxSessionsには、1以上の値を指定する必要があります。1未満の値を指定すると、ジョブが終了されます。 デフォルトは、オペレータ インスタンスごとに1セッションです。 メイン インスタンスが、インスタンスの数からStreamオペレータ セッションの均等配分を割り出します。 例えば、4つのインスタンスと16個のStreamオペレータ セッションがある場合、各インスタンスは4つのStreamオペレータ セッションにログオンします。 |
MinSessions = minSessions | Stream オペレータ ジョブを継続するために最低限必要なセッション数を指定する任意の属性。 MinSessionsには、1以上およびStreamオペレータの最大セッション数以下の値を指定する必要があります。 1未満の値を指定すると、ジョブが終了されます。 デフォルトは1です。 |
NotifyExit = 'inmodName' | _dynamnという名前のエントリ ポイントを持つユーザー定義の通知出口ルーチンの名前を指定する属性。 値を指定しない場合、次のデフォルト名が使用されます。
独自の通知出口ルーチンを指定する方法については、非推奨の構文を参照してください。 |
NotifyLevel = ' notifyLevel ' | 特定のイベントをレポートするレベルを指定する任意の属性。 有効値は次のいずれかです。
|
NotifyMethod = 'notifyMethod' | イベントをレポートするためのメソッドを指定する任意の属性。メソッド:
|
NotifyString = 'notifyString' | システム ログに送られるすべてのメッセージの先頭に付加するユーザー定義文字列を指定する任意の属性。 この文字列は、ユーザー定義の通知出口ルーチンにも送られます。 文字列の最大長は次のとおりです。
|
OperatorCommandID = 'commandId' | Streamオペレータの属性を使用してレートとRate値を指定できても、ジョブの実行が開始されるまでは、特定のジョブ ステップに最適な値が分からない可能性があります。 OperatorCommandIdを使用すると、twbcmdを使用してジョブの開始後に新しいレートまたは周期値を割り当てることができるStream オペレータの特定の参照を識別することができますtwbcmd: APPLY指定内のオペレータの各コピーに対して、Teradata PTは、<operator object name> + <process Id>によって構成されるOperatorCommandIdのデフォルト値を生成します。 別の識別子を割り当てる必要がある場合は、以下のことを実行します。 Streamオペレータに対するDEFINE OPERATOR文内でoperatorCommandID属性を宣言します。 任意選択で、Streamオペレータの参照されたコピー内(APPLY文内)でOperatorCommandID属性に値を割り当てることができます。 値が割り当てられていない場合、Teradata PTはシステム生成値を提供します。 以下のように、レート値の変更が必要なジョブ ステップの番号をOperatorCommandIDの値として指定することが有用になる場合があります。 APPLY <dml1> TO OPERATOR ( Stream_Oper[2] ATTRIBUTES ( OperatorCommandID = ‘ratestep#1’)), APPLY <dml2> TO OPERATOR ( Stream_Oper[3] ATTRIBUTES ( OperatorCommandID = ‘ratestep#2’)), twbcmdユーティリティを使用して、特定のStreamオペレータのコピーにレートの値を割り当てます。 twbcmdユーティリティを使用したレート値の変更については、twbcmdを参照してください。 |
Pack = number | 複文リクエストにパックするステートメント数を指定する任意の属性。最大値は2400です。デフォルト値は20です。 ジョブが1つ以上の遅延LOB/JSON/XML列を読み込んでいるとき、Teradata Databaseはリクエストあたり4096のスプール ファイルをサポートできるため、可能な最大パック係数は4096です。
|
PackMaximum = 'option' | Stream オペレータに現在のストリーム ジョブの最大可能パック係数を動的に判断するように要求する任意の属性。PackMaximum値:
|
PauseLDI =' option' | Stream オペレータに分離負荷機能を一時停止するように指示する任意の属性。 PauseLDI値は次のとおりです。
|
Periodicity = periodicity | Stream オペレータからTeradata Databaseに送信されたDML文が1分間隔で可能な限り均等に分散されることを指定するオプション。 periodicity(周期)の値は、1分ごとの部分期間の数を設定します。 Periodicityにより、システム リソースを整然と効率的に利用できるようになります。 例えば、次のように指定します。 ステートメントのレートが1600でRate値が10の場合、処理されるステートメントの最大数は、6(60/10)秒ごとに160(1600/10)ステートメントとなります。 Periodicity属性の使用には、以下の条件および規則が適用されます。
|
PrivateLogName = 'logName' | Teradata PT Loggerによってパブリック ログ内部に保持されるログの名前を指定する任意の属性。 プライベート ログには、Stream オペレータによる出力がすべて含まれます。 プライベート ログは、tlogviewコマンドを次のように使用すると表示できます。ここで、jobIdはTeradata PTのジョブ名を、privateLogNameはStream オペレータのPrivateLogName属性の値を示します。 tlogview -j jobid -f privatelogname プライベート ログを指定しない場合、出力はすべてパブリック ログに格納されます。 デフォルトでは、診断トレース メッセージは生成されません。 診断トレース メッセージは、ユーザーがTraceLevel属性に有効な値を設定している場合にのみ生成されます。 tlogviewコマンドの詳細については、Teradata PTユーティリティのコマンドを参照してください。 |
QueryBandSessInfo = ’queryBandExpression’ | ジョブ セッションの存続期間中のクエリー バンドを指定する任意の属性。 queryBandExpressionは、セミコロンで区切られ、セミコロンで終了する、名前=値ペアのセットです。 ユーザーは、下記の例のようなクエリー バンド式を定義します。 ‘org=Finance;load=daily;location=west;’ QueryBandSessInfoは、ARRAY属性として指定することもできます。 クエリー バンド式の作成規則については、<Teradata Database SQLデータ定義言語 - 構文規則および例、B035-1144>と<SQLデータ定義言語 - 詳細トピック、B035-1184>を参照してください。 QueryBandSessInfo属性の値は、Streamオペレータのプライベート ログに表示されます。 QueryBandSessInfo属性の使用には、以下の規則が適用されます。
|
QueueErrorTable = 'option' | エラー テーブルがキュー テーブルかどうかを指定する任意の属性。 有効な値は次のとおりです。
この属性は、Streamストリームと、Streamオペレータ内のエラー テーブルに固有なものです。 この属性は、SELECTおよびCONSUMEデータベース オペレーション(行を返してそれを削除する)を使用しているときに発生したエラーを取得する際に特に便利です。 エラー テーブルをキュー テーブルとして使用することで、エラー テーブル内の行を削除する手間を省くことができます。 |
Rate = statementRate | Stream オペレータが1分あたりにTeradata Databaseに実行依頼できるDML文の最大数を指定するオプション。 レート属性の使用には、以下の条件および規則が適用されます。
|
ReplicationOverride = ' option ' | アクティブなセッションに対する通常のレプリケーション サービス制御を上書きする任意の属性。 有効な値は、次のとおりです。
詳細については、<Teradata Replication Services Using Oracle GoldenGate>を参照してください。 この属性に値を設定する際には、オペレータがログインで使用するユーザーIDにREPLCONTROL権限が付与されていなければなりません。
|
Robust = 'option' | 回復/再始動操作に堅固動作再始動ロジックを使用するかどうかを指定する任意の属性。 「堅固動作モード」では、リクエストが発行されるたびに1つのデータベース行が再始動ログ テーブルに書き込まれます。 再始動ログ テーブルにおけるこの行の集まりは、リクエスト ログと呼ぶことができます。リクエストは完全に終了するか完全にロールバックするかのどちらかであることがTeradata Databaseによって保証されているため、リクエスト ログには常にインポートの完了ステータスが正確に反映されます。 Robustの値は次のいずれかです。
堅固動作再始動ロジックを使用するかどうかが確かでない場合は、Robustパラメータを'Yes'に設定すると常に安全を確保できます。 |
RoleName = 'role name' | Teradata環境にセキュリティを実装する任意の属性。オペレータの先頭には、"SET ROLE"の値が付加されます。構文は、次のようにTeradata Databaseに送信されます。 SET ROLE <role name>; 例: SET ROLE All; 「SET ROLE」コマンドの使用の詳細については、<Teradata Database SQLデータ定義言語 - 構文規則および例、B035-1144>を参照してください。 VARCHAR ARRAYを使用すると、複数の値を指定できます。以下に例を示します。 VARCHAR ARRAY RoleName = ['role name1', 'role name2'], セッションが接続されると、オペレータはメイン コントロール セッションとデータSQLセッションでTeradata Databaseにリクエストを送信します。 オペレータはこの属性の値を検証しません。オペレータは、その値をそのままTeradata Databaseに渡します。Teradata Databaseはその値を検証します。妥当性検査が失敗した場合、オペレータはTeradata Databaseエラーでジョブを終了します。
C形式のコメントは値で許可され、Teradata Databaseに渡されます。
ANSI形式のコメントは、値でサポートされません。値にANSI形式のコメントが含まれている場合、オペレータはTeradata Database構文エラーでジョブを終了できます。
セミコロンは値に使用できません。これは、オペレータがリクエストごとに1つのステートメントのみを許可するためです。値にセミコロンが含まれている場合に、オペレータはオペレータ エラーでジョブを終了します。
|
TdpId = 'dbcName' | Stream オペレータ ジョブのTeradata Databaseマシン(非メインフレーム プラットフォーム)またはTDP(メインフレーム プラットフォーム)の名前を指定する任意の属性。 dbcNameは、最大256文字まで指定でき、ドメイン サーバー名を1つ指定できます。 TdpId属性に対して値を指定しない場合、オペレータは、システム管理者がユーザー用に設定したデフォルトのTdpIDを使用します。 メインフレームでは、1文字のTdpIdがサポートされます。 1文字だけを指定すると、TDPで始まる4文字のTdpIdの略語とみなされます。
|
TenacityHours = hours | Teradata Database上で最大数のセッションがすでに実行されている場合、Stream オペレータが継続的にログオンを試行する時間数を指定する任意の属性。 デフォルト値は4時間です。 Tenacity機能を有効にするためには、hoursに0以上の値を指定する必要があります。 0を指定すると、Tenacity機能は無効になります。 0未満の値を指定すると、Streamオペレータ ジョブが終了されます。 |
TenacitySleep = minutes | Teradata Database上で最大数のセッションがすでに実行されている場合、Stream オペレータ ジョブがログオン操作を再試行するまでに一時停止する分数を指定する任意の属性。 分数には0以上の値を指定する必要があります。1未満の値を指定すると、Stream オペレータはエラー メッセージを返してジョブを終了します。デフォルトは6分間です。 |
TimeZoneSessInfo = 'timeZoneValue' | オプションの属性。これにより、オペレータのジョブ セッションの期間にデフォルトのタイムゾーン変位を変更できます。 この属性の値を指定すると、オペレータはSET TIME ZONE <timeZoneValue>; SQLリクエストを作成します。 セッションが接続されると、オペレータはメイン コントロール セッションとデータSQLセッションでTeradata Databaseにリクエストを送信します。 以下に例を示します。
オペレータはこの属性の値を検証しません。オペレータは、その値をそのままTeradata Databaseに渡します。Teradata Databaseはその値を検証します。妥当性検査が失敗した場合、オペレータはTeradata Databaseエラーでジョブを終了します。
C形式のコメントは値で許可され、Teradata Databaseに渡されます。
ANSI形式のコメントは、値でサポートされません。値にANSI形式のコメントが含まれている場合、オペレータはTeradata Database構文エラーでジョブを終了します。
セミコロンは値に使用できません。これは、オペレータが "SET TIME ZONE SQL"リクエスト内で1つのステートメントのみを許可するためです。値にセミコロンが含まれている場合に、オペレータはオペレータ エラーでジョブを終了します。
SET TIME ZONE SQLについて詳しくは、<Teradata Database SQLデータ定義言語 構文規則および例>マニュアルを参照してください。 |
TraceLevel = 'level' | オペレータの各インスタンスによってパブリック ログ(または、PrivateLogName属性で指定されている場合はプライベート ログ)に書き込まれる診断メッセージの種類を指定する任意の属性。 診断トレース機能は、ログ ファイルで詳細な情報を提供するため、問題の追跡や診断に役立ちます。 トレース レベルは次の通り
VARCHAR ARRAYを使用すると、複数の値を指定できます。以下に例を示します。 VARCHAR TraceLevel = 'CLI' VARCHAR TraceLevel = 'OPER' VARCHAR ARRAY TraceLevel = [ 'CLI' ] VARCHAR ARRAY TraceLevel = [ 'CLI', 'OPER' ] TraceLevel属性は、診断を支援するためにのみ指定します。 この属性によって得られる追加情報の量とタイプは、ニーズの変化に合わせてリリースごとに変わります。
|
TransformGroup = 'transformgroupname' | Teradata複合データ型(CDT)のアクティブな変換の変更をサポートするオプション属性。この値は、<udt name> <transform group name>であり、オペレータの先頭には、ハードコードされた文字列"SET TRANSFORM GROUP FOR TYPE "が付加されます。RDBMSに送信される構文は次のとおりです: SET TRANSFORM GROUP FOR TYPE <udt name> <transform group name>; 例えば、次のように指定します。
"SET TRANSFORM GROUP FOR TYPE JSON CHARACTER SET LATIN TD_JSON_VARCHAR;" VARCHAR ARRAYを使用すると、複数の値を指定できます。以下に例を示します。
VARCHAR ARRAY TransformGroup = ['JSON CHARACTER SET LATIN TD_JSON_VARCHAR', 'ST_GEOMETRY TD_GEO_VARCHAR'], セッションが接続されると、オペレータはメイン コントロール セッションとデータSQLセッションでTeradata Databaseにリクエストを送信します。 オペレータはこの属性の値を検証しません。オペレータは、その値をそのままTeradata Databaseに渡します。Teradata Databaseはその値を検証します。妥当性検査が失敗した場合、オペレータはTeradata Databaseエラーでジョブを終了します。
C形式のコメントは値で許可され、Teradata Databaseに渡されます。
ANSI形式のコメントは、値でサポートされません。値にANSI形式のコメントが含まれている場合、オペレータはTeradata Database構文エラーでジョブを終了できます。
セミコロンは値に使用できません。これは、オペレータがリクエストごとに1つのステートメントのみを許可するためです。値にセミコロンが含まれている場合に、オペレータはオペレータ エラーでジョブを終了します。
|
TreatDBSRestartAsFatal= ‘option’ | Teradata Databaseの再起動時にジョブを終了するかどうかをオペレータに通知する任意の属性。 TreatDBSRestartAsFatal値は次のとおりです。
|
UnicodePassThrough = ' value ' | Unicode Pass Through機能を有効または無効にするようにオペレータに指示する任意の属性。 有効な値は、次のとおりです。
TPTジョブがUTF8またはUTF16のセッション文字セットを使用している場合、UnicodePassThrough属性を’On’に設定すると、オペレータはUnicodeパスを使用して文字を読み込むことができます。
|
UserName = 'userId' | Teradata Databaseのユーザー名を指定する属性。 外部認証ログオン方式によっては、この属性と互換性がない場合があります。
|
UserPassword = 'password' | ユーザー名に関連するパスワードを指定する属性。 外部認証ログオン方式によっては、この属性と互換性がない場合があります。
|
WorkingDatabase = 'databaseName' | ログオン データベース以外のデータベースをデフォルト データベースとして指定する任意の属性。 この属性で指定されたデータベース名は、2つのSQLセッションを接続した直後にオペレータによって送られるTeradata SQL DATABASE文で使用されます。 WorkingDatabaseが指定されない場合、修飾されていないすべてのテーブル名において、ログオンしたユーザーに関連付けられたデフォルト データベースがWorkingDatabaseとみなされます。 |