0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle Data Pump情報まとめ

Last updated at Posted at 2020-05-18

■概要

従来のコマンド「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・・・スキーマ名

エクスポート時のログ(exp)
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: 次の文は、オブジェクトがすでに存在するため失敗しました:

インポート時のログ(imp)
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エラーが発生する

インポート時のログ(expdpでエクスポートしたdmpファイルをimpコマンドでインポート)
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

エクスポート時のログ(expdp)
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で正常に完了しました

■参考サイト
https://oracle-chokotto.com/ora_export_expdp.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?