expdpの応用

expdbユーティリティの主なパラメータ

FULL={y | n}
全体データベース・モード・エクスポートの実行を指定する。
SCHEMAS=schema_name [, …]
スキーマ・モード・エクスポートの実行を指定する。
TABLES=[schema_name.]table_name[:partition_name] [, …]
表モード・エクスポートの実行を指定する。
TABLESPACES=tablespace_name [, …]
表領域モードでエクスポートされる表領域名のリストを指定する。
PARFILE=[directory_path]file_name
エクスポート・パラメータ・ファイルの名前を指定を指定する。
DIRECTORY=directory_object
expdpによるダンプ・ファイル・セットおよびログ・ファイルのデフォルトの書込み先を指定する。
DUMPFILE=[directory_object:]file_name [, …]
ダンプファイルの名前を指定する。
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
expdpでアンロードする内容をフィルタ処理できる。
INCLUDE = object_type[:name_clause] [, …]
特定のオブジェクト・タイプを指定する。
EXCLUDE=object_type[:name_clause] [, …]
エクスポート操作から除外するオブジェクトおよびオブジェクト型を指定して、エクスポートの対象となるメタデータをフィルタ処理できる。
QUERY = [schema.][table_name:] query_clause
SQLのSELECT文に句を指定して、エクスポート対象のデータをフィルタ処理できる。
NETWORK_LINK=source_database_link
有効なデータベース・リンクによって指定される(ソース)データベースからのエクスポートを使用可能にする。

expdbユーティリティの応用

FULLデータベースのエクスポート
  • 各ダンプファイルの最大サイズは100MB。ダンプファイル名はexp_full_prod_{00-99).dmpの形。
  • ログファイルはexp_full_prod.log。
  • ジョブ名はexp_full_prod。
  • 並行度2でエクスポート。
  • ブロック数で各表に使用されるディスク領域(バイト単位)を見積もる
expdp system/oracle FULL=y DIRECTORY=DATAPUMP_DIR DUMPFILE=exp_full_prod_%U.dmp LOGFILE=exp_full_prod.log         
    JOB_NAME=exp_full_prod ESTIMATE=BLOCKS PARALLEL=2

実行結果
[datapump_dir oracle()] ls -l
total 16640
-rw-r-----  1 oracle oinstall 16592896 Jun  6 23:44 exp_full_prod_01.dmp
-rw-r-----  1 oracle oinstall   405504 Jun  6 23:44 exp_full_prod_02.dmp
-rw-r--r--  1 oracle oinstall    15967 Jun  6 23:44 exp_full_prod.log
特定スキーマのエクスポート
  • パラメータファイルexp_prod_tom.parを使用
  • スキーマTOMをエクスポート
  • GEN_PARTITION_DATA表を除外

パラメータファイルexp_prod_tom.parの定義

DIRECTORY=DATAPUMP_DIR
DUMPFILE=exp_prod_tom.dmp
LOGFILE=exp_prod_tom.log
SCHEMAS=TOM
EXCLUDE=TABLE:"='GEN_PARTITION_DATA'"

expdpの実行
[work oracle(PROD)] expdp system/oracle PARFILE=exp_prod_tom.par

Export: Release 10.2.0.2.0 - Production on 日曜日, 07 6月, 2009 1:34:44

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

