5.1 データ・ワークショップの使用

データ・ワークショップを使用すると、データベースにデータをロードしたり、アンロードすることができます。

5.1.1 データのロードおよびデータのアンロード・ウィザードについて

「データのロード」ウィザードと「データのアンロード」ウィザードを使用すると、データをデータベースにロードすることやデータベースからアンロードすることができます。

これらのステップごとのウィザードには次の機能があります。

  • データを新しい表にロードするには、区切りファイル(CSV、タブ区切り)、XLSXファイル(Excelワークブック)、JSONまたはXMLファイルをドラッグ・アンド・ドロップします。

  • データを新しい表にロードするには、区切りデータ(CSV、タブ区切り)をコピー・アンド・ペーストするか、サンプル・データ・セットを選択します。

  • データ・ロード・パーサーは、ほぼすべてを自動的に検出するため、データ型を手動で選択したり、書式マスクや小数点文字を指定する必要はありません。

  • データのロードはバックグラウンドで実行され、これには多くの利点があります。大きなファイルをアップロードしている場合に、ダイアログを閉じることができます。不正な行をターゲット表に挿入できない場合でも、ロード全体が失われることはありません。失敗したすべての行はエラー表に保存され、手動で後処理できます。

  • Oracle Database 12c以降では、「ID列」機能を使用して「主キー」列を生成するかどうかや、グローバル一意識別子(SYS_GUID)を使用するかどうかを選択できます。違いは値と領域の要件です。「ID列」の値は、1から始まって増加していく点で順序に似ています。SYS_GUID値はグローバルに一意であり、予測は困難ですが、コンパクトな「ID列」の番号よりも多くの領域を必要とします。
  • メイン・ダイアログのプレビューには、最大10列および5行が表示されます。列ヘッダー、ファイル・エンコーディング、列デリミタ/囲み文字(CSVまたはTXTの場合)、シートの選択(複数のワークシートを含むXLSXの場合)などのロード設定を構成できます。

  • 「構成」ボタンをクリックすると、完全なプレビューを表示して、さらに設定を変更できます。「構成」ダイアログには、最大100列および100行が表示されます。ユーザーは、メイン・ダイアログの設定と同じ設定に加えて、「サンプリングする行」の最大値およびロード/アンロードする列を構成できます。

  • 設定を変更すると、メイン・ダイアログおよび構成ダイアログの両方でプレビューが変更されます。データのロードの結果にも影響します。

    ノート:

    サイズが2097152バイト以上のファイルで「すべての行」をサンプリングすることを選択した場合、「すべての行をサンプリングすると、大きいファイルではしばらく時間がかかる可能性があります。ファイル全体をサンプリングしてもよろしいですか。」という確認メッセージが表示されます。
  • 表の所有者を選択し、表名およびエラー表名を入力します

    ノート:

    デフォルトでは、表の名前はすべて大文字に変換されます。エラーが発生せずにデータのロードが成功した場合は、エラー表が自動的に削除されます。
  • ウィザードでは表データのみをロードおよびアンロードします。他の種類のスキーマ・オブジェクトのロードやアンロードはできません。

  • ロードおよびアンロードはユーザー自身のスキーマのみで可能です。これは、管理者権限を持つユーザーにも該当します。

  • 一度にロードまたはアンロードできる表は1つのみです。

サポートされているアンロード形式は次のとおりです。

  • ダイアログ・ページのカンマ区切りデータ、タブ区切りデータなどのテキスト。

  • XML文書

5.1.2 データのインポート、エクスポート、ロードおよびアンロードについて

Oracle Database間、またはOracle Databaseと外部ファイル間でデータをコピーする場合、様々なオプションがあります。データのコピーは、データのエクスポートインポート、およびデータのアンロードロードで行います。

次の表で、これらの用語を定義します。

用語 定義

エクスポート

他のOracle Databaseにインポートするためだけに、データベースのデータを外部ファイルにコピーします。ファイルは固有のバイナリ形式です。

インポート

他のOracle Databaseからエクスポートして作成した外部ファイルのデータを、データベースにコピーします。

アンロード

他のOracle Databaseまたは他のアプリケーション(スプレッドシート・アプリケーションなど)で使用するために、データベースのデータを外部テキスト・ファイルにコピーします。テキスト・ファイルは、タブ区切りやカンマ区切り(CSV)などの標準形式です。

