ttBulkCpユーティリティを使用したデータのバルク・コピー

ttBulkCpユーティリティでは、TimesTen表とASCIIファイルの間でデータをコピーできます。

ttBulkCpユーティリティを使用して、データベース内の既存の表の特定の側面を管理できます。ttBulkCpユーティリティを使用すると、既存の表へのデータ行の追加、ASCIIファイルへのデータの保存、TimesTenデータベース内の表へのデータ行のロードが可能です。

追加する行には、表と同じ列数を含める必要があります。また、各列のデータは、その列に定義されているデータ型である必要があります。

ttBulkCpユーティリティはASCIIファイルに保存されたデータに対して処理を行うため、列数とデータ型がTimesTenデータベースの表の列数とデータ型と一致し、検出されたファイルがttBulkCpと互換性がある場合、このユーティリティを使用して他のアプリケーションからデータをインポートすることもできます。

TimesTen表からASCIIファイルへのデータのコピー

-oオプションを使用してttBulkCpユーティリティを実行し、TimesTen表からASCIIファイルにデータをコピーします。

ノート:

TimesTenユーザーが情報のコピー元の表に対するSELECT権限を持っていることを確認してください。

この例では、ttBulkCp -oモードを使用して、database1データベースのhr.employees表からemployees.dmpファイルにデータをコピーします。

ttBulkCp -o -connstr "DSN=database1;UID=HR;PWD=hr" hr.employees > employees.dmp

Oracle TimesTen In-Memory DatabaseリファレンスttBulkCpを参照してください。

ASCIIファイルからTimesTen表へのデータのコピー

ttBulkCpユーティリティでは、ASCIIファイルからデータベース表にデータをコピーできます。ttBulkCpユーティリティは、表に重複する行をコピーしません。

-iオプションを使用したttBulkCpの実行

-iオプションを指定してttBulkCpユーティリティを使用すると、ファイルからデータをロードできます。

このオプションでは、標準のINSERT SQL文を使用して、TimesTenデータベースの特定の表にデータをロードします。

TimesTen Scaleoutでは、ttBulkCpユーティリティにより、表の分散スキームに基づいて、各行が対応する要素に挿入されます。TimesTen Scaleoutでは、1つの場所または複数の場所から表を移入できます。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』データベースへのデータのバルク・ロードを参照してください。

ノート:

TimesTenユーザーが情報のコピー先の表に対するINSERT権限を持っていることを確認してください。

この例では、ttBulkCp -iモードを使用して、employees.dmpファイルからdatabase1データベースのhr.employees表にデータをコピーします。

% ttBulkCp -i -connstr "DSN=database1;UID=HR;PWD=hr" hr.employees employees.dmp

employees.dmp:
    107 rows inserted
    0 duplicate rows not inserted
    107 rows total

詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』ttBulkCpを参照してください。

TimesTen Classicでの-directLoadオプションを使用したttBulkCpの実行

-directLoadオプションを使用してttBulkCpユーティリティを実行し、ASCIIファイルからTimesTen Classicデータベース表にデータをコピーします。

-directLoadオプションは、標準のINSERT SQL文を使用してデータをロードします。ttBulkCp -directLoadオプションは、直接接続を使用するアプリケーションでのみ使用できます。これを使用すると、クライアント/サーバー接続の使用時に必要なオーバーヘッドの一部が回避され、-iオプションよりもパフォーマンスが向上します。

パフォーマンスを向上させるために、-directLoadオプションを指定してデータをロードする前に、索引を削除することを検討してください。ttSchemaユーティリティを使用して、TimesTen Classicデータベースの表に作成されているすべての索引の定義を表示します。ロード操作が完了したら、手動で表に索引を再作成します。Oracle TimesTen In-Memory DatabaseリファレンスttSchemaを参照してください。

ノート:

TimesTenユーザーが情報のコピー先の表に対するINSERT権限を持っていることを確認してください。

この例では、ttBulkCp -directLoadオプションを使用して、employees.dmpファイルからdatabase1データベースのhr.employees表にデータをコピーします。

% ttBulkCp -directLoad -connstr "DSN=database1;UID=HR;PWD=hr" hr.employees employees.dmp

employees.dmp:
    107 rows inserted
    0 duplicate rows not inserted
    107 rows total

Oracle TimesTen In-Memory DatabaseリファレンスttBulkCpを参照してください。