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 totalOracle TimesTen In-Memory DatabaseリファレンスのttBulkCpを参照してください。