必須属性および任意属性 - Parallel Transporter

Teradata Parallel Transporterリファレンス

Product
Parallel Transporter
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2018-09-07
dita:mapPath
ja-JP/sje1512702724707.ditamap
dita:ditavalPath
ja-JP/sje1512702724707.ditaval
dita:id
B035-2436
Product Category
Teradata Tools and Utilities

DDLオペレータの必須および任意の属性値を宣言するには、Teradata PTのDEFINE OPERATOR文で属性定義リスト構文を使用します。 次の構文図の属性の説明については、このセクションの「DDLオペレータの属性定義」のテーブルを参照してください。 属性の説明に続けて、オペレータの一般例を示します。





使用場所:

DDLオペレータの属性定義
構文要素 説明
AccountId = acctId' 特定のユーザー名に関連するアカウントを指定する任意の属性。

この属性を省略すると、デフォルトでデータベースの直接所有者のアカウントIDが設定されます。

ARRAY 複数の属性値を指定する任意のキーワード。
DataEncryption = ’option’ SQLリクエスト、応答、およびデータの完全暗号化を可能にする任意の属性。

有効な値は次のとおりです。

  • On = すべてのSQLリクエスト、応答、およびデータが暗号化されます。
  • Off = 暗号化されません(デフォルト)。
ErrorList = ‘nnnn’ 無視するデータベース エラーのリスト(番号別)を指定する任意の属性。

この属性を使用すると既知のデータベース エラーが抑制されるため、ジョブの終了を回避できます。 この属性は、DDL文の発行後、Teradataサーバーからエラーが返されたときはジョブを終了するように設定されているデフォルトのオペレータ動作をオーバーライドします。

以下に、テーブルの削除中にデータベース エラー3807が発生した場合、DDLオペレータが不良ステータス コードを返さないようにする例を示します。

