DataPumpの使い方 (インポート編)

oracle-hq-100

impdpでデータをインポートする手順

Oracle 10g から導入された「Data Pump」を使ってデータをインポートする手順をメモしておきます。oracleでのデータ移行はexp/impが主流でしたが、データポンプはexp/impより優れた特徴があります。

それはなんといっても処理速度の向上です。ダイレクトパスでのアンロードであればexpよりも2倍速く、データロードにおいては15~45倍という速さです。さらにパラレル実行も可能になっているので、作業効率は圧倒的に向上しますね。

それでは手順に移ります。作業の流れはこうです。

  1. Data Pump用の作業ディレクトリの登録
  2. エクスポートしたデータをData Pump用ディレクトリに配置
  3. パラメータファイルの作成
  4. impdpでインポート

 

 

Data Pump用ディレクトリ登録

sqlplusを起動して、SQLで登録します。ここでは以下の2つのディレクトリを登録します。

  • エクスポートファイルの配置ディレクトリ → /work/ExpdpDump/dmp_data
  • ログファイル出力用ディレクトリ → /work/ExpdpDump/dmp_log

以下のSQLで登録します。

SQL> create directory dmp_data as '/work/ExpdpDump/dmp_data';

ディレクトリが作成されました。

SQL>  create directory dmp_log as '/work/ExpdpDump/dmp_log';

ディレクトリが作成されました。

SQL>

 

登録したディレクトリを確認します。

SQL> select * from dba_directories;

OWNER      DIRECTORY_NAME                 DIRECTORY_PATH
---------- ------------------------------ --------------------------------------------------
SYS        DMP_DATA                       /work/ExpdpDump/dmp_data
SYS        DMP_LOG                        /work/ExpdpDump/dmp_log
SYS        XMLDIR                         /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/xml
SYS        ORACLE_OCM_CONFIG_DIR          /u01/app/oracle/product/11.2.0/dbhome_1/ccr/state
SYS        DATA_PUMP_DIR                  /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/log/
SYS        ORACLE_OCM_CONFIG_DIR2         /u01/app/oracle/product/11.2.0/dbhome_1/ccr/state

7行が選択されました。

SQL>

 

パラメータファイル作成

パラメータファイルには、テーブル名、スキーマ名、表領域名、エクスポートファイルパス、ログ出力先、を記述します。impdpコマンドに直接書くこともできますが、ここではパラメータファイルに記述して、それを読み込ませてインポートする手順となります。

パラメータファイル「/work/ExpdpDump/dmp_dat/TEST_SELLER_impdp.dat」を作成します。

[oracle@server01:/home/oracle] vi /work/ExpdpDump/dmp_dat/TEST_SELLER_impdp.dat

tables=(
SCHEMA_A.TABEL_1,
SCHEMA_A.TABEL_2
)
DUMPFILE=dmp_data:TEST_SELLER.dmp
LOGFILE=dmp_log:TEST_SELLER_impdp.log

 

データのインポート

impdpコマンドを実行して、データをインポートします。パラメータファイルは、「parfile=」で指定します。

[oracle@server01:/home/oracle] impdp system parfile=/work/ExpdpDump/dmp_dat/TEST_SELLER_impdp.dat

Import: Release 11.2.0.4.0 - Production on 水 11月 6 19:58:18 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
パスワード:

接続先: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
マスター表"SYSTEM"."SYS_IMPORT_TABLE_01"は正常にロード/アンロードされました
"SYSTEM"."SYS_IMPORT_TABLE_01"を起動しています: system/******** parfile=/work/ExpdpDump/dmp_dat/TEST_SELLER_impdp.dat
オブジェクト型TABLE_EXPORT/TABLE/TABLEの処理中です
オブジェクト型TABLE_EXPORT/TABLE/TBL_TABLE_DATA/TABLE/TABLE_DATAの処理中です
. . "A"."TABLE_1"                                8.128 MB  230284行がインポートされました
. . "A"."TABLE_2"                                3.801 MB   22179行がインポートされました
オブジェクト型TABLE_EXPORT/TABLE/GRANT/TBL_OWNER_OBJGRANT/OBJECT_GRANTの処理中です
オブジェクト型TABLE_EXPORT/TABLE/INDEX/INDEXの処理中です
オブジェクト型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINTの処理中です
オブジェクト型TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSの処理中です
オブジェクト型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
ジョブ"SYSTEM"."SYS_IMPORT_TABLE_01"が完了しました

[oracle@server01:/home/oracle]

 

データインポートが完了しました。

 

 

 

 


サブコンテンツ

このページの先頭へ


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /home/luck777er/it-memo.info/public_html/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048