デフォルト: デフォルト値は設定されていません。
用途
インポート中のオブジェクトに対するオブジェクト作成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 DEFERRED
かSEGMENT 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
を指定すると、表圧縮句は省略されます(その表の表領域にはデフォルトの圧縮が使用されます)。それ以外の場合、その値が有効な表圧縮句です(NOCOMPRESS
、COMPRESS 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