【Oracle】dumpファイルの作成方法を徹底解説|expdp/impdpの使い方と転職で活かせるDBスキル

【Oracle】dumpファイルの作成方法を徹底解説|expdp/impdpの使い方と転職で活かせるDBスキル

※ この記事にはアフィリエイトリンクが含まれます

Oracleでデータベースを運用していると、バックアップや環境移行のためにdumpファイルを作成する場面が必ず出てきます。

特に大規模なシステムでは、安定したデータ移行や障害対応のために、dumpファイルの知識が欠かせません。

本記事では、Oracleでdumpファイルを作成する方法について、基本からわかりやすく解説します。

実務で役立つサンプルコマンドや注意点も取り上げますので、ぜひ参考にしてください。また、こうしたデータベーススキルは、転職市場でも高い評価を受けるポイントです。

記事の最後ではキャリアアップに役立つ転職サイトもご紹介しますので、今の環境に物足りなさを感じている方はぜひチェックしてみてください。

目次

dumpファイルとは?

dumpファイルとは、Oracleデータベースの内容を外部ファイルに書き出したものです。データベース全体や特定のスキーマ・テーブルをファイルとしてエクスポートできるため、以下のような用途で広く利用されています。

  • バックアップ
    障害発生時に備えたデータ保護
  • 移行
    開発環境から本番環境へデータを移す際の利用
  • データ抽出
    必要なスキーマやテーブルだけを取り出す

dumpファイルは、Oracleが提供するユーティリティ(exp/imp またはexpdp/impdp)を使って作成・読み込みを行います。

  • exp/imp:従来のエクスポート/インポートツール(古いバージョンでも使用可能)
  • expdp/impdp(Data Pump Export/Import):パフォーマンスが高く、現在主流の方法

このdumpファイルを活用することで、システムの移行や復旧をスムーズに行えるため、データベース管理者にとって必須のスキルといえます。

dumpファイルを作成する準備

dumpファイルを作成する前に、いくつかの準備が必要です。事前に環境を整えておくことで、エクスポート作業をスムーズに進められます。

1. ユーザー権限の確認

dumpファイルの作成には、エクスポート対象スキーマやテーブルへのアクセス権限が必要です。
特にData Pump(expdp)を使う場合は、以下の権限を付与しておきましょう。

GRANT EXP_FULL_DATABASE TO ユーザー名;
GRANT IMP_FULL_DATABASE TO ユーザー名;

2. ディレクトリオブジェクトの作成

Data Pumpでは、エクスポート先としてOracleが認識するディレクトリオブジェクト を作成する必要があります。

例えば以下のように設定します。

CREATE OR REPLACE DIRECTORY dump_dir AS '/u01/app/oracle/dump';
GRANT READ, WRITE ON DIRECTORY dump_dir TO ユーザー名;

この時、OS側のフォルダ/u01/app/oracle/dump にもアクセスできるように権限設定しておく必要があります。

3. 出力先の要領確認

エクスポートするデータ量によって、dumpファイルは非常に大きくなることがあります。
事前に出力先ディスクの空き容量を確認しておきましょう。

dumpファイルの作成方法

ここでは、Oracleでdumpファイルを作成する代表的な方法を解説します。
主に、Data Pump(expdp) が現在の主流ですが、古い環境では従来の exp ユーティリティが使われる場合もあります。それぞれの方法を見ていきましょう。

1. Data Pump Export(expdp)を使う場合

Data Pumpは高速かつ柔軟にエクスポートできるツールです。
基本的な構文は以下の通りです。

expdp ユーザー名/パスワード@サービス名 \
    DIRECTORY=dump_dir \
    DUMPFILE=sample.dmp \
    LOGFILE=sample.log \
    SCHEMAS=HR

主なオプション

  • DIRECTORY : エクスポート先ディレクトリ(事前に作成したディレクトリオブジェクト名)
  • DUMPFILE : 出力するdumpファイル名
  • LOGFILE : 実行ログを記録するファイル名
  • SCHEMAS : エクスポート対象スキーマ(複数指定も可能)

データベース全体をエクスポートする場合

expdp system/パスワード@サービス名 DIRECTORY=dump_dir DUMPFILE=full.dmp LOGFILE=full.log FULL=Y

特定のテーブルをエクスポートする場合

expdp ユーザー名/パスワード@サービス名 DIRECTORY=dump_dir DUMPFILE=table.dmp LOGFILE=table.log TABLES=employees,departments

2. 従来のExport(exp)を使う場合

古いOracle環境(10g以前など)では、exp を使用します。

exp ユーザー名/パスワード@サービス名 \
    FILE=legacy.dmp \
    LOG=legacy.log \
    OWNER=HR

主なオプション

  • FILE : 出力ファイル名
  • LOG : ログファイル名
  • OWNER : エクスポート対象スキーマ

現在は expdp/impdp(Data Pump) が推奨されており、大容量データでも高速に処理できるため、可能であればData Pumpを利用するのがおすすめです。

dumpファイル確認・利用方法

エクスポートしたdumpファイルは、そのまま保存してバックアップとして利用できますが、移行や検証の際にはインポートしてデータを復元する必要があります。ここでは確認方法と利用方法を解説します。

1. 作成後の確認

dumpファイル作成時には、指定したログファイルを確認することが重要です。

cat sample.log
  • エクスポート対象のスキーマやテーブルが正しく処理されたか
  • エラーが発生していないか
    を必ずチェックしておきましょう。

2. Data Pump Import によるリストア

Data Pumpでエクスポートしたファイルは、impdp コマンドでインポートできます。

impdp ユーザー名/パスワード@サービス名 \
    DIRECTORY=dump_dir \
    DUMPFILE=sample.dmp \
    LOGFILE=import.log \
    SCHEMAS=HR

Oracleのdumpファイルのリストア方法については、こちらの記事で詳しく解説をしています。ぜひご覧ください。

3. バージョン差異に注意

  • エクスポート元とインポート先のOracleバージョンが異なる場合、正常に読み込めないことがあります。
  • 基本的には「同じバージョン」または「インポート先が新しいバージョン」の組み合わせが推奨されます。

まとめ

今回は、Oracleでdumpファイルを作成・利用する方法について解説しました。

  • dumpファイルとは:データベース内容を外部に書き出すファイル
  • 準備:ユーザー権限・ディレクトリオブジェクト・出力先の確認が必要
  • 作成方法:主に expdp/impdp(Data Pump) を利用するのが主流
  • 利用方法:ログ確認と impdp によるインポートで検証・移行が可能

こうしたスキルは、日常の運用や障害対応で役立つだけでなく、エンジニアとしての市場価値を高める武器 になります。

もし「今の職場ではDBスキルが評価されにくい」「もっと最新技術に携わりたい」と感じているなら、転職を検討してみるのも一つの選択肢です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

沖縄出身のエンジニアです。IT業界で5年以上の経験があり、主にC#やPHPを使って開発を行ってきました。新しい技術にも興味があり、日々学びながらスキルアップを目指しています。

コメント

コメントする

CAPTCHA


目次