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

前
次

TRANSFORM

デフォルト: デフォルト値は設定されていません。

用途

インポート中のオブジェクトに対するオブジェクト作成DDLを変更できます。

構文および説明

TRANSFORM = transform_name:value[:object_type]

transform_nameには、変換の名前を指定します。使用可能なオプションは、次のとおりです(アルファベット順に記載)。

  • DISABLE_ARCHIVE_LOGGING:[Y | N]

    Yに設定すると、データがインポートされる前に、指定したオブジェクト型(TABLEまたはINDEX、あるいはその両方)のロギング属性が無効になります。Nに設定すると(デフォルト)、アーカイブ・ロギングはインポート中に無効になりません。データがロードされた後に、オブジェクトのロギング属性は元の設定に戻されます。オブジェクト型を指定しない場合、DISABLE_ARCHIVE_LOGGINGの動作は、TABLEとINDEXの両方のオブジェクト型に適用されます。この変換は、ファイル・モード・インポートとネットワーク・モード・インポートの両方で動作します。これは、トランスポータブル表領域インポートには適用されません。

    注意:

    データベースがFORCE LOGGINGモードである場合、索引および表の作成時にDISABLE_ARCHIVE_LOGGINGオプションではロギングは無効になりません。

  • INMEMORY:[Y | N]

    INMEMORY変換は、インメモリー列ストア(IM列ストア)に関連があります。IM列ストアは、表、表パーティションおよびその他のデータベース・オブジェクトのコピーを格納するSystem Global Area(SGA)のオプションの部分です。IM列ストアはSGAの一部であるため、データは行ではなく、列によって移入されます。データは高速スキャンで最適化されます。IM列ストアでは、バッファ・キャッシュは置換しませんが、両方のメモリー領域において同じデータを異なる形式で格納するための補足としての役割を果たします。IM列ストアは、Oracle Databaseインメモリー・オプションに含まれています。

    インポートでY (デフォルト値)が指定されている場合、データ・ポンプは、IM列ストア句を含むすべてのオブジェクトに対してIM列ストア句を保持します。これらのオブジェクトがインポート時に再作成されると、データ・ポンプは、エクスポート時にこれらのオブジェクトの設定と一致するIM列ストア句を生成します。

    インポートでNが指定されている場合、データ・ポンプは、IM列ストア句を含むすべてのオブジェクトからIM列ストア句を削除します。表領域に格納されているオブジェクトにIM列ストア句がない場合、オブジェクトは表領域からIM列ストア句を継承します。したがって、データベースを移行していて、IM列ストア機能を使用する新しいデータベースが必要な場合、適切なIM列ストア句を持つ表領域を事前に作成できます。その後、インポート・コマンドでTRANSFORM=INMEMORY:Nを使用します。オブジェクトは、事前に作成済の新しい表領域からIM列ストア句を継承します。

    INMEMORY変換を使用しない場合、すべてのオブジェクトを個別に変更して、適切なIM列ストア句を追加する必要があります。

    注意:

    INMEMORY変換は、Oracle Database 12cリリース1 (12.1.0.2)以降でのみ使用可能です。

    関連項目:

    • インメモリー列ストア(IM列ストア)の使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

  • INMEMORY_CLAUSE:"string with a valid in-memory parameter"

    INMEMORY_CLAUSE変換は、インメモリー列ストア(IM列ストア)に関連があります。IM列ストアは、表、表パーティションおよびその他のデータベース・オブジェクトのコピーを格納するSystem Global Area(SGA)のオプションの部分です。IM列ストアはSGAの一部であるため、データは行ではなく、列によって移入されます。データは高速スキャンで最適化されます。IM列ストアでは、バッファ・キャッシュは置換しませんが、両方のメモリー領域において同じデータを異なる形式で格納するための補足としての役割を果たします。IM列ストアは、Oracle Databaseインメモリー・オプションに含まれています。

    この変換を指定すると、データ・ポンプは、DDL内にIM列ストア句が含まれる、インポート対象のすべてのオブジェクトに対して、文字列の内容をINMEMORY_CLAUSEとして使用します。この変換は、ダンプ・ファイルのオブジェクトに対してIM列ストア句を優先させる必要がある場合に有効です。

    注意:

    INMEMORY_CLAUSE変換は、Oracle Database 12cリリース1 (12.1.0.2)以降でのみ使用可能です。

    関連項目:

    • インメモリー列ストア(IM列ストア)の使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

    • IM列ストア句で指定できるパラメータのリストおよび詳細は、『Oracle Databaseリファレンス』を参照してください。

  • LOB_STORAGE:[SECUREFILE | BASICFILE | DEFAULT | NO_CHANGE]

    指定した記憶域(SECUREFILEまたはBASICFILE)で、LOBセグメントが作成されます。値がNO_CHANGE (デフォルト)の場合、LOBセグメントは、ソース・データベースに存在するものと同じ記憶域に作成されます。値がDEFAULTの場合、キーワード(SECUREFILEまたはBASICFILE)は省略され、LOBセグメントはデフォルト記憶域に作成されます。

    この変換を指定すると、マテリアライズド・ビューに記憶域を提供する表を含め、ジョブのすべての表のLOB記憶域が変更されます。

    LOB_STORAGEの変換は、トランスポータブル・インポート・ジョブでは無効です。

  • OID:[Y | N]

    インポート時にY(デフォルト値)を指定した場合、エクスポートされたOIDが、新しいオブジェクト表およびオブジェクト型に割り当てられます。データ・ポンプでは、ターゲット・データベース上で、一致する既存の型を検出する際にOIDの確認も行います。

    インポート時にNを指定した場合、次が実行されます。

    • エクスポートされたOIDは、新しいオブジェクト表とオブジェクト型の作成で割り当てられません。かわりに、新しいOIDが割り当てられます。これは、スキーマのクローニングに有効ですが、参照オブジェクトには影響しません。

    • 型に関連付けされた表にデータをロードする前に、データ・ポンプで、ターゲット・データベース上に既存の一致する型を検出する際、標準の型のOIDチェックをスキップします。型のハッシュ・コード、バージョン番号、型名によるその他のチェックは実行されます。

  • PCTSPACE:some_number_greater_than_zero

    この変換のには、0より大きい数字を指定する必要があります。この値は、エクステントの割当てとデータ・ファイル・サイズの変更に使用する、割合の乗数を表します。

    なお、このPCTSPACE変換とデータ・ポンプ・エクスポートのSAMPLEパラメータを組み合せて使用すると、記憶域の割当てサイズを、サンプリングされたデータ・サブセットに合わせることができます。(「SAMPLE」を参照してください。)

  • SEGMENT_ATTRIBUTES:[Y | N]

    値をYに指定すると、適切なDDLにセグメント属性(物理属性、記憶域属性、表領域およびロギング)が指定されます。デフォルトはYです。

  • SEGMENT_CREATION:[Y | N]

    Y (デフォルト)に設定した場合、この変換によってSQL SEGMENT CREATION句がCREATE TABLE文に追加されます。つまり、CREATE TABLE文でSEGMENT CREATION DEFERREDSEGMENT CREATION IMMEDIATEのいずれかが明示的に表現されます。値がNの場合、SEGMENT CREATION句はCREATE TABLE文から省略されます。ロードされる表に対してデフォルトのセグメント作成属性を使用するには、このパラメータをNに設定します。(この機能はOracle Database 11gリリース2(11.2.0.2)から使用できます。)

  • STORAGE:[Y | N]

    値をYに指定すると、適切なDDLにSTORAGE句が指定されます。デフォルトはYです。SEGMENT_ATTRIBUTES=Nの場合、このパラメータは無視されます。

  • TABLE_COMPRESSION_CLAUSE:[NONE | compression_clause]

    NONEを指定すると、表圧縮句は省略されます(その表の表領域にはデフォルトの圧縮が使用されます)。それ以外の場合、その値が有効な表圧縮句です(NOCOMPRESSCOMPRESS BASICなど)。指定した圧縮を使用して表が作成されます。有効な表圧縮構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

    表圧縮句が複数の語の場合、一重引用符または二重引用符で囲む必要があります。

    表圧縮句が複数の語の場合、一重引用符または二重引用符で囲む必要があります。さらに、ご使用のオペレーティング・システムの要件によっては、句をエスケープ文字(バックスラッシュ文字など)で囲む必要がある場合があります。次に例を示します。

    TRANSFORM=TABLE_COMPRESSION_CLAUSE:\"COLUMN STORE COMPRESS FOR QUERY HIGH\"

    この変換を指定すると、マテリアライズド・ビューに記憶域を提供する表を含め、ジョブのすべての表の圧縮タイプが変更されます。

