「Oracle Database10g Data Pump」の版間の差分
ナビゲーションに移動
検索に移動
1行目: | 1行目: | ||
− | ==Oracle Database10g Data Pump== | + | ==[[Oracle Database10g Data Pump]]== |
[[Oracle]] | [[Oracle Database10g]] | | [[Oracle]] | [[Oracle Database10g]] | | ||
{{amazon|479810910X}} | {{amazon|479810910X}} | ||
− | + | [http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19211-01/dp_overview.html#1367 Oracle Data Pump]概要 | |
− | *Oracle Data Pumpを使用すると、データおよびメタデータをデータベース間で非常に高速に移動できます。 | + | *[[Oracle]] Data Pumpを使用すると、データおよびメタデータをデータベース間で非常に高速に移動できます。 |
− | *Oracle Database 10g R1 以降でのみ使用できる。 | + | *Oracle [[Database]] 10g R1 以降でのみ使用できる。 |
===構成要素=== | ===構成要素=== | ||
====コマンドライン・クライアント==== | ====コマンドライン・クライアント==== | ||
21行目: | 21行目: | ||
*オリジナルのエクスポート・ユーティリティ(exp)およびインポート・ユーティリティ(imp)とほぼ同じユーザー・インタフェースが提供される | *オリジナルのエクスポート・ユーティリティ(exp)およびインポート・ユーティリティ(imp)とほぼ同じユーザー・インタフェースが提供される | ||
− | ====PL/ | + | ====PL/[[SQL]]パッケージ==== |
*DBMS_DATAPUMP(Data Pump APIとも呼ばれます) | *DBMS_DATAPUMP(Data Pump APIとも呼ばれます) | ||
*DBMS_METADATA(メタデータAPIとも呼ばれます) | *DBMS_METADATA(メタデータAPIとも呼ばれます) | ||
====[http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19211-01/dp_overview.html#3819 ディレクトリ・オブジェクト]==== | ====[http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19211-01/dp_overview.html#3819 ディレクトリ・オブジェクト]==== | ||
− | *Data | + | *Data Pumpは、クライアント・ベースではなく、サーバー・ベースであるため、ダンプ・ファイル、ログ・ファイルおよび[[SQL]]ファイルには、サーバー・ベースのディレクトリ・パスを基準としてアクセスします |
*Data Pumpでは、ディレクトリ・パスをディレクトリ・オブジェクトとして指定する必要があります | *Data Pumpでは、ディレクトリ・パスをディレクトリ・オブジェクトとして指定する必要があります | ||
*ディレクトリ・オブジェクトは、ファイル・システムのディレクトリ・パスに名前をマップします | *ディレクトリ・オブジェクトは、ファイル・システムのディレクトリ・パスに名前をマップします | ||
− | * | + | *C[[R]]EATE ANY DI[[R]]ECTO[[R]]Y権限を持つユーザーがディレクトリ・オブジェクトを作成する必要があります |
=====ディレクトリ・オブジェクトを作成===== | =====ディレクトリ・オブジェクトを作成===== | ||
*ディレクトリ /home/oracle/dpump にマップされるディレクトリ・オブジェクト dpump_dir1を作成する | *ディレクトリ /home/oracle/dpump にマップされるディレクトリ・オブジェクト dpump_dir1を作成する | ||
− | SQL> create directory dpump_dir1 as '/home/oracle/dpump'; | + | [[SQL]]> create directory dpump_dir1 as '/home/oracle/dpump'; |
Directory created. | Directory created. | ||
*出力するスキーマーのユーザに書き込み権限を与えておく | *出力するスキーマーのユーザに書き込み権限を与えておく | ||
− | SQL> grant read,write on directory dpump_dir1 to exam; | + | [[SQL]]> grant read,write on directory dpump_dir1 to exam; |
Grant succeeded. | Grant succeeded. | ||
68行目: | 68行目: | ||
|トランスポータブル表領域モード | |トランスポータブル表領域モード | ||
|TRANSPORT_TABLESPACES | |TRANSPORT_TABLESPACES | ||
− | | | + | |指定した表領域内にある表のメタデータ(およびその表の依存オブジェクト)のみがアンロードされます。これによって、表領域データ・ファイルを別の[[Oracle]]データベースにコピーし、トランスポータブル表領域インポートを使用して、データベースに取り込むことができる。EXP_FULL_DATABASEロールが必要 |
|- | |- | ||
|} | |} | ||
77行目: | 77行目: | ||
$ expdp exam/abc123 TABLES=test DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y | $ expdp exam/abc123 TABLES=test DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y | ||
− | Export: | + | Export: [[R]]elease 10.2.0.1.0 - Production on Saturday, 11 July, 2009 8:47:48 |
− | Copyright (c) 2003, 2005, Oracle. All rights reserved. | + | Copyright (c) 2003, 2005, [[Oracle]]. All rights reserved. |
− | Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production | + | Connected to: Oracle [[Database]] 10g Enterprise Edition Release 10.2.0.1.0 - Production |
With the Partitioning, OLAP and Data Mining options | With the Partitioning, OLAP and Data Mining options | ||
− | Starting "EXAM"." | + | Starting "EXAM"."SYS_EXPO[[R]]T_TABLE_01": exam/******** TABLES=test DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y |
Estimate in progress using BLOCKS method... | Estimate in progress using BLOCKS method... | ||
− | Processing object type | + | Processing object type TABLE_EXPO[[R]]T/TABLE/TABLE_DATA |
Total estimation using BLOCKS method: 64 KB | Total estimation using BLOCKS method: 64 KB | ||
− | Processing object type | + | Processing object type TABLE_EXPO[[R]]T/TABLE/TABLE |
− | Processing object type TABLE_EXPORT/TABLE/ | + | Processing object type TABLE_EXPORT/TABLE/GR[[ANT]]/OWNER_GR[[ANT]]/OBJECT_GR[[ANT]] |
− | Processing object type | + | Processing object type TABLE_EXPO[[R]]T/TABLE/STATISTICS/TABLE_STATISTICS |
− | . . exported "EXAM"."TEST" 5.242 KB 2 rows | + | . . exported "EXAM"."[[TEST]]" 5.242 KB 2 rows |
− | Master table "EXAM"." | + | Master table "EXAM"."SYS_EXPO[[R]]T_TABLE_01" successfully loaded/unloaded |
****************************************************************************** | ****************************************************************************** | ||
− | Dump file set for EXAM. | + | Dump file set for EXAM.SYS_EXPO[[R]]T_TABLE_01 is: |
/home/oracle/dpump/table.dmp | /home/oracle/dpump/table.dmp | ||
− | Job "EXAM"." | + | Job "EXAM"."SYS_EXPO[[R]]T_TABLE_01" successfully completed at 08:48:31 |
====表モードエクスポートの実行(Enterprise Managerを使用する)==== | ====表モードエクスポートの実行(Enterprise Managerを使用する)==== | ||
104行目: | 104行目: | ||
=====先ほど作成した、ディレクトリオブジェクトが確認できる===== | =====先ほど作成した、ディレクトリオブジェクトが確認できる===== | ||
[[File:0944_ora_dpump03.jpg]] | [[File:0944_ora_dpump03.jpg]] | ||
− | =====PL/ | + | =====PL/[[SQL]]が生成されるので、実行する===== |
[[File:0945_ora_dpump04.jpg]] | [[File:0945_ora_dpump04.jpg]] | ||
134行目: | 134行目: | ||
|- | |- | ||
|トランスポータブル表領域モード | |トランスポータブル表領域モード | ||
− | | | + | |T[[R]]ANSPO[[R]]T_TABLESPACES |
|指トランスポータブル表領域エクスポート・ダンプ・ファイル・セットまたは別のデータベースからのメタデータがロードされます。 | |指トランスポータブル表領域エクスポート・ダンプ・ファイル・セットまたは別のデータベースからのメタデータがロードされます。 | ||
|- | |- | ||
141行目: | 141行目: | ||
====表モードインポートの実行==== | ====表モードインポートの実行==== | ||
=====testテーブルを削除する===== | =====testテーブルを削除する===== | ||
− | SQL> select * from exam.test; | + | [[SQL]]> select * from exam.test; |
ID NAME | ID NAME | ||
148行目: | 148行目: | ||
5 mno | 5 mno | ||
− | SQL> drop table exam.test; | + | [[SQL]]> drop table exam.test; |
Table dropped. | Table dropped. | ||
− | SQL> purge recyclebin; | + | [[SQL]]> purge recyclebin; |
− | + | [[R]]ecyclebin purged. | |
− | SQL> select * from exam.test; | + | [[SQL]]> select * from exam.test; |
select * from exam.test | select * from exam.test | ||
* | * | ||
− | + | E[[R]][[R]]O[[R]] at line 1: | |
− | ORA-00942: table or | + | ORA-00942: table or [[vi]]ew does not exist |
=====impdpコマンドの実行===== | =====impdpコマンドの実行===== | ||
167行目: | 167行目: | ||
$ impdp exam/north123 directory=dpump_dir1 DUMPFILE=table.dmp TABLES=test | $ impdp exam/north123 directory=dpump_dir1 DUMPFILE=table.dmp TABLES=test | ||
− | Import: | + | Import: [[R]]elease 10.2.0.1.0 - Production on Saturday, 11 July, 2009 9:18:33 |
− | Copyright (c) 2003, 2005, Oracle. All rights reserved. | + | Copyright (c) 2003, 2005, [[Oracle]]. All rights reserved. |
− | Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production | + | Connected to: Oracle [[Database]] 10g Enterprise Edition Release 10.2.0.1.0 - Production |
With the Partitioning, OLAP and Data Mining options | With the Partitioning, OLAP and Data Mining options | ||
− | Master table "EXAM"." | + | Master table "EXAM"."SYS_IMPO[[R]]T_TABLE_01" successfully loaded/unloaded |
− | Starting "EXAM"." | + | Starting "EXAM"."SYS_IMPO[[R]]T_TABLE_01": exam/******** directory=dpump_dir1 DUMPFILE=table.dmp TABLES=test |
− | Processing object type | + | Processing object type TABLE_EXPO[[R]]T/TABLE/TABLE |
− | Processing object type | + | Processing object type TABLE_EXPO[[R]]T/TABLE/TABLE_DATA |
− | . . imported "EXAM"."TEST" 5.242 KB 2 rows | + | . . imported "EXAM"."[[TEST]]" 5.242 KB 2 rows |
− | Processing object type TABLE_EXPORT/TABLE/ | + | Processing object type TABLE_EXPORT/TABLE/GR[[ANT]]/OWNER_GR[[ANT]]/OBJECT_GR[[ANT]] |
− | Processing object type | + | Processing object type TABLE_EXPO[[R]]T/TABLE/STATISTICS/TABLE_STATISTICS |
− | Job "EXAM"." | + | Job "EXAM"."SYS_IMPO[[R]]T_TABLE_01" successfully completed at 09:18:50 |
=====データの確認===== | =====データの確認===== | ||
− | SQL> select * from exam.test; | + | [[SQL]]> select * from exam.test; |
ID NAME | ID NAME |
2020年2月16日 (日) 04:30時点における最新版
Oracle Database10g Data Pump
構成要素
コマンドライン・クライアント
クライアント | 内容 |
---|---|
expdp | Data Pump Exportユーティリティを起動 |
impdp | Data Pump Importユーティリティを起動 |
- オリジナルのエクスポート・ユーティリティ(exp)およびインポート・ユーティリティ(imp)とほぼ同じユーザー・インタフェースが提供される
PL/SQLパッケージ
- DBMS_DATAPUMP(Data Pump APIとも呼ばれます)
- DBMS_METADATA(メタデータAPIとも呼ばれます)
ディレクトリ・オブジェクト
- Data Pumpは、クライアント・ベースではなく、サーバー・ベースであるため、ダンプ・ファイル、ログ・ファイルおよびSQLファイルには、サーバー・ベースのディレクトリ・パスを基準としてアクセスします
- Data Pumpでは、ディレクトリ・パスをディレクトリ・オブジェクトとして指定する必要があります
- ディレクトリ・オブジェクトは、ファイル・システムのディレクトリ・パスに名前をマップします
- CREATE ANY DIRECTORY権限を持つユーザーがディレクトリ・オブジェクトを作成する必要があります
ディレクトリ・オブジェクトを作成
- ディレクトリ /home/oracle/dpump にマップされるディレクトリ・オブジェクト dpump_dir1を作成する
SQL> create directory dpump_dir1 as '/home/oracle/dpump'; Directory created.
- 出力するスキーマーのユーザに書き込み権限を与えておく
SQL> grant read,write on directory dpump_dir1 to exam; Grant succeeded.
Data Pump Exportユーティリティ
- ダンプ・ファイル・セットと呼ばれる一連のオペレーティング・システム・ファイルにデータおよびメタデータをアンロードするためのユーティリティ
- ダンプ・ファイル・セットは、Data Pump Importユーティリティによってのみインポートできる
エクスポートモード
モード | パラメータ | 内容 |
---|---|---|
全体エクスポート・モード | FULL | データベース全体をアンロード、EXP_FULL_DATABASEロールが必要 |
スキーマ・モード | SCHEMAS | デフォルトのエクスポート・モード、EXP_FULL_DATABASEロールを所有していない場合は、自分のスキーマのみをエクスポートできる |
表モード | TABLES | 指定した表、パーティションおよびそれらの依存オブジェクトのみがアンロードされる |
表領域モード | TABLESPACES | 指定した表領域内に存在する表のみがアンロードされる |
トランスポータブル表領域モード | TRANSPORT_TABLESPACES | 指定した表領域内にある表のメタデータ(およびその表の依存オブジェクト)のみがアンロードされます。これによって、表領域データ・ファイルを別のOracleデータベースにコピーし、トランスポータブル表領域インポートを使用して、データベースに取り込むことができる。EXP_FULL_DATABASEロールが必要 |
表モードエクスポートの実行
- examスキーマの testテーブルをエクスポートする
- 複数テーブルはカンマで区切る
$ expdp exam/abc123 TABLES=test DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y Export: Release 10.2.0.1.0 - Production on Saturday, 11 July, 2009 8:47:48 Copyright (c) 2003, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options Starting "EXAM"."SYS_EXPORT_TABLE_01": exam/******** TABLES=test DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y Estimate in progress using BLOCKS method... Processing object type TABLE_EXPORT/TABLE/TABLE_DATA Total estimation using BLOCKS method: 64 KB Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . exported "EXAM"."TEST" 5.242 KB 2 rows Master table "EXAM"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded ****************************************************************************** Dump file set for EXAM.SYS_EXPORT_TABLE_01 is: /home/oracle/dpump/table.dmp Job "EXAM"."SYS_EXPORT_TABLE_01" successfully completed at 08:48:31
表モードエクスポートの実行(Enterprise Managerを使用する)
メンテナンス - 行移動
ウィザードに従いモードを選択
先ほど作成した、ディレクトリオブジェクトが確認できる
PL/SQLが生成されるので、実行する
Data Pump Importユーティリティ
- エクスポート・ダンプ・ファイル・セットをターゲット・システムにロードするためのユーティリティ
- ダンプ・ファイルを介さずに、ソース・データベースから直接ターゲット・データベースをロードするために使用することもできます。これによって、エクスポートおよびインポート操作を同時に実行でき、操作にかかる時間を最小限にできます。これはネットワーク・インポートと呼ばれます。
インポートモード
モード | パラメータ | 内容 |
---|---|---|
全体エクスポート・モード | FULL | ソースの全内容がターゲット・データベースにロードされる |
スキーマ・モード | SCHEMAS | 指定されたスキーマが所有しているオブジェクトのみがロードされる |
表モード | TABLES | 指定した表、指定した表、パーティションおよびそれらの依存オブジェクトのみがロードされる |
表領域モード | TABLESPACES | 指定した表領域内のすべてのオブジェクトが、依存オブジェクトとともにロードされる |
トランスポータブル表領域モード | TRANSPORT_TABLESPACES | 指トランスポータブル表領域エクスポート・ダンプ・ファイル・セットまたは別のデータベースからのメタデータがロードされます。 |
表モードインポートの実行
testテーブルを削除する
SQL> select * from exam.test; ID NAME ---------- ---------- 4 jkl 5 mno SQL> drop table exam.test; Table dropped. SQL> purge recyclebin; Recyclebin purged. SQL> select * from exam.test; select * from exam.test * ERROR at line 1: ORA-00942: table or view does not exist
impdpコマンドの実行
- 複数テーブルはカンマで区切る
$ impdp exam/north123 directory=dpump_dir1 DUMPFILE=table.dmp TABLES=test Import: Release 10.2.0.1.0 - Production on Saturday, 11 July, 2009 9:18:33 Copyright (c) 2003, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options Master table "EXAM"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded Starting "EXAM"."SYS_IMPORT_TABLE_01": exam/******** directory=dpump_dir1 DUMPFILE=table.dmp TABLES=test Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/TABLE_DATA . . imported "EXAM"."TEST" 5.242 KB 2 rows Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Job "EXAM"."SYS_IMPORT_TABLE_01" successfully completed at 09:18:50
データの確認
SQL> select * from exam.test; ID NAME ---------- ---------- 4 jkl 5 mno
© 2006 矢木浩人