次の表では、EXPORTコマンドを使用する場合に考慮すべき事柄について説明します。
対象 | 使用上の注意 |
---|---|
出力先ファイルの属性 | メインフレーム接続クライアント システムでは、宛先ファイルの属性およびそこに書き込まれるエクスポート データ レコードの互換性を維持する必要があります。(ワークステーション接続UNIXおよびWindowsクライアント システムでは、互換性が問題となりません。) メインフレーム接続のz/OSシステムでは、属性は以下の条件によって異なります。
メインフレーム接続されたz/OS環境におけるデータベース データ タイプについては、このセクションの表「データ型の説明(メインフレーム接続のクライアント システム)」を参照してください。この情報を使えば、出力先ファイルの属性に適切な値を割り当てるために、エクスポート済みデータ行のサイズを計算することができます。 |
ブロック サイズの指定 | データベースからクライアント システムへデータを転送するために使用されているセッションごとに、2つの64 KBのバッファが割り当てられます。 割り振る必要がある最小ブロック サイズは1つで、データベースが戻す最大可能パーセルを保持します。 指定ブロック サイズが最大可能パーセルを保持できるほどの大きさでなければ、データベースはSELECT文にエラーを返し、ユーティリティは異常終了します。 パーセル サイズの詳細な説明については、次の資料を参照してください。
|
コマンドの配置と頻度 | FastExportジョブでは、エクスポート タスクごとに1つのEXPORTコマンドが必要です。このコマンドは、エクスポート タスクを指定するBEGIN EXPORTコマンドおよびEND EXPORTコマンドの間の任意の位置に挿入してください。 |
MODEの指定 | INDICATORおよびRECORDモードの両方を指定すると、次のような可変長レコードを持つクライアント内部フォーマットでデータが戻されます。
ただし、インディケータ モードで戻されるデータ レコードには、ヌル値を持つ列を識別するビット フラグのセットがあります。 これらのモードの詳細な説明については、次の資料を参照してください。
|
複数のSELECT文 | エクスポート タスクが複数のSELECT文を指定した場合、エクスポート データは文の順番で戻されます。文1の応答データすべての後に文2の応答データが続くといった具合です。 同じSELECT文が複数回実行されると、SELECT文の2番目の反復がデータベースに送られる前に、最初の反復結果が戻されて処理されます。 |
SELECT文の処理 | エクスポート タスクが複数のSELECT文を指定した場合、すべての文の応答データは文の順番に従って戻されます。つまり、最初が文1の応答データ、次に文2のデータ、というように続きます。 単一のSELECT文が複数回実行されると、2番目のSELECT文がデータベースに送られる前に、最初の反復結果が戻されて処理されます。 |
z/OS fileidの使用上の注意 | DDNAMEは、以下の場合を除いて、Teradata SQL列名と同じ構成規則に従う必要があります。
DDNAMEは、外部システムに適用可能な規則に従う必要があります。シーケンシャル(VSAM)データ セットを参照できます。 DDNAMEが磁気テープ上のデータ ソースを表わす場合、オペレーティング システムのサポートに応じて、テープはラベル付きとラベルなしのどちらかになります。 |
次の表で、レコード長とブロック サイズの仕様について説明します。
RECFM | 説明 |
---|---|
FB | LRECLは、返されるデータの長さと正確に等しくなければなりません。LRECLはこの長さを超えてはなりません。 RECFM = FBに対して、BLKSIZEもLRECLの倍数でなければなりません。倍数でない場合、レコードは切り捨てられ、データの整合性に問題が発生する、またはFastExportが異常終了する可能性があります。 明示的にBLKSIZEをJCLに追加することで、無効なデフォルトBLKSIZEが使用される可能性が回避されます。 |
VB | 論理レコード長(LRECL)とブロック サイズ(BLKSIZE)のパラメータには、予想される最大レコードを収容できるだけの大きさが必要です。 |
VBSまたはVS | 論理レコードの最大長は、指定されたデータセットの物理長を超えても構いません。 ブロック化されているかどうかに関係なく、スパン レコードは、十分に確立された単純なプロトコルを使用し、必要に応じて複数のブロックにまたがってレコードを分割またはセグメント化します。 個々のセグメントはブロック長を超えることはありませんが、そのセグメントを一部としている論理レコードは複数のブロックに(ある場合にはボリュームにさえ)わたることがあります。このように、スパン レコードによってのみ、32 KBのブロック サイズを超える長さ(最大で、Vantageでサポートされる64 KBまで)の行をもつ出力ファイルを作成することができます。 JCLで指定できる最大LRECLは32,760ですが、スパン レコードの実際の長さに関する制限は事実上ありません。 この最大LRECL(例: 約32 Kより大)を超えるレコードで構成されている出力に対しては、単純にLRECL=Xを指定します。VBSまたはVSレコードフォーマットを使用している時は、このようなレコードを作成するために、特別なJCLを必要としません。 相手デバイスまたは媒体の性能特性に応じたBLKSIZEを常に指定することです。これは通常、可能な最大のBLKSIZEを指定するという意味です。 場合によっては、次のようなときにRECFM=VBSを指定すると、FastExportの性能を向上できることがあります。
スパン/ブロック化フォーマットによってデータ パックは最大となります。同数の論理レコードを搬送するのに必要なブロック数が少なくて済むので、FastExportジョブの実行は速くなります。 |
例えば、ブロック サイズが32,756バイトであると想定します。
|
また、すべてのアプリケーションがスパン レコードを読み取れるわけではありません。これらのフォーマットを指定する前には、常に、使用中のアプリケーションがスパン レコードをサポートしていることを確認する必要があります。
例: 以下のDD文は、OUTPUTという名前のFastExport相手表からのスパン レコードを要求します。
//OUTPUT DD DSN=ASG.FEXP.Z,DISP=(NEW,CATLG), // DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=32756,DSORG=PS), // UNIT=SYSDA,SPACE=(CYL,(100,20))
次の表では、デフォルトのメインフレーム接続のクライアント システムに関するデータ型について説明します。
データ型 | 出力長(バイト) | 説明 |
---|---|---|
BYTE(n) | nバイト | nバイト |
BYTEINT | 1バイト | ビットの符号付き2進数値 |
CHAR(n) CHARS(n) CHARACTERS(n) |
nバイト | nのEBCDIC文字 |
DATE | 4バイト | 32ビット整数(データベースの内部データ書式) 詳細については、Teradata Vantage™ - データベース設計, B035-1094およびTeradata Vantage™ - データ型およびリテラル, B035-1143を参照してください。 DATEFORMコマンドを使ってANSIDATEをDATEデータ型として指定すると、FastExportユーティリティは最初に各DATEデータ型をCHAR(10)フィールドに変換します。
|
DECIMALx DECIMAL(x) DECIMAL(x,y) |
(x+1) / 2バイト | x、パック10進数および符号 |
FLOAT FLOATING |
8バイト | 64ビット(倍精度)浮動小数点 |
GEOSPATIAL DATA | 最大64000 | FastExportではLOBで表現された地理空間データはサポートされません。 |
INTEGER | 4バイト | 32ビットの符号付き2進数値 |
LONG VARCHAR | m+2文字(ここで、 m≤n) | = VARCHAR(32000) |
固定長Periodデータ型: PERIOD(DATE) PERIOD(TIME(n)) PERIOD(TIME(n) WITH TIME ZONE) |
最大=8バイト 最大=12バイト 最大=16バイト |
精度は0<n<6の範囲で指定する必要があります。 精度 = 0 (n/a) 精度=n 精度=n 詳細については、Teradata Vantage™ - データベース設計, B035-1094およびTeradata Vantage™ - データ型およびリテラル, B035-1143を参照してください。 |
可変長Periodデータ型: PERIOD(TIMESTAMP(n)) PERIOD(TIMESTAMP(n) WITH TIME ZONE) |
最大=20バイト 最大=24バイト |
精度は0<n<6の範囲で指定する必要があります。 精度=n 精度=n 詳細については、Teradata Vantage™ - データベース設計, B035-1094およびTeradata Vantage™ - データ型およびリテラル, B035-1143を参照してください。 |
SMALLINT | 2バイト | 16ビットの符号付き2進数値 |
VARBYTE(n) | m+2バイト(ここで、m≤n) | 16ビット整数、カウントm、その後にmバイトのデータが続く |
VARCHAR(n) | m+2バイト(ここで、m≤n) | 16ビット整数、カウントm、その後にmのEBCDIC文字が続く |
詳細については、 Teradata Vantage™ - データ型およびリテラル, B035-1143を参照してください。