■概要
従来のコマンド「exp」「imp」に比べ、より高パフォーマンスでデータベースをエクスポート、インポートできる仕組み。
※「exp」「imp」コマンドが設計された当初は、現在に比べデータベースが小規模だったため、大規模なデータベースに対して適切な設計ではなかった。
○参考サイト
[Oracle Databaseユーティリティ 11gリリース2(11.2)]
https://docs.oracle.com/cd/E16338_01/server.112/b56303/toc.htm
[10gDataPump_otn.pdf]
http://otndnld.oracle.co.jp/products/database/oracle10g/pdf/10gDataPump_otn.pdf
■Data Pumpが使用可能なバージョン
Data PumpはOracle 10gの新機能のため、Oracle 10g以降であれば使用可能である。
○参考サイト
[ORACLE-BASE-Oracle Database 10g、11g、12c、18c、19cのOracle Data Pump(expdp、impdp)]
https://oracle-base.com/articles/10g/oracle-data-pump-10g
[10gDataPump_otn.pdf]
http://otndnld.oracle.co.jp/products/database/oracle10g/pdf/10gDataPump_otn.pdf
■ディスク使用率
■オプション
■datapumpはなぜ早い?
■directoryの権限付与って必要なの?
Oracle12cの場合、directoryを作っただけでREAD、WRITE権限付与された。
■Jobとは?
Data Pumpの場合、従来のexp、impと異なり
障害発生などで途中でエクスポート/インポートが止まった時に再開できるようになっている
■通常
○エクスポートコマンド
exp trpg/trpg@shinobigami file=c:\temp\testexp.dmp owner=trpg
※shinobigami・・・DBのORACLE_SID、trpg・・・スキーマ名
Export: Release 12.2.0.1.0 - Production on 月 5月 18 23:56:07 2020
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
接続先: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
JA16SJISTILDE文字セットおよびAL16UTF16 NCHAR文字セットでエクスポートを実行します
サーバーではAL32UTF8文字セットを使用します(文字セットの変換可能)
指定されたユーザーをエクスポートします...
. プリスキーマ・プロシージャ型オブジェクトとアクションをエクスポート中
. ユーザーTRPGの外部関数ライブラリ名をエクスポート中
. PUBLICタイプのシノニムをエクスポート中
. プライベート・タイプのシノニムをエクスポート中
. ユーザーTRPGのオブジェクト型定義をエクスポート中
TRPGのオブジェクトをエクスポートします...
. データベース・リンクをエクスポート中
. 順序番号をエクスポート中
. クラスタ定義をエクスポート中
. TRPGの表をエクスポートします... 従来型パス経由...
.. 表 NINPOU_TYPEをエクスポート中 3行エクスポートされました。
EXP-00091: 不審な統計をエクスポートしています。
.. 表 OUGIをエクスポート中 7行エクスポートされました。
EXP-00091: 不審な統計をエクスポートしています。
EXP-00091: 不審な統計をエクスポートしています。
.. 表 RYUHAをエクスポート中 6行エクスポートされました。
EXP-00091: 不審な統計をエクスポートしています。
.. 表 TEST_TABLEをエクスポート中 4行エクスポートされました。
EXP-00091: 不審な統計をエクスポートしています。
EXP-00091: 不審な統計をエクスポートしています。
.. 表 TOKUGI_COLUMN_LISTをエクスポート中 6行エクスポートされました。
EXP-00091: 不審な統計をエクスポートしています。
.. 表 TOKUGI_LISTをエクスポート中 1行エクスポートされました。
EXP-00091: 不審な統計をエクスポートしています。
. シノニムをエクスポート中
. ビューをエクスポート中
. ストアド・プロシージャをエクスポート中
. 演算子をエクスポート中
. 参照整合性制約をエクスポート中
. トリガーをエクスポート中
. 索引タイプをエクスポート中
. ビットマップ、ファンクションおよび拡張可能索引をエクスポート中
. ポスト可能なアクションをエクスポート中
. マテリアライズド・ビューをエクスポート中
. スナップショット・ログをエクスポート中
. ジョブ・キューをエクスポート中
. リフレッシュ・グループと子をエクスポート中
. ディメンションをエクスポート中
. ポストスキーマ・プロシージャ型オブジェクトとアクションをエクスポート中
. 統計をエクスポート中
エクスポートは正常に終了しましたが、警告が発生しました。
○インポートのコマンド
imp trpg/trpg@shinobigami file=c:¥temp¥testexp.dmp fromuser=trpg touser=trpg
※あらかじめテーブルを削除しておかないと下記エラーログが出力される
IMP-00015: 次の文は、オブジェクトがすでに存在するため失敗しました:
Import: Release 12.2.0.1.0 - Production on 火 5月 19 00:52:18 2020
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
接続先: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
エクスポート・ファイルはEXPORT:V12.02.00によって従来型パス経由で作成されました
JA16SJISTILDE文字セットおよびAL16UTF16 NCHAR文字セットでインポートを実行します
インポート・サーバーではAL32UTF8文字セットを使用します(文字セットの変換可能)。
IMP-00403:
警告: このインポートでは、権限の問題により失敗したDDLを含む別個のSQLファイル"import_sys"が生成されました。
IMP-00015: 次の文は、オブジェクトがすでに存在するため失敗しました:
"CREATE TABLE "NINPOU_TYPE" ("ID" VARCHAR2(2) NOT NULL ENABLE, "NAME" VARCHA"
"R2(20)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 6553"
"6 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAU"
"LT) LOGGING NOCOMPRESS"
IMP-00015: 次の文は、オブジェクトがすでに存在するため失敗しました:
"CREATE TABLE "OUGI" ("OUGI_ID" VARCHAR2(2) NOT NULL ENABLE, "NAME" VARCHAR2"
"(30), "KANA" VARCHAR2(60), "DESCRIPTION" VARCHAR2(600), "SORT_NO" NUMBER(2,"
" 0)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 N"
"EXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)"
" LOGGING NOCOMPRESS"
IMP-00015: 次の文は、オブジェクトがすでに存在するため失敗しました:
"CREATE TABLE "RYUHA" ("RYUHA_ID" VARCHAR2(2) NOT NULL ENABLE, "NAME" VARCHA"
"R2(30), "KANA" VARCHAR2(60), "SORT_NO" NUMBER(2, 0)) PCTFREE 10 PCTUSED 40"
" INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FR"
"EELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) LOGGING"
" NOCOMPRESS"
. . 表 "TEST_TABLE"をインポートしています 4行インポートされました。
IMP-00015: 次の文は、オブジェクトがすでに存在するため失敗しました:
"CREATE TABLE "TOKUGI_COLUMN_LIST" ("COLUMN_ID" VARCHAR2(2) NOT NULL ENABLE,"
" "NAME" VARCHAR2(10), "KANA" VARCHAR2(20), "DESCRIPTION" VARCHAR2(400)) PC"
"TFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048"
"576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) "
" LOGGING NOCOMPRESS"
IMP-00015: 次の文は、オブジェクトがすでに存在するため失敗しました:
"CREATE TABLE "TOKUGI_LIST" ("LOW" NUMBER(2, 0) NOT NULL ENABLE, "COLOMN" VA"
"RCHAR2(20) NOT NULL ENABLE, "NAME" VARCHAR2(20), "KANA" VARCHAR2(40), "DESC"
"LRIPTION" VARCHAR2(100)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STO"
"RAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 "
"BUFFER_POOL DEFAULT) LOGGING NOCOMPRESS"
インポートは正常に終了しましたが、警告が発生しました。
※expdpコマンドでエクスポートしたdmpファイルをimpコマンドでインポートしようとすると下記Oracleエラーが発生する
Import: Release 12.2.0.1.0 - Production on 火 5月 19 00:45:49 2020
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
接続先: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
IMP-00401: ダンプ・ファイル"c:\temp\testexpdp.dmp"は、データ・ポンプ・エクスポート・ダンプ・ファイルの場合があります
IMP-00000: エラーが発生したためインポートを終了します。
■datapump方式
--事前にディレクトリの作成が必要
create or replace directory dir01 as 'C:\temp'
--ディレクトリを確認する
select * from ALL_DIRECTORIES
--または
select * from dba_directories;
--権限がない場合は権限付与が必要
grant read, write on directory dir01 to trpg
--権限が付与されているか確認する
select * from user_tab_privs where table_name = 'DIR01'
○コマンド
expdp trpg/trpg@shinobigami schemas=trpg directory=dir01 dumpfile=testexpdp.dmp
Export: Release 12.2.0.1.0 - Production on 火 5月 19 00:15:15 2020
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
接続先: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
"TRPG"."SYS_EXPORT_SCHEMA_01"を起動しています: trpg/********@shinobigami schemas=trpg directory=dir01 dumpfile=testexpdp.dmp
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
オブジェクト型SCHEMA_EXPORT/STATISTICS/MARKERの処理中です
オブジェクト型SCHEMA_EXPORT/USERの処理中です
オブジェクト型SCHEMA_EXPORT/SYSTEM_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/ROLE_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/DEFAULT_ROLEの処理中です
オブジェクト型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/COMMENTの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/INDEX/INDEXの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINTの処理中です
. . "TRPG"."OUGI" 9.375 KB 7行がエクスポートされました
. . "TRPG"."TOKUGI_COLUMN_LIST" 8.296 KB 6行がエクスポートされました
. . "TRPG"."TOKUGI_LIST" 6.882 KB 1行がエクスポートされました
. . "TRPG"."RYUHA" 6.640 KB 6行がエクスポートされました
. . "TRPG"."TEST_TABLE" 5.992 KB 4行がエクスポートされました
. . "TRPG"."NINPOU_TYPE" 5.531 KB 3行がエクスポートされました
マスター表"TRPG"."SYS_EXPORT_SCHEMA_01"は正常にロード/アンロードされました
******************************************************************************
TRPG.SYS_EXPORT_SCHEMA_01に設定されたダンプ・ファイルは次のとおりです:
C:\TEMP\TESTEXPDP.DMP
ジョブ"TRPG"."SYS_EXPORT_SCHEMA_01"が火 5月 19 00:16:10 2020 elapsed 0 00:00:52で正常に完了しました