Oracle Data Pump完全ガイド:仕組みと使い方、SCOTTスキーマ導入から実行例まで徹底解説

Datapump

Oracle Databaseを効率的にバックアップ・移行する際に活用されるツールが「Oracle Data Pump」です。この記事では、SCOTTスキーマの導入からexpdp / impdp の実行例、補足手順(ディレクトリ作成・権限付与)まで初心者にも分かりやすく解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


Data Pumpとは?

Oracle Data Pumpは、Oracle 10g以降で提供されているデータのエクスポート/インポート機能です。

機能コマンド
エクスポートexpdp
インポートimpdp

従来のexp/impとの違い

比較項目Data Pump従来のexp/imp
処理場所サーバーサイドクライアントサイド
並列処理対応非対応
ネットワーク転送対応(NETWORK_LINK)非対応
フィルタ機能柔軟(WHERE句等)制限あり

構成図(概略)

┌────────┐    expdp     ┌────────┐
│ Oracle DB1 │ ───────→ │ dumpファイル│
└────────┘             └────────┘
                                     ↓ impdp
                               ┌────────┐
                               │ Oracle DB2 │
                               └────────┘

なぜSCOTTスキーマをインストールするのか?

SCOTTスキーマは、Oracle Databaseにおけるサンプルスキーマの一つで、教育・学習・動作確認・実験用途に適しています。あらかじめ定義されたシンプルな表構造(EMP, DEPT, BONUS, SALGRADEなど)が用意されており、Data Pumpなどの機能検証に最適です。

SCOTTスキーマを導入することで、以下のような利点があります:

  • 実際の業務データを使用せずに、安全にテストや検証ができる
  • Oracle公式資料でも使用されているため、情報が豊富
  • 初心者がSQLやバックアップの実践練習を行うのに適している

SCOTTスキーマのインストール手順

Oracle提供のdemobld.sqlスクリプトを使用

$ sqlplus / as sysdba
SQL> @?/rdbms/admin/utlsampl.sql

Data Pump実行前の準備

1. Data Pump用ディレクトリの作成(OS上)

--oracle ユーザー
$ mkdir -p /u01/app/oracle/dpdump

※ディレクトリ権限が足りずディレクトリが作成できない場合は root で実行

--root ユーザー
# mkdir -p /u01/app/oracle/dpdump
# chown oracle:oinstall /u01/app/oracle/dpdump

Windows の場合は手動で Data Pump で使用するフォルダを作成。
例) C:\Users\dpdump

2. Oracle上でディレクトリオブジェクト作成

CREATE OR REPLACE DIRECTORY dp_dir AS '/u01/app/oracle/dpdump';
GRANT READ, WRITE ON DIRECTORY dp_dir TO scott;

expdp 実行例(スキーマ全体)

expdp scott/tiger DIRECTORY=dp_dir DUMPFILE=scott.dmp LOGFILE=scott.log SCHEMAS=scott

expdp 実行例(特定表のみ)

expdp scott/tiger DIRECTORY=dp_dir DUMPFILE=emp.dmp LOGFILE=emp.log TABLES=emp

impdp 実行例(ダンプファイルをインポート)

impdp scott/tiger DIRECTORY=dp_dir DUMPFILE=scott.dmp LOGFILE=scott_imp.log

impdp 実行例(スキーマ名を変更)

impdp scott/tiger DIRECTORY=dp_dir DUMPFILE=scott.dmp LOGFILE=remap.log REMAP_SCHEMA=scott:scott_test

よく使うオプション一覧

オプション内容
SCHEMASスキーマ単位でエクスポート
TABLESテーブル単位でエクスポート
QUERYWHERE句で抽出条件を指定
REMAP_SCHEMAスキーマ名の置き換え
PARALLEL並列処理の設定
EXCLUDE/INCLUDEオブジェクトの絞り込み

まとめ

  • Data PumpはOracle標準の高速データ移行ツール
  • expdpimpdp の2つのコマンドで構成
  • SCOTT スキーマとディレクトリオブジェクトの作成が前提
  • 柔軟なオプションでさまざまなユースケースに対応



[参考]
ユーティリティ – 2 Oracle Data Pumpエクスポート
ユーティリティ – 3 Oracleデータ・ポンプ・インポート

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました