本番環境のデータベースと同じ構成を別の環境で再現したいとき、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_schema
やremap_tablespace
を活用しましょう。
ファイルシステムコピーでのクローン作成
テスト目的などでファイル単位で物理コピーする方法もありますが、Oracleインスタンスは停止状態である必要があります。
- 本番データベースをシャットダウン
- データファイル、制御ファイル、REDOログをコピー
- init.oraやspfileを修正
- 新インスタンスで
startup mount
後にrecover database
この方法は環境依存性が高いため、実務ではRMANやData Pumpの方が安全です。
まとめ
Oracleでクローンデータベースを作成する方法には、物理・論理・ハイブリッドなアプローチがあり、目的や環境に応じて使い分けることが重要です。開発・テスト・移行の効率化において強力な手段となるため、正しく手順を理解しておきましょう。