ロード

標準の区切り形式またはOracleのSQL*Loaderユーティリティでサポートされている任意の形式の外部テキスト・ファイルのデータを、データベースにコピーします。

Oracle Databaseのどのエディション(Express Edition、Standard EditionおよびEnterprise Edition)間でもデータをエクスポートできます。

5.1.3 インポート/エクスポート/ロード/アンロード・オプション

Oracle DatabaseおよびOracle Application Expressには、データのインポート、エクスポート、ロードおよびアンロードのための様々な強力なオプションがあります。

表5-1に、これらのオプションのサマリーを示します。

表5-1 Oracle Application Expressのインポート/エクスポート・オプションのサマリー

機能またはユーティリティ 説明

Oracle Application Expressのデータのロード/データ・アンロード・ウィザード

  • 使用しやすいグラフィカル・インタフェース

  • CSV、XLSX、TXT、XMLまたはJSONファイル、およびコピー・アンド・ペースト(カンマ区切りまたはタブ区切りのデータのみ)がサポートされています
  • 表のみ、一度に1つの表のみのロード/アンロード

  • ログイン・ユーザーのスキーマのみにアクセス

  • アップロード時にデータのフィルタ処理なし

SQL*Loaderユーティリティ

  • sqlldrコマンドで起動するコマンドライン・インタフェース

  • 外部ファイルからデータベースへデータをバルクロード

  • 区切り、固定レコード、可変レコードおよびストリームなど、多数の入力形式をサポート

  • 同時に複数の表をロード

  • 強力なデータのフィルタ機能

データ・ポンプ・エクスポートおよびデータ・ポンプ・インポート・ユーティリティ

  • expdpおよびimpdpコマンドで起動するコマンドライン・インタフェース

  • 任意のOracle Databaseから別のOracle Databaseへのエクスポートおよびインポート(固有のバイナリ形式)

  • すべてのスキーマ・オブジェクト・タイプのインポート/エクスポート

  • データベース全体、スキーマ全体、複数のスキーマ、複数の表領域、または複数の表のインポート/エクスポート

  • 強力なデータのフィルタ機能

  • 高速

エクスポートおよびインポート・ユーティリティ

  • expおよびimpコマンドで起動するコマンドライン・インタフェース

  • 任意のOracle Databaseから別のOracle Databaseへのエクスポートおよびインポート(固有のバイナリ形式)

  • XMLTypeデータをサポート

  • FLOATおよびDOUBLEデータ型をサポートしない

  • データ・ポンプの類似機能(データポンプを推奨)

表5-2では、ロード、アンロード、インポートおよびエクスポートの例を示し、それぞれで使用する適切なオプションを提案しています。

表5-2 インポート/エクスポートの例と推奨オプション

インポート/エクスポートの例 推奨オプション

ロードする表が10より少なく、データがスプレッドシートかタブ区切りまたはカンマ区切りのテキスト・ファイルにあり、複合データ型(オブジェクトや複数値のフィールドなど)が存在しない。

Oracle Application Expressのデータのロード/データ・アンロード・ウィザード

区切られていないデータをロードする必要がある。レコードは固定長で、フィールド定義は列の位置に依存する。

SQL*Loader

ロードするデータがタブ区切りのテキスト・データであり、存在する表が10より多い。

SQL*Loader

ロードするデータがテキスト・データであり、ある選択基準(たとえば、部門番号3001の従業員のレコードのみ)を満たすレコードのみをロードする。

SQL*Loader

別のOracle Databaseへ、スキーマ全体をインポートまたはエクスポートする。

データ・ポンプ・エクスポートおよびデータ・ポンプ・インポート

別のOracle Databaseへデータをインポートまたはエクスポートする。データにはXMLTypeデータが含まれるが、FLOATまたはDOUBLEデータ型は含まれない。

インポート(imp)およびエクスポート(exp)

関連項目:

データ・ポンプ、インポートおよびエクスポート・ユーティリティ、およびSQL*Loaderの詳細は、Oracle Databaseユーティリティを参照してください

5.1.4 「データのロード」/「データのアンロード」ページへのアクセス