DEFINE OPERATOR DDLOP
DESCRIPTION 'DDL OPERATOR'
.
ATTRIBUTES
(
     VARCHAR ErrorList = '3807',
;

ErrorList属性を使用して、複数のエラー コードを抑制することもできます。

LogonMech = 'string' 使用するログオン メカニズムを指定する任意の属性。
認証方式によってはこの属性の指定が必須になる場合があります。

属性が8バイトを超えると、ジョブが終了されます。

LogonMechの指定要件については、<Teradata Parallel Transporterユーザー ガイド、B035-2445>の「 ログオン セキュリティ」を参照してください。

LogonMechData = data' 追加のログオン メカニズム データを転送する任意の属性。
外部認証方式によってはこの属性の指定が必須になります。

LogonMechDataの指定要件については、<Teradata Parallel Transporterユーザー ガイド、B035-2445>の「 ログオン セキュリティ」を参照してください。

LogSQL = 'option' 対象ジョブのSQLの中で、ログに記録する数を制御する任意の属性。

有効なオプションは次のとおりです。

  • 'Yes' = すべてのSQLをログに出力します。 最大長は1Mです。
  • 'No' = SQLをログに出力しません。
  • 値なし、または属性指定の除外時は、事前定義の制限を使用します。最大32KのSQLを表示します(SQL全体が32K未満の場合)。 ログ対象のSQLが32Kを超える場合は、表示が32Kに切り捨てられます。
PrivateLogName = 'logName' Teradata PT Loggerによってパブリック ログ内部に保持されるログの名前を指定する任意の属性。 プライベート ログには、オペレータによる出力がすべて記録されます。

プライベート ログは、tlogviewコマンドを次のように使用すると表示できます。ここで、jobIdはTeradata PTのジョブ名を、privateLogNameはオペレータのPrivateLogName属性の値を示します。

tlogview -j jobid -f privatelogname

プライベート ログを指定しない場合、出力はすべてパブリック ログに格納されます。

tlogviewコマンドの詳細については、Teradata PTユーティリティのコマンドを参照してください。

QueryBandSessInfo = ’queryBand Expression ジョブ セッションの存続期間中のクエリー バンドを指定する任意の属性。

queryBandExpressionは、セミコロンで区切られ、セミコロンで終了する、名前=値ペアのセットです。 ユーザーは、下記の例のようなクエリー バンド式を定義します。

‘org=Finance;load=daily;location=west;’

QueryBandSessInfoは、ARRAY属性として指定することもできます。

クエリー バンド式の作成規則については、<Teradata Database SQLデータ定義言語 - 構文規則および例、B035-1144>と<SQLデータ定義言語 - 詳細トピック、B035-1184>を参照してください。

QueryBandSessInfo属性の値は、DDLオペレータのプライベート ログに表示されます。

QueryBandSessInfo属性の使用には、以下の規則が適用されます。

  • デフォルトでは、QueryBandSessInfo属性に有効な値が指定されるまで、クエリー バンドはオフになります。
  • QueryBandSessInfo属性に値が含まれている場合、DDLオペレータは、必要なSET QUERY BAND SQLを構成し、DDLオペレータのSQLセッションの一部として発行して、Teradata Databaseにリクエストを伝達します。
  • DDLオペレータはクエリー バンド式をチェックせず、Teradata Databaseに式をそのまま渡します。
  • ジョブを実行するTeradata Databaseのバージョンでクエリー バンド機能がサポートされていない場合、クエリー バンドは実行されません。 ただし、オペレータはエラーを無視してジョブの残りの部分を実行します。
  • クエリー バンド式に構文エラーがあると、Teradata Databaseはエラーを返します。 すると、DDLオペレータはジョブを終了し、エラーをユーザーに報告します。
ReplicationOverride = ’option’ アクティブなセッションに対する通常のレプリケーション サービス制御を上書きする任意の属性。

有効な値は、次のとおりです。

  • ‘On’ = アクティブなセッションに対する通常のレプリケーション サービス制御を上書きします。
  • ‘Off’ = アクティブなセッションに関して、通常のレプリケーション サービスの上書きがオフになります(変更データの取得がアクティブな場合)。
  • ’None’ = (デフォルト)オーバーライドのリクエストはTeradata Databaseに送られません。

詳細については、<Teradata Replication Services Using Oracle GoldenGate>を参照してください。

この属性に値を設定する際には、オペレータがログインで使用するユーザーIDにREPLCONTROL権限が付与されていなければなりません。
SPLOPT = ’option’ DDLオペレータを使用して、インライン ストアド プロシージャの作成、置換、および削除をサポートする任意の属性。 DDLオペレータはストアド プロシージャを実行しません。 ストアド プロシージャはSHOW PROCEDURE文で取り出すことができます。

64Kを超えるストアド プロシージャ コマンドの場合、Teradata PTは64Kブロックでリクエストを1度に1つずつ送信します。

有効な値は次のとおりです。

  • 'Yes' = DBSがTDSPを格納するように指示する内部フラグが設定されます(デフォルト)。
  • 'No’ = DBSがTDSPを格納するように設定されている内部フラグはありません。
SQLCmdFileName = SQLfilepathname 完全なSQLファイル名を指定する任意のVARCHAR属性。指定された<SQLFile>では、各SQLコマンドはセミコロンで終わる必要があります。
TdpId = 'dbcName' DDLオペレータ ジョブのTeradata Databaseマシン(非メインフレーム プラットフォーム)またはTDP(メインフレーム プラットフォーム)の名前を指定する任意の属性。

dbcNameは、最大256文字まで指定でき、ドメイン サーバー名を1つ指定できます。

TdpId属性に対して値を指定しない場合、オペレータは、システム管理者がユーザー用に設定したデフォルトのTdpIdを使用します。

メインフレームでは、1文字のTdpIdがサポートされます。 1文字だけを指定すると、TDPで始まる4文字のTdpIdの略語とみなされます。
TimeZoneSessInfo = 'timeZoneValue' オプションの属性。これにより、オペレータのジョブ セッションの期間にデフォルトのタイムゾーン変位を変更できます。

この属性の値を指定すると、オペレータはSET TIME ZONE <timeZoneValue>; SQLリクエストを作成します。

SQLセッションが接続されると、オペレータはそのセッションでTeradata Databaseにリクエストを送信します。

以下に例を示します。

  • 例1: 次の例では、セッションのデフォルトのタイムゾーン変位をシステム デフォルトのタイムゾーンであるLOCALに設定します。

    VARCHAR TimeZoneSessInfo = 'LOCAL'

  • 例2: 次の例では、セッションのデフォルトのタイムゾーン変位を、ログオンしているユーザーのデフォルトのタイムゾーンであるUSERに設定します。

    VARCHAR TimeZoneSessInfo = 'USER'

  • 例3: 次の例では、セッションのデフォルトのタイムゾーン変位を単純な定数タイムゾーン文字列式に設定します。

    VARCHAR TimeZoneSessInfo = '''America Pacific'''

    値内のどの単一引用符文字(')も、TPTジョブ スクリプトで2つの連続した単一引用符文字として入力する必要があります。これにより、正しい値が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属性で指定されている場合はプライベート ログ)に書き込まれる診断メッセージの種類を指定する任意の属性。 診断トレース機能は、ログ ファイルで詳細な情報を提供するため、問題の追跡や診断に役立ちます。

トレース レベルは次のとおりです。

  • ‘None' = (デフォルト)トレース機能を無効にします。
  • ’CLI’ = CLIに関連するアクティビティ(Teradata Databaseとの対話)についてのトレース機能を有効にします。
  • 'PX' = Teradata PTインフラストラクチャに関連するアクティビティについてのトレース機能を有効にします。
  • 'Oper' = オペレータ固有のアクティビティについてのトレース機能を有効にします。
  • 'All' = 上記すべてのアクティビティについてのトレース機能を有効にします。

VARCHAR ARRAYを使用すると、複数の値を指定できます。以下に例を示します。

VARCHAR TraceLevel = 'CLI'
VARCHAR TraceLevel = 'OPER'
VARCHAR ARRAY TraceLevel = [ 'CLI' ]
VARCHAR ARRAY TraceLevel = [ 'CLI', 'OPER' ]
TraceLevel属性は、診断を支援するためにのみ指定します。 この属性によって得られる追加情報の量と種類は、ニーズの変化に合わせてリリースごとに変わります。
TransformGroup = 'transformgroupname' Teradata複合データ型(CDT)のアクティブな変換の変更をサポートするオプション属性。この値は、<udt名> <変換グループ名>であり、オペレータの先頭には、ハードコードされた文字列"SET TRANSFORM GROUP FOR TYPE "が付加されます。RDBMSに送信される構文は次のとおりです:
SET TRANSFORM GROUP FOR TYPE <udt名> <変換グループ名>;
例えば、次のように指定します。
"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値は次のとおりです。

  • '’No’(’N’) = Teradata Databaseの再起動が発生した場合、オペレータは終了しない(デフォルト)。Teradata Databaseの再起動は、再試行可能な処理として扱われます。
  • ’Yes'(’Y’) = Teradata Databaseの再起動が発生した場合、オペレータは終了する。
UnicodePassThrough = ‘value’ Unicode Pass Through機能を有効または無効にするようにオペレータに指示する任意の属性。

有効な値は、次のとおりです。

  • ’On’ = オペレータ内のUnicode Pass Through機能を有効にする。
  • ’Off’ = (デフォルト)オペレータ内のUnicode Pass Through機能を無効にする。
TPTジョブがUTF8またはUTF16セッション文字セットを使用している場合、UnicodePassThrough属性を'On'に設定して、オペレータが文字を通じてデータをTeradata Databaseに送信できるようにすることができます。
Username = 'userId' Teradata Databaseのユーザー名を指定する属性。
外部認証ログオン方式によっては、この属性と互換性がない場合があります。

UserNameの指定要件の詳細については、<Teradata Parallel Transporterユーザー ガイド、B035-2445>の「ログオン セキュリティ」を参照してください。

UserPassword = 'password' ユーザー名に関連するパスワードを指定する属性。
外部認証ログオン方式によっては、この属性と互換性がない場合があります。

パスワードの指定要件の詳細については、<Teradata Parallel Transporterユーザー ガイド、B035-2445>の「ログオン セキュリティ」を参照してください。

VARCHAR 定義済み属性のデータ型としてVARCHARを指定するキーワード。
WorkingDatabase = ‘databaseName’ ログオン データベース以外のデータベースをデフォルト データベースとして指定する任意の属性。

この属性で指定されたデータベース名は、2つのSQLセッションを接続した直後にオペレータによって送られるTeradata SQL DATABASE文で使用されます。

WorkingDatabaseが指定されない場合、修飾されていないすべてのテーブル名において、ログオンしたユーザーに関連付けられたデフォルト データベースがWorkingDatabaseとみなされます。