接続先: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
"SYSTEM"."SYS_EXPORT_SCHEMA_01"を起動しています: system/******** PARFILE=exp_prod_tom.par
BLOCKSメソッドを使用して見積り中です...
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です
BLOCKSメソッドを使用した見積り合計: 20 MB
オブジェクト型SCHEMA_EXPORT/USERの処理中です
オブジェクト型SCHEMA_EXPORT/SYSTEM_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/DEFAULT_ROLEの処理中です
オブジェクト型SCHEMA_EXPORT/TABLESPACE_QUOTAの処理中です
オブジェクト型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/INDEX/INDEXの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P1"         600.6 KB   12603行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P2"         1.155 MB   24956行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P3"         1.167 MB   25209行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P4"         1.152 MB   24890行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P5"         588.3 KB   12342行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART01"   883.3 KB   18648行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART02"   887.2 KB   18655行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART03"   980.7 KB   20677行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART04"   949.9 KB   20010行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART05"   1.022 MB   22010行がエクスポートされました
マスター表"SYSTEM"."SYS_EXPORT_SCHEMA_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_SCHEMA_01に設定されたダンプ・ファイルは次のとおりです:
  /u01/app/oracle/datapump_dir/exp_prod_tom.dmp
ジョブ"SYSTEM"."SYS_EXPORT_SCHEMA_01"が01:35:03で正常に完了しました
特定表のエクスポート
  • TOM.TAB_RANGE_PARTとTOM.TAB_HASH_PARTのパーティションTAB_HASH_P3をエクスポート
  • 各表からBOOK_TYPE='RAC'のデータのみを抽出する。

パラメータファイルexpdp.par

[work oracle(PROD)] cat expdp.par
DIRECTORY=DATAPUMP_DIR
DUMPFILE=exp_prod_tab.dmp
LOGFILE=exp_prod_tab.log
TABLES=TOM.TAB_RANGE_PART,TOM.TAB_HASH_PART:TAB_HASH_P3
QUERY="WHERE BOOK_TYPE='RAC'"
[work oracle(PROD)]

実行結果
[work oracle(PROD)] expdp system/oracle PARFILE=expdp.par

Export: Release 10.2.0.2.0 - Production on 日曜日, 07 6月, 2009 2:15:57

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

接続先: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
"SYSTEM"."SYS_EXPORT_TABLE_01"を起動しています: system/******** PARFILE=expdp.par
BLOCKSメソッドを使用して見積り中です...
オブジェクト型TABLE_EXPORT/TABLE/TABLE_DATAの処理中です
BLOCKSメソッドを使用した見積り合計: 12 MB
オブジェクト型TABLE_EXPORT/TABLE/TABLEの処理中です
オブジェクト型TABLE_EXPORT/TABLE/INDEX/INDEXの処理中です
オブジェクト型TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSの処理中です
オブジェクト型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P3"         119.7 KB    2475行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART01"   97.96 KB    1998行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART02"   98.00 KB    1999行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART03"   98.09 KB    2001行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART04"   98.09 KB    2001行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART05"   98.09 KB    2001行がエクスポートされました
マスター表"SYSTEM"."SYS_EXPORT_TABLE_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_TABLE_01に設定されたダンプ・ファイルは次のとおりです:
  /u01/app/oracle/datapump_dir/exp_prod_tab.dmp
ジョブ"SYSTEM"."SYS_EXPORT_TABLE_01"が02:16:13で正常に完了しました
特定表領域の表をエクスポート
  • 表領域USERS,PART03の表をエクスポート
  • 各表の50%のデータをエクスポート
[work oracle(PROD)] expdp system/oracle@prod TABLESPACES=USERS,PART03 DIRECTORY=DATAPUMP_DIR DUMPFILE=exp_tbs.dmp
        LOGFILE=exp_tbs.log JOB_NAME=exp_tbs SAMPLE=50

Export: Release 10.2.0.2.0 - Production on 日曜日, 07 6月, 2009 2:30:09

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

接続先: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
"SYSTEM"."EXP_TBS"を起動しています: system/********@prod TABLESPACES=USERS,PART03 
DIRECTORY=DATAPUMP_DIR DUMPFILE=exp_tbs.dmp LOGFILE=exp_tbs.log JOB_NAME=exp_tbs SAMPLE=50
BLOCKSメソッドを使用して見積り中です...
オブジェクト型TABLE_EXPORT/TABLE/TABLE_DATAの処理中です
BLOCKSメソッドを使用した見積り合計: 21 MB
オブジェクト型TABLE_EXPORT/TABLE/TABLEの処理中です
オブジェクト型TABLE_EXPORT/TABLE/INDEX/INDEXの処理中です
オブジェクト型TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSの処理中です
オブジェクト型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P1"         301.1 KB    6254行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P2"         601.3 KB   12620行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P3"         599.0 KB   12557行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P4"         594.1 KB   12467行がエクスポートされました
. . "TOM"."TAB_HASH_PART":"TAB_HASH_P5"         293.7 KB    6095行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART01"   444.5 KB    9317行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART02"   441.5 KB    9218行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART03"   492.4 KB   10315行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART04"   474.0 KB    9917行がエクスポートされました
. . "TOM"."TAB_RANGE_PART":"TAB_RANGE_PART05"   526.9 KB   11013行がエクスポートされました
. . "TOM"."TEST"                                419.7 KB    4749行がエクスポートされました
マスター表"SYSTEM"."EXP_TBS"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.EXP_TBSに設定されたダンプ・ファイルは次のとおりです:
  /u01/app/oracle/datapump_dir/exp_tbs.dmp
ジョブ"SYSTEM"."EXP_TBS"が02:30:25で正常に完了しました

[work oracle(PROD)]

補足:
  • 表領域には表が無ければ、「ORA-39167: 表領域USERSが見つかりません。」エラーが発生する。
  • 指定した表領域内に存在する表のみがアンロードされる。
  • 表がアンロードされると、その表の依存オブジェクトもアンロードされる。
  • 指定した表領域内に表の一部が存在する場合、その表とその表のすべての依存オブジェクトがエクスポートされる。
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License