「ユーティリティ」、「データ・ワークショップ」の順にクリックして、「データのロード」および「データのアンロード」ページにアクセスします。

「データのロード」/「データのアンロード」ページにアクセスするには、次の手順に従います。

  1. ワークスペースホームページで、「SQLワークショップ」アイコンをクリックします。
  2. 「ユーティリティ」をクリックします。
  3. 「データ・ワークショップ」をクリックします。

    データ・ワークショップ・ページが表示されます。

  4. データのロードまたはデータのアンロードを行うための該当するアイコンをクリックします。

5.1.5 データのロード

データのロード・ウィザードを使用して、データをコピー・アンド・ペーストしたり、アップロードします。

5.1.5.1 データのロードについて

Oracle Application Expressにデータをロードするには、CSVデータのコピー・アンド・ペースト、サンプル・データ・セットの選択、またはファイルのアップロードを行います。

Oracle Application Expressにデータをロードする際の主な機能は次のとおりです。

  • CSVデータをコピー・アンド・ペーストするか、サンプル・データ・セットを選択します。

  • ファイルをアップロードします(CSV、XLSX、TXT、XMLまたはJSONファイルがサポートされます)。

    ノート:

    列ヘッダー、ファイル・エンコーディング、列デリミタ/囲み文字(CSVまたはTXTの場合)、「シートの選択」(複数のワークシートを含むXLSXの場合)などのロード設定を構成します。

  • 「構成」ボタンをクリックして、完全なプレビューを表示し、さらに設定を変更します。「構成」ダイアログには、最大100列および100行が表示されます。メイン・ダイアログの設定と同じ設定に加えて、「サンプリングする行」の最大値およびロード/アンロードする列を構成できます。

  • 「構成」ダイアログの「ロードする列」タブで、NULLとして扱われる値(大/小文字は区別されません)を入力できます。たとえば、"tbd""n/a""unknown""-"などです。

  • ロード後に、失敗した行がある場合は、拒否された行が最大10行表示されます。エラーのある行をさらに表示するには、「オブジェクト・ブラウザで開く」ボタンをクリックします。必要に応じて、表の「削除」および「リロード」ボタンをクリックすると、データのロードを再試行できます。

  • 設定を変更すると、メイン・ダイアログおよび構成ダイアログの両方でプレビューが変更されます。データのロードの結果にも影響します。

  • 表の所有者を選択し、表名およびエラー表名を入力します

    ノート:

    デフォルトでは、表の名前はすべて大文字に変換されます。エラーが発生せずにデータのロードが成功した場合は、エラー表が自動的に削除されます。
  • ロード後に、失敗した行がない場合は、「テーブルの表示」ボタンおよび「アプリケーション作成ウィザードに進む」ボタンが表示されます。表が作成および表示されている場合は、ロードが正常に完了しています。

5.1.5.2 CSVデータのコピー・アンド・ペーストまたはサンプル・データ・セットの選択

データのロード・ウィザードで、CSVデータをコピー・アンド・ペーストするか、サンプル・データ・セットを選択できます。

CSVデータをコピー・アンド・ペーストするか、サンプル・データ・セットを選択してデータをロードするには、次の手順に従います。

  1. ワークスペースホームページで、「SQLワークショップ」アイコンをクリックします。
  2. 「ユーティリティ」をクリックします。
  3. 「データ・ワークショップ」をクリックします。
  4. 「はじめに」で、「データのロード」をクリックします。
    データのロード・ウィザードが表示されます。
  5. 「コピー・アンド・ペースト」をクリックします。
    「コピー・アンド・ペースト」では、CSVデータをコピー・アンド・ペーストするか、ドロップダウン・メニューからサンプル・データ・セットを選択できます。
  6. 「次へ」をクリックします。
  7. 「表へのロード」で、次の項目を編集します。
    1. 表の所有者 - 表を作成してデータをロードするデータベース・スキーマを選択します。
    2. 表名: 作成する表の名前を指定します。デフォルトでは、表の名前はすべて大文字に変換されます。
    3. エラー表名 - データのロード中のエラーを保存するエラー表名を指定します。

      ノート:

      デフォルトでは、表の名前はすべて大文字に変換されます。エラーが発生せずにデータのロードが成功した場合は、このエラー表が自動的に削除されます。
    4. 主キー - 主キーを設定する方法を選択します(Oracle Database 12c以降)。主キーは、SYS_GUIDまたは「ID列」を使用して設定できます。
      SYS_GUIDを指定すると、グローバル一意識別子が生成されて返されます。多くのプラットフォームでは、この生成された識別子は、ホスト識別子、ファンクションをコールするプロセスやスレッドのプロセス識別子またはスレッド識別子、および非反復値(バイトの順序)に基づいています。SYS_GUIDは、より多くの領域を消費しますが予測できません。「ID列」はコンパクトですが予測可能です
    5. 列のデータ型の使用 - ファイルから解析された列タイプを使用する場合に選択します。選択しない場合、表の列はVARCHAR2(4000)として作成されます。
  8. 完全なプレビューを表示するには、データのロード設定を構成し、ロードする列を設定して、「構成」をクリックします。
    適切に変更を行い、「変更の保存」をクリックします。
  9. 「データのロード」をクリックします。

