RMANのduplicateコマンドでDBを複製する
はじめに
データベースの複製パターンには下記4つのパターンがあります。
システム的な要件によって選べる選択肢が変わってくると思います。
今回の例では4.の「ターゲットまたはリカバリ・カタログへの接続なしで実行するバックアップベースの複製」で実施しています。
-
アクティブな複製
オープン状態またはマウント状態のデータベースから直接複製します。
-
ターゲット接続なしで実行するバックアップベースの複製
RMANは、既存のRMANバックアップおよびコピーから複製ファイルを作成します。
この形式では、補助インスタンスおよびリカバリ・カタログへの接続が必要
-
ターゲット接続を指定したバックアップベースの複製
既存のRMANバックアップおよびコピーから複製ファイルを作成します。
-
ターゲットまたはリカバリ・カタログへの接続なしで実行するバックアップベースの複製
BACKUP LOCATIONで指定した場所に配置されたRMANバックアップおよびコピーから複製ファイルを作成
RMANバックアップからリストア・リカバリする場合もデータベースの複製となりますが、今回の例では含んでいません。
環境構成
同一筐体内に複製する手順となります。
No | データベース名 | DBバージョン | 備考 |
---|---|---|---|
1 | db121s | 12.1.0.2 | 複製元 |
2 | db121t | 12.1.0.2 | 複製先 |
複製元でRMANバックアップの取得
rman target /
run {
BACKUP INCREMENTAL LEVEL 0 DATABASE FORMAT '/home/oracle/rman/db121s/full_%d_%T_%U' SPFILE PLUS ARCHIVELOG FORMAT '/home/oracle/rman/db121s/ARCH_%d_%T_%U';
BACKUP AS COPY CURRENT CONTROLFILE FORMAT '/home/oracle/rman/db121s/CNT_%d_%T_%U.ctl';
}
複製先のクリーンアップ
rm -rf /u01/app/oracle/oradata/DB121T/*
複製先パラメータファイル作成
複製元のデータベースに接続し、spfileから編集用のpfileを作成する。
. /home/oracle/.oraenv_db121s
sqlplus / as sysdba
create pfile='/tmp/initdb121t.ora' from spfile;
exit
複製先パラメータファイル編集
複製元に依存する値を複製先に記載を変更する。(例:db_nameは「db121s」から「db121t」へ)
vi /tmp/initdb121t.ora
以下のパラメータの値を変更する
・*.cluster_database : false ・*.control_files : /u01/app/oracle/oradata/db121t
・*.db_name : db121t
・*.db_unique_name : db121t
・*.dispatchers : (PROTOCOL=TCP) (SERVICE=db121tXDB)
以下のパラメータの値を追加する
*.DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/DB121S/datafile/','/u01/app/oracle/oradata/DB121T/datafile/'
*.LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/DB121S/onlinelog/','/u01/app/oracle/oradata/DB121T/onlinelog'
補助インスタンス起動
. /home/oracle/.oraenv_db121t
sqlplus / as sysdba
startup nomount pfile='/tmp/initdb121t.ora'
spfileの作成
create spfile = '/u01/app/oracle/product/12.1.0.2/dbhome_2/dbs/spfiledb121t.ora' from pfile='/tmp/initdb121t.ora';
exit
複製コマンドの実施
rman auxiliary /
run {
duplicate database to db121t backup location '/home/oracle/rman/db121s';
}
RMANのduplicateコマンドの詳細についてはマニュアルをご確認ください。
Oracle® Databaseバックアップおよびリカバリ・リファレンス 12cリリース1 (12.1)
https://docs.oracle.com/cd/E57425_01/121/RCMRF/rcmsynta020.htm
DUPLICATE
関連しているかもしれない記事
- Data Pump(expdp/impdp)使用時のコマンドとオプション
- Oracle Databaseの表領域使用率を確認するSQL
- Oracle Databaseで透過的データベース暗号化(Transparent Data Encryption(TDE))の設定・構築を行う
- GoldenGate関連プロセスのsession情報を確認する方法
- AWR(DBA_HIST表)を使用した確認SQL