Data Pump(expdp/impdp)の使い方~エクスポート/インポート、データ移動、論理バックアップ

Oracle Database Appliance
Oracle Database Appliance(ODA):Oracle RAC環境をわずか2時間で構築!

この記事の解説はセミナー動画でもご覧いただけます。プレゼンテーション資料もダウンロード可能です。

1. Data Pump とは

Oracle Data Pump (以下、Data Pump) は Oracle Database 10g より導入されたテクノロジーです。 従来から利用されている、エクスポート/インポート(exp/impコマンド)と目的は同じく論理バックアップの取得、データベース間のデータ移動を可能にします。

従来のExp/Impは基本的にユーティリティ側で処理されるが、Data Pumpは、データベース・サーバー側でジョブとして管理・処理されます。得られる大きなメリットは、「パフォーマンス向上」と「管理性の向上」です。

パフォーマンスの向上
一般的にこれまでのexpおよびimpよりも高速で実行できます。
ダイレクト・パスでアンロードを実行する場合、これまでのexpよりも約2倍の速度で処理されます。データのロードの場合、これまでのimpと比べて15から45倍の速度で処理されます。
さらに、パラレル処理で高速化を上げることも可能です。
【技術資料】Oracle Data Pumpのパラレル機能

管理性の向上
実行の停止・再開、ダンプ・ファイルの暗号化(Oracle Advanced Securityオプション)、ダンプ・ファイルの圧縮(Oracle Advanced Compressionオプション)など、多くの機能がサポートされています。

また、Oracle Database 11g では、expdp コマンドおよび impdp コマンド用に REMAP_DATA という新しいパラメータが提供されており、Data Pump がデータ変換をする際に、ユーザーが指定したPL/SQLファンクションでユーザーのデータを変更できるようになりました。
【技術資料】Oracle Data Pumpによるデータ変換

2.Data Pumpの仕組みアーキテクチャ

Data Pump は以下の3つの要素で構成されています。
  1) コマンドライン・クライアント expdp/impdp
  2) PL/SQL パッケージ DBMS_DATAPUMP (Data Pump API)
  3) PL/SQL パッケージ DBMS_METADATA (メタデータ API)

image 

【技術資料】Data Pump 概要とアーキテクチャ:Oracle Database 11g

 

3.Data Pumpの使い方

(1) Data Pump 実行前の準備

Data Pump による export/import を行う場合、ディレクトリ・オブジェクトの作成と権限の付与が必要です。

・DIRECTORY OBJECT の作成そのディレクトリへのアクセス権限の付与

TEST_DIR というディレクトリを /home/test として作成し、SCOTTユーザが EXPDP/IMPDP を行います。
ディレクトリの作成と read/write 権限の付与を行います。

    SQL> create or replace directory TEST_DIR as '/home/test';
    SQL> grant read, write on directory TEST_DIR to SCOTT;

・権限の付与

CONNECTおよびRESOURCE ロールが必要です。

(2) Data Pump Export (EXPDP) の実行例

ユーザとして SCOTT (パスワード TIGER)を使用し、DIRECTORY OBJECT として TEST_DIR をあらかじめ作成しています。

(例)SCOTT ユーザのテーブル EMP を export する場合
   % expdp scott/tiger directory=test_dir tables=emp

(3) Data Pump Import (IMPDP) の実行例

ユーザとして SCOTT (パスワード TIGER)を使用し、DIRECTORY OBJECT として TEST_DIR をあらかじめ作成しています。ダンプファイルは exp.dmp として作成されていることを前提とします。

(例)SCOTT ユーザにテーブル EMP を import する場合
   % impdp scott/tiger directory=test_dir dumpfile=exp.dmp tables=emp

【技術資料】Oracle Data Pumpクイック・スタート

 

4. 主な、エクスポート/インポート対象を指定するオプション

オプション 用途
TABLES テーブル名を指定
SCHEMAS スキーマ名を指定
TABLESPACES 表領域名を指定
FULL FULL=Y でデータベース全体を指定
CONTENT  
( CONTENT=data_only ) 表のデータのみ
( CONTENT=metadata_only ) 表の定義のみ
( CONTENT=all(デフォルト) ) 表のデータと定義の両方
NOLOGFILE NOLOGFILE=y で、ログファイルの出力を行わない
ESTIMATE_ONLY ESTIMATE_ONLY=y で、領域の見積もりのみ実施
EXCLUDE 一部のオブジェクトを除く

 

5. インポートの際にインポート先を指定するオプション

  • REMAP_SCHEMAオプション : export 時と異なるスキーマに import
    (例)SCOTT ユーザの持つオブジェクトを TEST ユーザに import する場合
       % impdp scott/tiger directory=test_dir dumpfile=exp.dmp remap_schema=scott:test
  • REMAP_TABLESPACEオプション: export 時と異なる表領域に import
    (例)USERS 表領域のオブジェクトを TESTTBS 表領域に import する場合
       % impdp scott/tiger directory=test_dir dumpfile=exp.dmp remap_tablespace=users:testtbs
  • REMAP_DATAFILEオプション :export 時と異なる名前のデータファイルで import
    (例)USERS 表領域のデータファイル名を変更して import する場合
       % impdp system/manager directory=test_dir dumpfile=exp.dmp remap_datafile='/home/users.dbf:/home/test/users.dbf'
  • SQLFILEオプション : IMPDP 実行時に実行される SQL 文のコマンドを任意のファイルに出力
    (例)import 時に実行される SQL 文を確認する場合
       % impdp scott/tiger directory=test_dir dumpfile=exp.dmp sqlfile=test.sql
この記事の解説はセミナー動画でもご覧いただけます。プレゼンテーション資料もダウンロード可能です。

Oracle Database Appliance
Oracle Database Appliance(ODA):Oracle RAC環境をわずか2時間で構築!

Comments:

Post a Comment:
Comments are closed for this entry.
About

Oracleエンジニアの方がスキルアップしていただくために、厳選した情報をお届けしています

Search

Archives
« 4月 2014
  
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Bookmarks
関連サイト
ランキング:カテゴリ
ランキング:技術資料
ランキング:技術コラム