5.1.5.3 XML文書のロード

データのロード・ウィザードを使用して、XML文書をロードします。

XMLファイルをOracle Application Expressにアップロードすることもできます。ただし、Oracle Application Expressでは、表および列に簡単にマップできるフラットなXML構造のみがサポートされています。ネストのレベルが複数あるXML構造は、データのロード・ウィザードではロードできません。

XML文書をロードするには:

  1. ワークスペースホームページで、「SQLワークショップ」アイコンをクリックします。
  2. 「ユーティリティ」をクリックします。
  3. 「データ・ワークショップ」をクリックします。
  4. 「データのロード」をクリックします。
  5. 「ファイルのアップロード」で、「ファイルの選択」をクリックします。
  6. 適切なXMLファイルを選択します。

    ノート:

    XMLファイルのロードでは、デリミタや囲み文字は選択しません。また、列名はXMLタグ名から導出されるため、「最初の行にヘッダーが含まれる」チェック・ボックスはありません。XMLファイルはそれぞれ10MBに制限されます。
  7. 「表へのロード」で、次の項目を編集します。
    1. 表の所有者 - 表を作成してデータをロードするデータベース・スキーマを選択します。
    2. 表名: 作成する表の名前を指定します。デフォルトでは、表の名前はすべて大文字に変換されます。
    3. エラー表名 - データのロード中のエラーを保存するエラー表名を指定します。

      ノート:

      デフォルトでは、表の名前はすべて大文字に変換されます。エラーが発生せずにデータのロードが成功した場合は、このエラー表が自動的に削除されます。
    4. 主キー - 主キーを設定する方法を選択します(Oracle Database 12c以降)。主キーは、SYS_GUIDまたは「ID列」を使用して設定できます。
      SYS_GUIDを指定すると、グローバル一意識別子が生成されて返されます。多くのプラットフォームでは、この生成された識別子は、ホスト識別子、ファンクションをコールするプロセスやスレッドのプロセス識別子またはスレッド識別子、および非反復値(バイトの順序)に基づいています。SYS_GUIDは、より多くの領域を消費しますが予測できません。「ID列」はコンパクトですが予測可能です
    5. 列のデータ型の使用 - ファイルから解析された列タイプを使用する場合に選択します。選択しない場合、表の列はVARCHAR2(4000)として作成されます。
  8. 完全なプレビューを表示するには、データのロード設定を構成し、ロードする列を設定して、「構成」をクリックします。
    適切に変更を行い、「変更の保存」をクリックします。
  9. 「データのロード」をクリックします。

    データのロードが終了すると、成功のメッセージが表示されます。一部の行をターゲット表にロードできない場合、それらはエラー表に格納され、エラー表が表示されます。

5.1.5.4 JSONファイルのロード

JSONファイルはデータのロード・ウィザードを使用してロードします。

JSONファイルのロードは、XMLファイルのロードと同様に機能します。

ノート:

フラット構造のみサポートされ、深くネストしたJSON構造はロードできません。