object_typeの指定はオプションです。このオプションで、変換が適用されるオブジェクト型を指定します。オブジェクト型を指定しなかった場合、変換はすべての有効なオブジェクト型に適用されます。表3-1に、変換ごとの有効なオブジェクト型を示します。

表3-1 データ・ポンプ・インポートのTRANSFORMパラメータの有効なオブジェクト型

- CLUSTER CONSTRAINT INC_TYPE INDEX ROLLBACK_SEGMENT TABLE TABLESPACE TYPE

DISABLE_ARCHIVE_LOGGING

なし

なし

なし

あり

なし

あり

なし

なし

INMEMORY_

なし

なし

なし

なし

なし

あり

あり

なし

INMEMORY_CLAUSE

なし

なし

なし

なし

なし

あり

あり

なし

LOB_STORAGE

なし

なし

なし

なし

なし

あり

なし

なし

OID

なし

なし

あり

なし

なし

あり

なし

あり

PCTSPACE

あり

あり

なし

あり

あり

あり

あり

なし

SEGMENT_ATTRIBUTES

あり

あり

なし

あり

あり

あり

あり

なし

SEGMENT_CREATION

なし

なし

なし

なし

なし

あり

なし

なし

STORAGE

あり

あり

なし

あり

あり

あり

なし

