プライマリ・コンテンツに移動
Oracle® Databaseユーティリティ
12cリリース1 (12.1.0.2)
B71303-09
目次へ移動
目次
索引へ移動
索引

前
次

LONGおよびLONG RAWデータ型のアンロード

ORACLE_DATAPUMPアクセス・ドライバは、LONG列およびLONG RAW列のアンロードに使用できますが、データはLOBフィールドにのみ再ロードできます。次の手順は、LONGおよびLONG RAWデータ型のアンロードの例を示します。

  1. アンロードする表にLONG列またはLONG RAW列が含まれる場合、外部表の対応する列を、LONG列に対してはCLOBを、LONG RAW列に対してはBLOBを定義します。
    SQL> CREATE TABLE long_tab
      2  (
      3    key                   SMALLINT,
      4    description           LONG
      5  );
    
    Table created.
    
    SQL> INSERT INTO long_tab VALUES (1, 'Description Text');
    
    1 row created.
    
  2. これで、LONG列からのデータを含めたCLOB列を含む外部表を作成できます。外部表をロードするときには、LONG列をCLOBに変換するためにTO_LOB演算子が使用されます。
    SQL> CREATE TABLE long_tab_xt
      2  ORGANIZATION EXTERNAL
      3  (
      4    TYPE ORACLE_DATAPUMP
      5    DEFAULT DIRECTORY def_dir1
      6    LOCATION ('long_tab_xt.dmp')
      7  )
      8  AS SELECT key, TO_LOB(description) description FROM long_tab;
    
    Table created.
    
  3. 外部表のデータを使用して、アンロードされている表と同じ表を別に作成できますが、作成した表にはLONG列のかわりにLOB列が含まれます。
    SQL> CREATE TABLE lob_tab
      2  AS SELECT * from long_tab_xt;
    
    Table created.
    
  4. 表が正しく作成されたことを確認します。
    SQL> SELECT * FROM lob_tab;
    
           KEY  DESCRIPTION
    ----------------------------------------------------------------------------
             1  Description Text