【Oracle】クローンデータベースの作成方法|開発・検証環境の構築に便利

【Oracle】クローンデータベースの作成方法|開発・検証環境の構築に便利 Oracle

本番環境のデータベースと同じ構成を別の環境で再現したいとき、Oracleのクローンデータベース作成は非常に便利です。開発・テスト・検証用に安全かつ効率的に本番と同等のデータを再現できるため、多くの現場で活用されています。

この記事では、Oracleでクローンデータベースを作成する方法について、代表的な3つのアプローチを紹介します。

RMANを使ってクローンを作成する

RMAN(Recovery Manager)を使用すると、本番データベースのバックアップから新しいクローンデータベースを作成できます。以下はその基本的な手順です。

ステップ1:ターゲットと補助インスタンスの準備

補助(クローン先)インスタンスを起動します。

startup nomount pfile=/tmp/initclone.ora

ステップ2:RMANで接続

rman target sys/password@PROD auxiliary sys/password@CLONE

ステップ3:クローンを作成

DUPLICATE TARGET DATABASE TO clone_db
  FROM ACTIVE DATABASE
  SPFILE
    SET db_name='clone_db'
    SET control_files='/u01/app/oracle/oradata/clone/control01.ctl'
  NOFILENAMECHECK;

FROM ACTIVE DATABASE を使えば、バックアップ不要でオンラインのままクローン可能です。

Data Pumpを利用したクローン構築

開発環境など、ダンプファイルを経由した論理的なコピーが必要な場合は、Data Pump(expdp/impdp)を利用します。

ステップ1:本番環境でダンプを取得

expdp system/password schemas=HR directory=DATA_PUMP_DIR dumpfile=hr.dmp logfile=exp.log

ステップ2:クローン先でスキーマを作成し、インポート

impdp system/password schemas=HR directory=DATA_PUMP_DIR dumpfile=hr.dmp logfile=imp.log

必要に応じてremap_schemaremap_tablespaceを活用しましょう。

ファイルシステムコピーでのクローン作成

テスト目的などでファイル単位で物理コピーする方法もありますが、Oracleインスタンスは停止状態である必要があります。

  1. 本番データベースをシャットダウン
  2. データファイル、制御ファイル、REDOログをコピー
  3. init.oraやspfileを修正
  4. 新インスタンスでstartup mount後にrecover database

この方法は環境依存性が高いため、実務ではRMANやData Pumpの方が安全です。

まとめ

Oracleでクローンデータベースを作成する方法には、物理・論理・ハイブリッドなアプローチがあり、目的や環境に応じて使い分けることが重要です。開発・テスト・移行の効率化において強力な手段となるため、正しく手順を理解しておきましょう。