| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Oracle Database10g Data Pump」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==Oracle Database10g Data Pump== [Oracle][Oracle Database10g] {{amazon|479810910X}} [http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B192…」)
 
 
(同じ利用者による、間の3版が非表示)
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]概要
 
[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/SQLパッケージ====
+
====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 Pumpは、クライアント・ベースではなく、サーバー・ベースであるため、ダンプ・ファイル、ログ・ファイルおよびSQLファイルには、サーバー・ベースのディレクトリ・パスを基準としてアクセスします
+
*Data Pumpは、クライアント・ベースではなく、サーバー・ベースであるため、ダンプ・ファイル、ログ・ファイルおよび[[SQL]]ファイルには、サーバー・ベースのディレクトリ・パスを基準としてアクセスします
 
*Data Pumpでは、ディレクトリ・パスをディレクトリ・オブジェクトとして指定する必要があります
 
*Data Pumpでは、ディレクトリ・パスをディレクトリ・オブジェクトとして指定する必要があります
 
*ディレクトリ・オブジェクトは、ファイル・システムのディレクトリ・パスに名前をマップします
 
*ディレクトリ・オブジェクトは、ファイル・システムのディレクトリ・パスに名前をマップします
*CREATE ANY DIRECTORY権限を持つユーザーがディレクトリ・オブジェクトを作成する必要があります
+
*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ロールが必要
+
|指定した表領域内にある表のメタデータ(およびその表の依存オブジェクト)のみがアンロードされます。これによって、表領域データ・ファイルを別の[[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: Release 10.2.0.1.0 - Production on Saturday, 11 July, 2009 8:47:48
+
  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"."SYS_EXPORT_TABLE_01":  exam/******** TABLES=test DUMPFILE=dpump_dir1:table.dmp NOLOGFILE=y  
+
  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 TABLE_EXPORT/TABLE/TABLE_DATA
+
  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 TABLE_EXPORT/TABLE/TABLE
+
  Processing object type TABLE_EXPO[[R]]T/TABLE/TABLE
  Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
+
  Processing object type TABLE_EXPORT/TABLE/GR[[ANT]]/OWNER_GR[[ANT]]/OBJECT_GR[[ANT]]
  Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
+
  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"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
+
  Master table "EXAM"."SYS_EXPO[[R]]T_TABLE_01" successfully loaded/unloaded
 
  ******************************************************************************
 
  ******************************************************************************
  Dump file set for EXAM.SYS_EXPORT_TABLE_01 is:
+
  Dump file set for EXAM.SYS_EXPO[[R]]T_TABLE_01 is:
 
   /home/oracle/dpump/table.dmp
 
   /home/oracle/dpump/table.dmp
  Job "EXAM"."SYS_EXPORT_TABLE_01" successfully completed at 08:48:31
+
  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/SQLが生成されるので、実行する=====
+
=====PL/[[SQL]]が生成されるので、実行する=====
 
[[File:0945_ora_dpump04.jpg]]
 
[[File:0945_ora_dpump04.jpg]]
  
134行目: 134行目:
 
|-
 
|-
 
|トランスポータブル表領域モード
 
|トランスポータブル表領域モード
|TRANSPORT_TABLESPACES
+
|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;
 
   
 
   
  Recyclebin purged.
+
  [[R]]ecyclebin purged.
 
   
 
   
  SQL> select * from exam.test;
+
  [[SQL]]> select * from exam.test;
 
  select * from exam.test
 
  select * from exam.test
 
                     *
 
                     *
  ERROR at line 1:
+
  E[[R]][[R]]O[[R]] at line 1:
  ORA-00942: table or view does not exist
+
  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: Release 10.2.0.1.0 - Production on Saturday, 11 July, 2009 9:18:33
+
  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"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
+
  Master table "EXAM"."SYS_IMPO[[R]]T_TABLE_01" successfully loaded/unloaded
  Starting "EXAM"."SYS_IMPORT_TABLE_01":  exam/******** directory=dpump_dir1 DUMPFILE=table.dmp TABLES=test  
+
  Starting "EXAM"."SYS_IMPO[[R]]T_TABLE_01":  exam/******** directory=dpump_dir1 DUMPFILE=table.dmp TABLES=test  
  Processing object type TABLE_EXPORT/TABLE/TABLE
+
  Processing object type TABLE_EXPO[[R]]T/TABLE/TABLE
  Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
+
  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/GRANT/OWNER_GRANT/OBJECT_GRANT
+
  Processing object type TABLE_EXPORT/TABLE/GR[[ANT]]/OWNER_GR[[ANT]]/OBJECT_GR[[ANT]]
  Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
+
  Processing object type TABLE_EXPO[[R]]T/TABLE/STATISTICS/TABLE_STATISTICS
  Job "EXAM"."SYS_IMPORT_TABLE_01" successfully completed at 09:18:50
+
  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

Oracle | Oracle Database10g |

Oracle Data Pump概要

  • Oracle Data Pumpを使用すると、データおよびメタデータをデータベース間で非常に高速に移動できます。
  • Oracle Database 10g R1 以降でのみ使用できる。

構成要素

コマンドライン・クライアント

クライアント 内容
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を使用する)

メンテナンス - 行移動

0942 ora dpump01.jpg

ウィザードに従いモードを選択

0943 ora dpump02.jpg

先ほど作成した、ディレクトリオブジェクトが確認できる

0944 ora dpump03.jpg

PL/SQLが生成されるので、実行する

0945 ora dpump04.jpg

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