JSONファイルをロードするには、次の手順に従います。

  1. ワークスペースホームページで、「SQLワークショップ」アイコンをクリックします。
  2. 「ユーティリティ」をクリックします。
  3. 「データ・ワークショップ」をクリックします。
  4. 「データのロード」をクリックします。
  5. 「ファイルのアップロード」で、「ファイルの選択」をクリックします。
  6. 適切なJSONファイルを選択します。

    ノート:

    JSONファイルは、11gおよび12.1データベースでは20MBに制限されています。Oracle Database 12.2以上では、JSONファイルのサイズ制限はありません。

  7. 「表へのロード」で、次の項目を編集します。
    1. 表の所有者 - 表を作成してデータをロードするデータベース・スキーマを選択します。
    2. 表名: 作成する表の名前を指定します。デフォルトでは、表の名前はすべて大文字に変換されます。
    3. エラー表名 - データのロード中のエラーを保存するエラー表名を指定します。

      ノート:

      デフォルトでは、表の名前はすべて大文字に変換されます。エラーが発生せずにデータのロードが成功した場合は、このエラー表が自動的に削除されます。
    4. 主キー - 主キーを設定する方法を選択します(Oracle Database 12c以降)。主キーは、SYS_GUIDまたは「ID列」を使用して設定できます。
      SYS_GUIDを指定すると、グローバル一意識別子が生成されて返されます。多くのプラットフォームでは、この生成された識別子は、ホスト識別子、ファンクションをコールするプロセスやスレッドのプロセス識別子またはスレッド識別子、および非反復値(バイトの順序)に基づいています。SYS_GUIDは、より多くの領域を消費しますが予測できません。「ID列」はコンパクトですが予測可能です
    5. 列のデータ型の使用 - ファイルから解析された列タイプを使用する場合に選択します。選択しない場合、表の列はVARCHAR2(4000)として作成されます。
  8. 完全なプレビューを表示するには、データのロード設定を構成し、ロードする列を設定して、「構成」をクリックします。
    適切に変更を行い、「変更の保存」をクリックします。
  9. 「データのロード」をクリックします。

    データのロードが終了すると、成功のメッセージが表示されます。一部の行をターゲット表にロードできない場合、それらはエラー表に格納され、エラー表が表示されます。

5.1.5.5 XLSXファイルのロード

XLSXファイルはデータのロード・ウィザードを使用してロードします。

XLSXファイルのロードは、CSVファイルのロードと類似しています。デリミタや囲み文字を検出または選択する必要はありません。

XLSXファイルをロードするには、次の手順に従います。

  1. ワークスペースホームページで、「SQLワークショップ」アイコンをクリックします。
  2. 「ユーティリティ」をクリックします。
  3. 「データ・ワークショップ」をクリックします。
  4. 「データのロード」をクリックします。
  5. 「ファイルのアップロード」で、「ファイルの選択」をクリックします。
  6. 適切なXLSXファイルを選択します。

    ノート:

    アップロードされたXLSXファイルに複数のワークシートが含まれている場合は、データのロード・ウィザードにより、デフォルトで最初のシートが選択されます。別のシートをロードするには、「シートの選択」選択リストから選択します。「最初の行にヘッダーが含まれる」チェック・ボックスは、CSVファイルと同様に動作します。「構成」ダイアログの動作は、CSVファイルの場合と同じです。XLSXファイルのアップロードでは、それぞれのファイルが20MBに制限されます。
  7. 「表へのロード」で、次の項目を編集します。
    1. 表の所有者 - 表を作成してデータをロードするデータベース・スキーマを選択します。
    2. 表名: 作成する表の名前を指定します。デフォルトでは、表の名前はすべて大文字に変換されます。
    3. エラー表名 - データのロード中のエラーを保存するエラー表名を指定します。

      ノート:

      デフォルトでは、表の名前はすべて大文字に変換されます。エラーが発生せずにデータのロードが成功した場合は、このエラー表が自動的に削除されます。
    4. 主キー - 主キーを設定する方法を選択します(Oracle Database 12c以降)。主キーは、SYS_GUIDまたは「ID列」を使用して設定できます。
      SYS_GUIDを指定すると、グローバル一意識別子が生成されて返されます。多くのプラットフォームでは、この生成された識別子は、ホスト識別子、ファンクションをコールするプロセスやスレッドのプロセス識別子またはスレッド識別子、および非反復値(バイトの順序)に基づいています。SYS_GUIDは、より多くの領域を消費しますが予測できません。「ID列」はコンパクトですが予測可能です
    5. 列のデータ型の使用 - ファイルから解析された列タイプを使用する場合に選択します。選択しない場合、表の列はVARCHAR2(4000)として作成されます。
  8. 完全なプレビューを表示するには、データのロード設定を構成し、ロードする列を設定して、「構成」をクリックします。
    適切に変更を行い、「変更の保存」をクリックします。
  9. 「データのロード」をクリックします。

    データのロードが終了すると、成功のメッセージが表示されます。一部の行をターゲット表にロードできない場合、それらはエラー表に格納され、エラー表が表示されます。