なし

TABLE_COMPRESSION_CLAUSE

なし

なし

なし

なし

なし

あり

なし

なし

次の例では、hrスキーマのemployees表をエクスポートしたとします。表をインポートした結果返されるSQL CREATE TABLE文は、次のようになります。

CREATE TABLE "HR"."EMPLOYEES" 
   ( "EMPLOYEE_ID" NUMBER(6,0), 
     "FIRST_NAME" VARCHAR2(20), 
     "LAST_NAME" VARCHAR2(25) CONSTRAINT "EMP_LAST_NAME_NN" NOT NULL ENABLE, 
     "EMAIL" VARCHAR2(25) CONSTRAINT "EMP_EMAIL_NN" NOT NULL ENABLE, 
     "PHONE_NUMBER" VARCHAR2(20), 
     "HIRE_DATE" DATE CONSTRAINT "EMP_HIRE_DATE_NN" NOT NULL ENABLE, 
     "JOB_ID" VARCHAR2(10) CONSTRAINT "EMP_JOB_NN" NOT NULL ENABLE, 
     "SALARY" NUMBER(8,2), 
     "COMMISSION_PCT" NUMBER(2,2), 
     "MANAGER_ID" NUMBER(6,0), 
     "DEPARTMENT_ID" NUMBER(4,0)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 10240 NEXT 16384 MINEXTENTS 1 MAXEXTENTS 121
  PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM" ;

STORAGE句またはTABLESPACE句は、保持しない場合、インポート・ユーティリティのTRANSFORMパラメータを使用してCREATE STATEMENTから削除できます。SEGMENT_ATTRIBUTESの値をNに指定します。これによって、セグメント属性(記憶域と表領域の両方)が表から除外されます。

> impdp hr TABLES=hr.employees DIRECTORY=dpump_dir1 DUMPFILE=hr_emp.dmp
  TRANSFORM=SEGMENT_ATTRIBUTES:N:table

この結果返される、employees表のCREATE TABLE文は次のようになります。STORAGEまたはTABLESPACE句は含まれていません。かわりに、HRスキーマのデフォルト表領域が使用されます。

CREATE TABLE "HR"."EMPLOYEES" 
   ( "EMPLOYEE_ID" NUMBER(6,0), 
     "FIRST_NAME" VARCHAR2(20), 
     "LAST_NAME" VARCHAR2(25) CONSTRAINT "EMP_LAST_NAME_NN" NOT NULL ENABLE, 
     "EMAIL" VARCHAR2(25) CONSTRAINT "EMP_EMAIL_NN" NOT NULL ENABLE, 
     "PHONE_NUMBER" VARCHAR2(20), 
     "HIRE_DATE" DATE CONSTRAINT "EMP_HIRE_DATE_NN" NOT NULL ENABLE, 
     "JOB_ID" VARCHAR2(10) CONSTRAINT "EMP_JOB_NN" NOT NULL ENABLE, 
     "SALARY" NUMBER(8,2), 
     "COMMISSION_PCT" NUMBER(2,2), 
     "MANAGER_ID" NUMBER(6,0), 
     "DEPARTMENT_ID" NUMBER(4,0)
   );

前述の例で示したとおり、SEGMENT_ATTRIBUTES変換は、記憶域と表領域の両方の属性に適用されます。STORAGE句のみを省略して、TABLESPACE句を保持する場合は、STORAGE変換を次のように使用できます。

> impdp hr TABLES=hr.employees DIRECTORY=dpump_dir1 DUMPFILE=hr_emp.dmp
  TRANSFORM=STORAGE:N:table

SEGMENT_ATTRIBUTESおよびSTORAGE変換は、次のコマンドに示すとおり、TRANSFORMパラメータにオブジェクト型を指定しないことによって、すべての適用可能な表オブジェクトおよび索引オブジェクトに適用できます。

> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp SCHEMAS=hr TRANSFORM=SEGMENT_ATTRIBUTES:N