デフォルト: デフォルト値は設定されていません。
用途
構文および説明
EXCLUDE=object_type[:name_clause] [, ...]
object_typeは除外するオブジェクトのタイプを指定します。DATABASE_EXPORT_OBJECTS(全体モードの場合)、SCHEMA_EXPORT_OBJECTS(スキーマ・モードの場合)、TABLE_EXPORT_OBJECTS(表および表領域モードの場合)ビューを問い合せて、object_typeの有効な値の一覧を表示できます。OBJECT_PATH列にリストされる値が有効なオブジェクト・タイプです。(このような問合せの実行方法の例は、「メタデータのフィルタ」を参照してください。)
指定したインポート・モードでは、EXCLUDE文に指定されたオブジェクト型を除き、ソースに含まれるすべてのオブジェクト型およびその依存オブジェクトが含まれます。オブジェクトが除外されると、そのオブジェクトのすべての依存オブジェクトも除外されます。たとえば、表を除外すると、その表のすべての索引およびトリガーも除外されます。
name_clauseは、オプションです。これを使用すると、あるオブジェクト型のうち、特定のオブジェクトをファイングレイン選択できます。その型のオブジェクト名に対するフィルタとして使用されるSQL式です。SQL演算子および指定した型のオブジェクト名の比較対象となる値で構成されています。name_clauseは、名前付きのインスタンスを持つオブジェクト型にのみ適用されます(たとえば、TABLEおよびVIEWには適用されますが、GRANTには適用されません)。それは、コロンでオブジェクト型と区切り、二重引用符(一重引用符は名前文字列を区切るために必要なため)で囲む必要があります。たとえば、EXCLUDE=INDEX:"LIKE 'DEPT%'"と設定した場合、deptで始まる名前を持つすべての索引を除外できます。
name_clauseに指定する名前は、データベース内の既存のオブジェクトに、大文字と小文字も含めて完全に一致させる必要があります。たとえば、指定するname_clauseがEMPLOYEESという表に対するものだった場合は、すべてが大文字のEMPLOYEESという表が存在する必要があります。name_clauseに対してEmployees、employeesなどを指定した場合、表は検出されません。
2つ以上のEXCLUDE文を指定できます。
オペレーティング・システムによっては、このパラメータの値を指定するときに引用符とともにエスケープ文字を使用する必要があります。このパラメータはパラメータ・ファイルで指定することをお薦めします。パラメータ・ファイルを使用すると、コマンドラインでは必要なエスケープ文字の数を減らすことができます。
次の項で説明するとおり、特定のオブジェクト(特にCONSTRAINT、GRANTおよびUSER)を除外対象として指定した場合の効果を認識しておく必要があります。
制約の除外
次の制約は除外できません。
表の作成とロードを正常に行うために必要な制約。たとえば、索引構成表の主キー制約、REF列を持つ表のREF SCOPEおよびWITH ROWID制約など。
次に、EXCLUDE文の例およびその解釈を示します。
EXCLUDE=CONSTRAINTでは、表の正常な作成およびロードに必要な制約を除く、すべての制約を除外します。
EXCLUDE=REF_CONSTRAINTは、参照整合性(外部キー)制約を除外します。
権限とユーザーの除外
EXCLUDE=GRANTを指定すると、すべてのオブジェクト型に対するオブジェクト権限およびシステム権限が除外されます。
EXCLUDE=USERを指定すると、ユーザーの定義のみが除外され、そのユーザーのスキーマ内のオブジェクトは除外されません。
特定のユーザーとそのユーザーのすべてのオブジェクトを除外するには、次のコマンドを指定します(hrは除外するユーザーのスキーマ名です)。
impdp FULL=YES DUMPFILE=expfull.dmp EXCLUDE=SCHEMA:"='HR'"
ここで、インポート・モードがFULLに指定されていることに注意してください。モードを指定しなかった場合は、デフォルト・モードのSCHEMASが使用されます。その場合は、スキーマをインポートすると同時に除外するようコマンドが指示することになるため、エラーが発生します。
EXCLUDE=USER:"= 'HR'"などの文を使用してユーザーを除外しようとすると、DDL文CREATE USER hr のみが除外され、期待した結果が得られない場合があります。
制限事項
EXCLUDEおよびINCLUDEは、相互に排他的なパラメータです。
例
DBAまたはDATAPUMP_IMP_FULL_DATABASEロールを持つ他のユーザーが、パラメータ・ファイルexclude.parで次のように実行するとします。(例を実行するには、まずこのファイルを作成する必要があります。)
EXCLUDE=FUNCTION EXCLUDE=PROCEDURE EXCLUDE=PACKAGE EXCLUDE=INDEX:"LIKE 'EMP%' "
次のコマンドを発行します。このコマンドでは、ExportのFULLパラメータで示した例を実行して、expfull.dmpダンプ・ファイルを作成できます。「FULL」を参照してください。
> impdp system DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp PARFILE=exclude.par
expfull.dmpダンプ・ファイルから、empで始まる名前を持つファンクション、プロシージャ、パッケージおよび索引を除くすべてのデータがロードされます。