5.1.6 データのアンロード

「データのアンロード」ページを使用して、表のコンテンツをテキスト・ファイルまたはXML文書にエクスポートします。

5.1.6.1 テキスト・ファイルのアンロード

データのアンロード・ウィザードを使用して、表のコンテンツをテキスト・ファイルにエクスポートします。

たとえば、表全体をカンマ区切りファイル(.csv)にエクスポートできます。

表をテキスト・ファイルにアンロードするには:

  1. ワークスペースホームページで、「SQLワークショップ」アイコンをクリックします。
  2. 「ユーティリティ」をクリックします。
  3. 「データ・ワークショップ」をクリックします。
  4. 「はじめに」で、「データのアンロード」をクリックします。

    データのアンロード・ウィザードが表示されます。

  5. 「テキスト形式」を選択して、「次」をクリックします。

    「テキストへのアンロード - 列」が表示されます。

  6. 「テキストへのアンロード - 列」で、次の項目を編集します。
    1. スキーマ - エクスポートするオブジェクトを所有するデータベース・スキーマを選択します。
    2. 表 - プレーン・テキスト形式でエクスポートするデータベース表を選択します。
    3. 列 - このプレーン・テキスト・ファイルに含める列をハイライトします。アンロードがサポートされているのは、BLOBおよびBFILEを除くOracle組込みデータ型のみです。
    4. WHERE句 - SQLのWHERE句を入力して、選択される行を制限します。たとえば、DEPTNO = 10です。
    5. 「次へ」をクリックします。
  7. 「オプション」に次を入力します。
    1. セパレータ - 各行で列値を区切るために使用するセパレータのタイプを指定します。デフォルト値はカンマ(,)です。タブを列のセパレータとして使用するには、バックスラッシュの後に文字tを入力します。
    2. 囲み文字(オプション) - このオプションは、列内のテキスト文字列の識別方法を指定するために使用します。一重引用符または二重引用符を指定できます。
    3. 列名を含める - テキスト・ファイルの各列の名前を含める場合は、このボックスを選択します。
    4. ファイル形式 - 「DOS」を選択すると、生成されるファイルの行がキャリッジ・リターンおよび改行で終了します。「UNIX」を選択すると、生成されるファイルの行が改行で終了します。
    5. ファイルの文字セット - エクスポート・ファイルをエンコードする文字セットを選択します。
  8. 「データのアンロード」をクリックします。

    ファイルがダウンロードされます。

5.1.6.2 XML文書へのアンロード

データのアンロード・ウィザードを使用して、表のコンテンツを標準XML仕様に準拠したXML文書にエクスポートします。

表をXML文書にアンロードするには:

  1. ワークスペースのホームページで「ユーティリティ」アイコンをクリックします。
  2. 「データ・ワークショップ」をクリックします。
  3. 「はじめに」で、「データのアンロード」をクリックします。

    データのアンロード・ウィザードが表示されます。

  4. 「XML形式」を選択して、「次」をクリックします。

    「XMLへのアンロード - 列」が表示されます。

  5. 「XMLへのアンロード - 列」で、次の項目を編集します。
    1. 表の所有者 - エクスポートするオブジェクトを所有するデータベース・スキーマを選択します。
    2. 表 - XMLファイル形式にエクスポートするデータベース・オブジェクト名を選択します。
    3. 列 - XML文書にエクスポートするデータベース・オブジェクト列をハイライトします。
    4. WHERE句 - SQLのWHERE句を入力して、選択される行を制限します。たとえば、DEPTNO = 10です。
    5. 「次へ」をクリックします。
  6. 「データのアンロード」をクリックします。

    ファイルがダウンロードされます。