oracle direct seminar · •通称、このosファイルのことをダンプ・ファイルと...
TRANSCRIPT
<Insert Picture Here>
Oracle Direct Seminar
意外と知らない!? Export/Importの基礎
日本オラクル株式会社
Copyright© 2010, Oracle. All rights reserved. 2
Agenda
• Export/Importの概要
• 代表的な使い方 ーオリジナル編-
• 代表的な使い方 ーData Pump編-
• 知っておきたい便利な使い方
• まとめ無償技術サービスOracle Direct Concierge
http://www.oracle.com/lang/jp/direct/services.html
・Oracle Database バージョンアップ支援・Oracle 構成相談(Sizing)サービス・パフォーマンス・クリニック・サービス・SQL Serverからの移行アセスメント・DB2からの移行支援サービス・Sybaseからの移行支援サービス・MySQLからの移行相談サービス・PostgreSQLからの移行相談サービス・Accessからの移行アセスメント・Oracle Developer/2000 Webアップグレード相談・仮想化アセスメントサービス・ビジネスインテリジェンス・エンタープライズエディション・アセスメントサービス・簡易業務診断サービス
Copyright© 2010, Oracle. All rights reserved. 3
Agenda
• Export/Importの概要
• 代表的な使い方 ーオリジナル編-
• 代表的な使い方 ーData Pump編-
• 知っておきたい便利な使い方
• まとめ無償技術サービスOracle Direct Concierge
http://www.oracle.com/lang/jp/direct/services.html
・Oracle Database バージョンアップ支援・Oracle 構成相談(Sizing)サービス・パフォーマンス・クリニック・サービス・SQL Serverからの移行アセスメント・DB2からの移行支援サービス・Sybaseからの移行支援サービス・MySQLからの移行相談サービス・PostgreSQLからの移行相談サービス・Accessからの移行アセスメント・Oracle Developer/2000 Webアップグレード相談・仮想化アセスメントサービス・ビジネスインテリジェンス・エンタープライズエディション・アセスメントサービス・簡易業務診断サービス
Copyright© 2010, Oracle. All rights reserved. 4
Export/Importとは
• データベース間のデータの移動を可能にしています
エクスポート
インポート
•通称、このOSファイルのことをダンプ・ファイルと
呼んでいます。このダンプファイルはバイナリ形式であり、エクスポートインポートユーティリティのみで読み書きがなされます。
• FTPを使用して別サイトに転送、または物理的に移送(テープの場合)できます
エクスポート対象のオブジェクトを抽出し、OS上のファイルに書き込まれます
ダンプ・ファイルからオブジェクトの定義および表データを読み込みます
Copyright© 2010, Oracle. All rights reserved. 5
Export/Importの用途• 論理バックアップの取得
Database
Backup
Database
論理バックアップは、様々な状況で物理バックアップを補足するために役立ちます。ただ、論理バックアップをリストアするためには物理バックアップを再構築して、Oracleサーバーで使用できるようにする必要があります。よって、論理バックアップは、物理バックアップを補うために使用する事を推奨します
Exportユーティリティで論理バックアップを取得します。
Importユーティリティを使用して、再インポート可能です。
Copyright© 2010, Oracle. All rights reserved. 6
Export/Importの用途• データベースのバージョンアップ
ハードウェアが老朽化してきたから、そろそろハードウェアのリプレイスをしないと・・・・
このタイミングでOracle
Databaseもバージョンアップしよう!
バージョンアップするとなると、 データを移行する必要があるな・・・
Export/Importでデータを移行しよう!
Copyright© 2010, Oracle. All rights reserved. 7
Export/Importの種類
• オリジナルのExport/Import• expおよびimpコマンドで起動するオリジナルのエクスポート・
ユーティリティおよびインポート・ユーティリティです
• Data Pump• Oracle Database10gから搭載されたexpdpおよびimpdp
コマンドで起動するエクスポート・ユーティリティおよびインポート・
ユーティリティです
• データのロード・アンロードを高速に行うことができます
Copyright© 2010, Oracle. All rights reserved. 8
オリジナルのExport/Import 概要図
Import Utility
IMP
Oracle Net
Oracle Net
Oracle Database
Export Utility
EXP
xxx.dmp
ダンプ・ファイルはクライアント側に格納されます
Copyright© 2010, Oracle. All rights reserved. 9
Data Pump 概要図
Import Utility
IMPDP
Oracle Net
Oracle Database
Export Utility
EXPDP
Oracle Net
PL/SQL Package Access Driver xxx.dmp
ダンプ・ファイルはサーバー側に格納されます
EXPDP/IMPDP
の実行エンジン
Copyright© 2010, Oracle. All rights reserved. 10
オリジナルとData Pumpの違い
パラレル化が可能
APIにより呼び出しが可能
ジョブ管理・状況監視が可能
停止・再開が可能
サーバ側で実行するData Pumpのメリット
オリジナルのExport/Importは、
基本的にユーティリティ側で実行するが、
Data Pumpはデータベース・サーバーの機能を使ってデータベース・サーバー側で実行されます
Copyright© 2010, Oracle. All rights reserved. 11
Export/Importの起動
次のいずれかの方法を使用して、
Export/Importの起動およびパラメータの指定ができます。
• コマンドライン
• 対話方式モード(Enterprise Manager)
Copyright© 2010, Oracle. All rights reserved. 12
Agenda
• Export/Importの概要
• 代表的な使い方 ーオリジナル編-
• 代表的な使い方 ーData Pump編-
• 知っておきたい便利な使い方
• まとめ無償技術サービスOracle Direct Concierge
http://www.oracle.com/lang/jp/direct/services.html
・Oracle Database バージョンアップ支援・Oracle 構成相談(Sizing)サービス・パフォーマンス・クリニック・サービス・SQL Serverからの移行アセスメント・DB2からの移行支援サービス・Sybaseからの移行支援サービス・MySQLからの移行相談サービス・PostgreSQLからの移行相談サービス・Accessからの移行アセスメント・Oracle Developer/2000 Webアップグレード相談・仮想化アセスメントサービス・ビジネスインテリジェンス・エンタープライズエディション・アセスメントサービス・簡易業務診断サービス
Copyright© 2010, Oracle. All rights reserved. 13
Export/Importを使用する前に
• Catexp.sqlまたはcatalog.sqlスクリプトの実行
スクリプトを実行すると、データベースはエクスポートおよび
インポート操作に備えて調整されます
• Export/Importを実行するデータベース上のSYSユーザーで1回実行しておく必要があります通常はデータベースの作成時にcatalog.sqlが実行されているので、
改めて実行する必要はありません
•データ・ディレクトリへの必要なエクスポート・ビューおよびインポート・ビューの作成
• EXP_FULL_DATABASEロールの作成• EXP_FULL_DATABASEおよびIMP_FULL_DATABASEロールへのすべての必要な権限の割当て
• DBAロールへのEXP_FULL_DATABASEおよびIMP_FULL_DATABASEの割当て
• インストールされているcatexp.sqlのバージョンの記録
Copyright© 2010, Oracle. All rights reserved. 14
Export/Importを使用する前に
•十分なディスク領域の確認実際にExport/Importを実行するOS上のユーザーが、エクスポート・ファイルの書き込み先のディスク上またはテープ上に、
十分な記憶領域があることを確認してください
•アクセス権限の確認Export/Importを実行する際に接続するデータベース・ユーザには、データベースに対するCREATE SESSION権限が必要です。また、別のユーザーが所有する表をエクスポートする場合は、EXP_FULL_ DATABASEロールを付与されている必要があります
Copyright© 2010, Oracle. All rights reserved. 15
コマンドからのExport/Importの起動
•表モード
•ユーザー・モード
•表領域モード
•全データベース・モード
exp(imp) ユーザ名/パスワード エクスポートするモード ダンプファイル
Oracle Databaseユーティリティ 11g リリース1(11.1)
表20-3 各モードでエクスポートおよびインポートされるオブジェクト
http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05768-02/exp_imp.htm#12189
次のコマンドからExport/Importを起動できます
Ex. exp(imp) scott/tiger owner=oracle file=exp.dmp
Copyright© 2010, Oracle. All rights reserved. 16
モード 機能説明 パラメータ
フル データベース全体のエクスポート FULL=y
ユーザー 指定したユーザー全体のエクスポート OWNER=user[, …]
テーブル 指定したテーブル全体のエクスポート TABLES=table[, …]
テーブルスペース 指定したテーブルスペース全体のエクスポート
TABLESPACES=tablespace[, …]
EXPで利用可能なモード
例1: > exp scott/tiger full=y
例2: > exp scott/tiger file=exp.dmp tables=(emp,dept)
フルモード
テーブルモード
Export – オリジナル –Export Utility
EXPexpおよびimpコマンドで起動する
オリジナルのエクスポート・ユーティリティ
フル・モードでの注意点SYSが所有する オブジェクト、およびORDSYS、CTXSYS、 MDSYS およびORDPLUGINSスキーマはエクスポートされません
オリジナル
Copyright© 2010, Oracle. All rights reserved. 17
エクスポートするオブジェクトを指定します
• トリガー:TRIGGERS
オブジェクトの指定
制約、権限、索引、トリガーをエクスポートするか指定します
• 権限:GRANTS
• 索引:INDEXES
• 制約:CONSTRAINTS
COMMAND > EXP scott/tiger TABLES=(wendy.emp) GRANT=n
COMMAND > EXP scott/tiger TABLES=(wendy.emp) TRIGGERS=n
COMMAND > EXP scott/tiger TABLES=(wendy.emp) INDEXES=n
COMMAND > EXP scott/tiger TABLES=(wendy.emp) CONSTRAINTS=n
デフォルトはすべて y になります
オリジナル
Copyright© 2010, Oracle. All rights reserved. 18
エクスポート・ユーティリティによって読み込まれたデータのある時点における一貫性を維持し、expコマンドの実行中に変更されないように指定します
COMMAND > EXP scott/tiger TABLES=(wendy.emp) CONSISTENT=n
CONSISTENT指定
データの一貫性を維持できるよう指定します
CONSISTENT
注意:ユーザーSYSとして接続しているとき、またはAS SYSDBAを使用しているとき(あるいはその両方)に実行するエクスポートでは、CONSISTENT=yはサポートされません。
デフォルトはCONSISTENT=nです
オリジナル
Copyright© 2010, Oracle. All rights reserved. 19
2人のユーザーによる更新時のイベントの順序
時系列ユーザA
ユーザB
TABLE1の
エクスポート開始
TABLE1、TABLE2の更新
トランザクションのコミット
TABLE1の
エクスポート終了
TABLE2の
エクスポート開始
CONSISTENT = n の場合 ・・・ TABLE2の更新は書き込まれますが、
TABLE1の更新は書き込まれません
CONSISTENT = y の場合 ・・・ TABLE1、TABLE2の更新ともに
書き込まれません
•読み取り一貫性の確保を実現
エクスポート開始した時点の整合性が確保できている状態で、データをエクスポートできます
オリジナル
Copyright© 2010, Oracle. All rights reserved. 20
従来型パス・エクスポートに比べて非常に高速なダイレクト・パス・エクスポートの使用を指定します
COMMAND > EXP scott/tiger TABLES=(wendy.emp) DIRECT=n
ダイレクト・パス・ロードの指定
ダイレクト・パス・エクスポートの使用を指定します
DIRECT
デフォルトはDIRECT=nです
注意:
次の場合は、ダイレクトエクスポートは使用できません
•対話方式でのエクスポートの起動
•表領域モード( TRANSPORT_TABLESPACES=Y )
• QUERYパラメータの指定
オリジナル
Copyright© 2010, Oracle. All rights reserved. 21
従来型とダイレクト・パス・ロードの違い
Oracle専用のメモリ領域
①エクスポートの実行
③データをディスクからバッファ・キャッシュへ読
み込み
④行はクライアント・プロセスにある評価バッファに転送します
従来型パス・ロードによるエクスポート
②SELECT文発行
⑤式の評価が終了すると、エクスポート・ファイルに書き出さます
評価バッファ
オリジナル
Copyright© 2010, Oracle. All rights reserved. 22
従来型とダイレクト・パス・ロードの違い
ダイレクト・パス・ロードによるエクスポート
Oracle専用のメモリ領域
評価バッファ①エクスポートの実行
②データをディスクからバッファ・キャッシュへ読
み込み
③評価バッファをバイパスし、エクスポートファイルに書き出されます
評価バッファをバイパスするため、
従来型パス・エクスポートに比べ
非常に高速です
オリジナル
Copyright© 2010, Oracle. All rights reserved. 23
Import – オリジナル –
Import Utility
IMPimpコマンドで起動する
オリジナルのインポート・ユーティリティ
COMMAND > imp scott/tiger tables=emp,dept
IMPでは、EXPで使用できたパラメータのほとんどを利用することができます。
IMPでパラメータを指定することにより、EXPで作成したダンプファイルからさらに対象データを絞りこんでインポートすることが可能です。
ダンプファイルからemp表とdept表のみをインポート
COMMAND > imp scott/tiger owner=wendy
ダンプファイルからwendyユーザーのオブジェクトをインポート
オリジナル
Copyright© 2010, Oracle. All rights reserved. 24
IGNORE=yに指定すると、データベース・オブジェクトの作成時に作成エラーが発生しても、このエラーは無視され、エラーはレポートされずに継続します。
COMMAND > IMP scott/tiger FILE=exp.dmp IGNORE=y
エラーを無視するよう指定
オブジェクト作成エラーの処理方法を指定します
IGNORE
デフォルトはIGNORE=nです。この場合、オブジェクト作成エラーがログに記録
または表示されて、インポートが停止します
表がすでに存在する場合
IGNORE=yを指定すると、行は既存の表にインポートされます(エラー/メッセージは出力なし)
IGNORE=nを指定すると、エラーがレポートされ、表は行が挿入されないまま
スキップされます。また、表に依存するオブジェクトは作成されません
オリジナル
Copyright© 2010, Oracle. All rights reserved. 25
その他のOptionコマンドについて
•以下のマニュアルよりご確認下さい
Oracle Databaseユーティリティ 11g リリース1(11.1)
エクスポート・パラメータ
http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dv
d/server.111/E05768-02/exp_imp.htm#12994
Oracle Databaseユーティリティ 11g リリース1(11.1)
インポート・パラメータ
http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dv
d/server.111/E05768-02/exp_imp.htm#16740
オリジナル
Copyright© 2010, Oracle. All rights reserved. 26
Agenda
• Export/Importの概要
• 代表的な使い方 ーオリジナル編-
• 代表的な使い方 ーData Pump編-
• 知っておきたい便利な使い方
• まとめ無償技術サービスOracle Direct Concierge
http://www.oracle.com/lang/jp/direct/services.html
・Oracle Database バージョンアップ支援・Oracle 構成相談(Sizing)サービス・パフォーマンス・クリニック・サービス・SQL Serverからの移行アセスメント・DB2からの移行支援サービス・Sybaseからの移行支援サービス・MySQLからの移行相談サービス・PostgreSQLからの移行相談サービス・Accessからの移行アセスメント・Oracle Developer/2000 Webアップグレード相談・仮想化アセスメントサービス・ビジネスインテリジェンス・エンタープライズエディション・アセスメントサービス・簡易業務診断サービス
Copyright© 2010, Oracle. All rights reserved. 27
Data Pump(データ・ポンプ) とは
Oracle Database10gから導入された新しいユーティリティです。
Oracle Data Pumpテクノロジを使用すると、データおよびメタデータをデータベース間で非常に高速に移動できます
利用方法• expdp/impdpコマンド
• Enterprise Manager
• DBMS_DATAPUMP PL/SQLパッケージ
• その他、外部表などのエンジンとして内部利用
•関連マニュアル
Oracle Databaseユーティリティ 11g リリース1(11.1)http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_d
vd/server.111/E05768-02/toc.htm
Copyright© 2010, Oracle. All rights reserved. 28
Data Pumpのここがすごい!
•ダイレクトパスAPIの改善による処理速度向上エクスポート:オリジナルのExportに比べて2倍高速
インポート:オリジナルのImportに比べて15~40倍高速
Oracle Data Pump
を使用したら速くなった!
Data Pumpは、大量データを扱う大きなジョブ向き!
Data Pumpでは、マスター表を作成するためのオーバーヘッドによって小さなジョブは遅くなりますが、大量のデータを高速に処理することは、中・大規模なジョブにとって大きなメリットとなります!
Copyright© 2010, Oracle. All rights reserved. 29
検証環境
Sun Enterprise 3000
400MHz * 4CPU
4GB Memory
索引の張られていないテーブル(53partitions21,000,000rows)を用いてData Pumpを使っ
たエクスポート・インポートと従来のものとを比較する。作成されるダンプファイルは1.15GB。
750.418
136.45774.708 55.193
0
200
400
600
800
秒
imp impdp impdp(2p) impdp(4p)
従来型インポートと Data Pump インポートの処理時間比較
443.483
80.005 49.664 51.269
0
200
400
600
800
秒
exp expdp expdp(2p) expdp(4p)
従来型エクスポートと Data Pump エクスポートの処理時間比較
従来エクスポートに比べ、Data Pump は2パラ
レルで約9分の1の処理時間!!
従来インポートに比べ、Data Pump は4パラレ
ルで約13分の1の処理時間!!
パフォーマンス検証内容
検証結果
Copyright© 2010, Oracle. All rights reserved. 30
ダンプファイルを出力するディレクトリに対して、DB上でディレクトリオブジェクトを作成します。
実行時には、ディレクトリオブジェクトをDIRECTORYパラメータで指定します。
SQL > CREATE DIRECTORY DPUMP_DIR1 AS ‘/home/oracle/oradata/dpump_dir’;
SQL > GRANT READ, WRITE ON DIRECTORY dpump_dir1 TO scott;
COMMAND > expdp scott/tiger tables=emp,dept directory=dpump_dir1
パラメータでディレクトリを指定していない場合、OS環境変数「DATA_PUMP_DIR」、なければ ディレクトリオブジェクト「DATA_PUMP_DIR」が参照されます。
COMMAND > set DATA_PUMP_DIR=DPUMP_DIR1; export DATA_PUMP_DIR
COMMAND > expdp scott/tiger schemas=scott
Data Pumpではクライアントではなくサーバーにより書き込みが行われるため、処理を行うディレクトリ位置が特定されている必要があります
権限付与
ディレクトリオブジェクト作成
環境変数の設定
Export/Import – 出力先ディレクトリの指定Data Pump
Copyright© 2010, Oracle. All rights reserved. 31
9i までのエクスポートツールと同様の操作性をもった新エクスポートユーティリティ
モード 機能説明 パラメータ
フル データベース全体のエクスポート FULL=y
スキーマ 指定したスキーマ全体のエクスポート SCHEMAS=schema[, …]
テーブル 指定したテーブル全体のエクスポート TABLES=table[, …]
テーブルスペース 指定したテーブルスペース全体のエクスポート
TABLESPACES=tablespace[, …]
EXPDPで利用可能なモード
例1: > expdp scott/tiger full=y
例2: > expdp scott/tiger dumpfile=exp.dmp tables=emp,dept
フルモード
テーブルモード
Export – Data Pump –Export Utility
EXPDP
Data Pump
Copyright© 2010, Oracle. All rights reserved. 32
フィルタ処理を行い、エクスポートの対象となるオブジェクトを細かく設定することができます。
エクスポートの対象オブジェクトをINCLUDEパラメータで指定します。
COMMAND > expdp scott/tiger include=table
エクスポートの対象から除外するオブジェクトをEXCLUDEパラメータで指定します。
COMMAND > expdp scott/tiger exclude=index:¥”LIKE ¥‟EMP%¥‟¥”
LIKEやINを指定することも可能です。※空白等を区切り文字にしないためにダブルクオーテーションが
必要ですが、OSによってはエスケープ文字が必要となります。従
って、通常はパラメータを記述したファイルを読み込ませると便利です(次ページ参照)。
※INCLUDEとEXCLUDEパラメータは排他的で、同時に指定できません。
COMMAND > expdp scott/tiger include=index
フィルタ処理を行いますINCLUDE / EXCLUDE
Data Pump
Copyright© 2010, Oracle. All rights reserved. 33
指定したSCNもしくは時刻における一貫性を維持したデータのエクスポートが可能です。
あるSCNにおける一貫性を維持したデータをエクスポートするためにFLASHBACK_SCNパラメータを指定します。
COMMAND > expdp scott/tiger flashback_scn=364909 SCN指定
ある時刻における一貫性を維持したデータをエクスポートするためにFLASHBACK_TIMEパラメータを指定します。
COMMAND > cat parfile.txt
FLASHBACK_TIME=“TO_TIMESTAMP(„2004/03/20 10:00‟,‟YYYY/MM/DD HH:MI‟)”
COMMAND > expdp scott/tiger parfile=parfile.txt
時刻指定
TO_TIMESTAMP()で時刻を指定。
エスケープ文字が必要となるので、パラメータファイルで指定。
フラッシュバック・モードを指定しますFLASHBACK_SCN / FLASHBACK_TIME
Data Pump
Copyright© 2010, Oracle. All rights reserved. 34
エクスポート処理をパラレルで行うことが可能です。
並列度をPARALLELパラメータで指定します。
出力先ディレクトリをそれぞれ指定することも可能です。
COMMAND > expdp scott/tiger parallel=3 dumpfile=dpump_dir1:expdat%U.dmp,
dpump_dir2%U.dmp
COMMAND > ls –lR
dpump_dir1:
…….expdat01.dmp
…….expdat02.dmp
dpump_dir2:
…….expdat01.dmp
※要Enterprise Edition
置き換え変数(%U)を指定しない場合、dumpfileのファイル数はparallelの値に合わせる必要
があります。指定している場合、指定されたファイル指定がラウンドロビンに使用されます。
並列度の指定
生成されたダンプファイルセットの確認
パラレル・エクスポートを指定しますPARALLEL
Data Pump
Copyright© 2010, Oracle. All rights reserved. 35
ESTIMATE
ダンプファイルを生成せず、生成されるダンプファイルのサイズを見積もることが可能です。
見積もりのモードをESTIMATEパラメータで指定します。
パラメータ値には次のどちらかを設定します。
BLOCKS ・・・ ブロックサイズにオブジェクトのブロック数をかけて見積もります(精度は高くありません)
STATISTICS ・・・ 統計情報を元に見積もります
見積もりのみ出力する場合には、ESTIMATE_ONLY=yを指定します。
COMMAND > expdp scott/tiger tables=emp,dept estimate=blocks
estimate_only=y
ダンプファイルのサイズの見積もりますData Pump
Copyright© 2010, Oracle. All rights reserved. 36
実際にデータを作成し(40万行、2GB)、見積もりの精度を計測しました。dbms_statsはサンプル100%でかけてます。
COMMAND > expdp scott/tiger tables=test estimate=blocks estimate_only=y
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TBL_TABLE_DATA/TABLE/TABLE_DATA
. estimated “SCOTT".“TEST" 3.062 GB
Total estimation using BLOCKS method: 3.062 GB
COMMAND > expdp scott/tiger tables=test estimate=statistics estimate_only=y
Estimate in progress using STATISTICS method...
Processing object type TABLE_EXPORT/TABLE/TBL_TABLE_DATA/TABLE/TABLE_DATA
. estimated “SCOTT".“TEST" 1.947 GB
Total estimation using STATISTICS method: 1.947 GB
COMMAND > ls –l
……. 2092179456 …. expdat.dmp
約1.948GBマスターテーブルの容量が見積もりに入らないため、その分は考慮する必要があります。
見積もり実行例
BLOCKS
STATISTICS
確認
Data Pump
Copyright© 2010, Oracle. All rights reserved. 37
Import – Data Pump –
9i までのインポートツールと同様の操作性をもった新インポートユーティリティ
COMMAND > impdp scott/tiger tables=emp,dept
Import Utility
IMPDP
IMPDPでは、EXPDPで使用できたパラメータのほとんどを利用することができます。
IMPDPでパラメータを指定することにより、EXPDPで作成したダンプファイルからさらに対象データを絞りこんでインポートすることが可能です。
ダンプファイルからemp表とdept表のみをインポート。
COMMAND > impdp scott/tiger include=index
ダンプファイルから索引のみをインポート。
Data Pump
Copyright© 2010, Oracle. All rights reserved. 38
NETWORK_LINK
ネットワーク・リンクを使用します
データベース・リンクを使用して、リモートデータベースから直接ローカルデータベースにインポートを行うことができます。
参考:エクスポートのネットワーク・リンク指定は、リモートデータベースのデータをローカルにエクスポートする機能です。インポートの場合には直接ローカルデータベースに書き込むので、ダンプファイルを作成しません。
COMMAND > impdp scott/tiger tables=emp,dept directory=dpump_dir
network_link=scott.jp.oracle.com
接続するリモートデータベースを、NETWORK_LINKパラメータで指定します。指定する値はデータベース・リンク名です。
DB LINKの指定
※ネットワーク・リンク・インポートは10g以降のみ行うことができます。
Data Pump
Copyright© 2010, Oracle. All rights reserved. 39
Agenda
• Export/Importの概要
• 代表的な使い方 ーオリジナル編-
• 代表的な使い方 ーData Pump編-
• 知っておきたい便利な使い方
• まとめ無償技術サービスOracle Direct Concierge
http://www.oracle.com/lang/jp/direct/services.html
・Oracle Database バージョンアップ支援・Oracle 構成相談(Sizing)サービス・パフォーマンス・クリニック・サービス・SQL Serverからの移行アセスメント・DB2からの移行支援サービス・Sybaseからの移行支援サービス・MySQLからの移行相談サービス・PostgreSQLからの移行相談サービス・Accessからの移行アセスメント・Oracle Developer/2000 Webアップグレード相談・仮想化アセスメントサービス・ビジネスインテリジェンス・エンタープライズエディション・アセスメントサービス・簡易業務診断サービス
Copyright© 2010, Oracle. All rights reserved. 40
複数の表をExportし、データのみをImportしたい
複数の表をExportし、データのみをImportしたいが、外部キーが多数あり、整合性制約に違反してしまう・・・
COMMAND> expdp system/manager ;
SQL> alter table emp disable constraint emp_no_fk ;
・・・関連するすべての参照整合性約をdisableに設定します
COMMAND> impdp system/manager ;
SQL> alter table emp enable constraints emp_no_fk ;
・・・関連するすべての参照整合性約をenableに設定します
以下のように、関連する参照整合性制約を disableし、Import後に参照整合性制約を enable にすると、エラーを解消できます
オリジナル / Data Pump
Copyright© 2010, Oracle. All rights reserved. 41
Exportダンプから一部データを取り出す方法
誤って一部データをdelete
し、commit してしまった!!
エクスポートのダンプ・ファイルから取り出したい・・・
COMMAND> impdp system/manager
remap_schema=oradirect:dummy
SQL> insert into oradirect.emp select * from dummy.emp
where emp_id=100;
SQL> drop table dummy.emp
SQL> delete from oradirect.emp
where emp_id=100;
SQL> commit;
以下のように削除したデータを
エクスポートのダンプ・ファイルより取り出せます!
注)エクスポートした時点のデータと削除したデータが一致するかは不明であるため、
この例の場合emp_id=100のデータに関して、 エクスポート時と誤って削除した時が
同じであったことを前提と しています。
オリジナル / Data Pump
Copyright© 2010, Oracle. All rights reserved. 42
エクスポートファイルのサイズを指定する方法
Option FILESIZE
デフォルト データは、最大サイズに到達するまで
1つのファイルに書き込まれます
用途 FILESIZEパラメータの値(バイト制限)を指定すると、
エクスポート・ユーティリティによって、それぞれの
ダンプ・ファイルに指定したバイト数のみ書き込まれます。
使用例 exp scott/tiger TABLES=emp FILESIZE=2048
キロバイト(KB)、メガバイト(MB)、ギガバイト(GB)を付けて指定する事もできます
例:FILESIZE=5MBを指定した場合
5MB ・・・
expdat.dmp expdat2.dmp expdat3.dmp
5MB 5MB
オリジナル / Data Pump
Copyright© 2010, Oracle. All rights reserved. 43
WHERE句を指定しエクスポート範囲を限定する方法
Option QUERY
デフォルト なし
用途 エクスポートの実行時に、一連の表から行のサブセットを選択できるようにします。
QUERYパラメータの値は、SELECT文のWHERE句を含む文字列です。
例:職種がSALESMANで、給与が1600より尐ない
従業員のみをエクスポートする場合
exp scott/tiger TABLES=emp
QUERY=¥"WHERE job=¥'SALESMAN¥' and sal ¥<1600¥"
オリジナル / Data Pump
Copyright© 2010, Oracle. All rights reserved. 44
索引作成文を受け取る方法 -オリジナル-
エクスポート・ファイルのCREATE TABLE文もコメントとして含まれます!
オリジナル
Option INDEXFILE
デフォルト なし
用途 索引作成文を受け取るファイルを指定します
使用例 imp scott/tiger TABLES=(wendy.emp) INDEXFILE=„index.txt‟
Copyright© 2010, Oracle. All rights reserved. 45
さらにData PumpではすべてのSQL文を受け取れます
Data Pump
Option SQLFILE
デフォルト なし
用途 インポートが他のパラメータに基づいて実行するすべてのSQL
DDLの書込み先のファイルを指定します
使用例 impdp scott/tiger TABLES=(wendy.emp) SQLFILE=„index.txt‟
注意:
パスワードは、SQLファイルに含まれないことに注意してください。
たとえば、実行したDDLにCONNECT文が含まれている場合、
その文はコメントで置き換えられ、スキーマ名のみが表示されます。
例:TEST_TABLE表をインポートする際のSQLFILEを受け取る場合
impdp oradirect/oradirect dumpfile=test_table.dmp tables=test_table
sqlfile=sqlfile.txt
Copyright© 2010, Oracle. All rights reserved. 46
SQLFILEの一例Data Pump
CREATE TABLE文や
CREATE INDEX文を
確認する事ができます
さらにINSERT文も
確認する事ができます
Copyright© 2010, Oracle. All rights reserved. 47
Data Pump 11g新機能を活用!
• 11g新機能• ダンプファイルの圧縮(Advanced Compression Option)
• データやメタデータを圧縮してダンプファイルにエクスポートできる。
• ダンプファイルの暗号化(Advanced Security Option)
• データやメタデータを暗号化してダンプファイルにエクスポートできる。
Copyright© 2010, Oracle. All rights reserved. 48
Data Pump 圧縮
$ expdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=scott.dmp
COMPRESSION=ALL SCHEMAS=scott
Advanced Compression
Option
• COMPRESSION={ALL | DATA_ONLY | METADATA_ONLY | NONE}
• NONE...エクスポート操作全体について圧縮が無効• METADATA_ONLY(default)...全ての“メタデータ”が圧縮形式でダンプ・ファイルへ書き込み
(以下の操作はAdvanced Compressionオプションが必要)
• DATA_ONLY...全ての“データ”が圧縮形式でダンプ・ファイルへ書き込み
• ALL...データ、メタデータともに圧縮
• (例)スキーマを指定し、メタデータ、データともに圧縮してダンプ・ファイルscott.dmpへエクスポート
Data Pump
Copyright© 2010, Oracle. All rights reserved. 49
$ expdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=scott_enc.dmp
SCHEMAS=scott ENCRYPTION=data_only ENCRYPTION_PASSWORD=tiger
Advanced Security
Option
Data Pump 暗号化
• ENCRYPTION = {ALL | DATA_ONLY |
ENCRYPTED_COLUMNS_ONLY | METADATA_ONLY | NONE}
• ALL:すべてのデータおよびメタデータについて暗号化が有効
• DATA_ONLY:データのみが暗号化
• ENCRYPTED_COLUMNS_ONLY:暗号化された列のみが暗号化される
• METADATA_ONLY:メタデータのみが暗号化
• NONE:データは暗号化されない
• (例)ダンプ・ファイルでデータのみが暗号化されるエクスポート操作
Data Pump
Copyright© 2010, Oracle. All rights reserved. 50
Agenda
• Export/Importの概要
• 代表的な使い方 ーオリジナル編-
• 代表的な使い方 ーData Pump編-
• 知っておきたい便利な使い方
• まとめ無償技術サービスOracle Direct Concierge
http://www.oracle.com/lang/jp/direct/services.html
・Oracle Database バージョンアップ支援・Oracle 構成相談(Sizing)サービス・パフォーマンス・クリニック・サービス・SQL Serverからの移行アセスメント・DB2からの移行支援サービス・Sybaseからの移行支援サービス・MySQLからの移行相談サービス・PostgreSQLからの移行相談サービス・Accessからの移行アセスメント・Oracle Developer/2000 Webアップグレード相談・仮想化アセスメントサービス・ビジネスインテリジェンス・エンタープライズエディション・アセスメントサービス・簡易業務診断サービス
Copyright© 2010, Oracle. All rights reserved. 51
まとめ
• エクスポート・インポートの種類は2種類(10g以降)
• オリジナルのExport/ImportとData Pump
• Oracle Database 10gからはData Pumpを使用する• Oracle Database 10g以前のバージョンからデータを移行する場合は、オリジナルのエクスポート・インポートを使用する
• ダイレクト・パス・ロードで高速な移行を実現
• Optionコマンドを使って、最適なExport/Importを実現• Advanced Compressionで圧縮して高速化を実現
• セキュリティを高めたいなら、Advanced Security
Copyright© 2010, Oracle. All rights reserved. 52
OTNセミナー オンデマンド コンテンツダイセミで実施された技術コンテンツを動画で配信中!!
ダイセミのライブ感はそのままに、お好きな時間で受講頂けます。
※掲載のコンテンツ内容は予告なく変更になる可能性があります。期間限定での配信コンテンツも含まれております。お早めにダウンロード頂くことをお勧めいたします。
OTN オンデマンド
Copyright© 2010, Oracle. All rights reserved. 53
Oracle エンジニアのための技術情報サイト
オラクルエンジニア通信http://blogs.oracle.com/oracle4engineer/
• 技術資料
• ダイセミの過去資料や製品ホワイトペーパー、スキルアップ資料などを多様な方法で検索できます
• キーワード検索、レベル別、カテゴリ別、製品・機能別
• コラム
• オラクル製品に関する技術コラムを毎週お届けします
• 決してニッチではなく、誰もが明日から使える技術の「あ、そうだったんだ!」をお届けします
先月はこんな資料が人気でした
Oracle Database 11gR2 RAC インストレーション・ガイド ASM 版 Microsoft Windows x86-64
Oracle Database 11gR2 旧バージョンからのアップグレードオラクルエンジニア通信
Copyright© 2010, Oracle. All rights reserved.
オラクル クルクルキャンペーン
54
Enterprise Editionはここが違う!!
• 圧倒的なパフォーマンス!
•データベース管理がカンタン!
•データベースを止めなくていい!
• もちろん障害対策も万全!
Oracle Databaseのライセンス価格を大幅に抑えて
ご導入いただけます
詳しくはコチラ
http://www.oracle.co.jp/campaign/kurukuru/index.html
あのOracle Database Enterprise Editionが超おトク!!
お問い合わせフォームhttp://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28
多くのお客様でサーバー使用期間とされる
5年間にライセンス期間を限定
•期間途中で永久ライセンスへ差額移行
• 5年後に新規ライセンスを購入し継続利用
• 5年後に新システムへデータを移行
Copyright© 2010, Oracle. All rights reserved. 55
http://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28
Oracle Direct 検索
あなたにいちばん近いオラクル
Oracle Directまずはお問合せください
Web問い合わせフォーム フリーダイヤル
専用お問い合わせフォームにてご相談内容を承ります。
※フォームの入力には、Oracle Direct Seminar申込時と同じログインが必要となります。
※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。
0120-155-096
※月曜~金曜 9:00~12:00、13:00~18:00
(祝日および年末年始除く)
システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。
システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。
Copyright© 2010, Oracle. All rights reserved. 56
OTN×ダイセミ でスキルアップ!!
※OTN掲示版は、基本的にOracleユーザー有志からの回答となるため100%回答があるとは限りません。ただ、過去の履歴を見ると、質問の大多数に関してなんらかの回答が書き込まれております。
Oracle Technology Network(OTN)を御活用下さい。
・一般的な技術問題解決方法などを知りたい!・セミナ資料など技術コンテンツがほしい!
一般的技術問題解決にはOTN掲示版の
「データベース一般」をご活用ください
http://otn.oracle.co.jp/forum/index.jspa?categoryID=2
過去のセミナ資料、動画コンテンツはOTNの
「OTNセミナー オンデマンド コンテンツ」へ
http://www.oracle.com/technology/global/jp/ondemand/otn-seminar/index.html
※ダイセミ事務局にダイセミ資料を請求頂いても、お受けできない可能性がございますので予めご了承ください。ダイセミ資料はOTNコンテンツ オン デマンドか、セミナ実施時間内にダウンロード頂くようお願い致します。
Copyright© 2010, Oracle. All rights reserved. 57
以上の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
Oracle、PeopleSoft、JD Edwards、及びSiebelは、米国オラクル・コーポレーション及びその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標の可能性があります。