アクティブデータベース複製(Active Duplicate)の手順とポイント

Oracle Master Gold

Oracle RMANには、バックアップファイルを使用せずにソースデータベースから直接ネットワーク経由で複製する「アクティブデータベース複製(Active Duplicate)」機能があります。この記事では、Oracle Database 19c 環境でアクティブデータベース複製を行う手順を、初心者にもわかりやすく、実務に役立つ形で徹底解説します。

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

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


■ アクティブデータベース複製とは?

アクティブデータベース複製は、RMANがソースDBに接続し、バックアップセットを使用せずに必要なデータをターゲットに直接コピーする方式です。

🔍 特徴

  • バックアップファイルが不要(事前のバックアップ取得が不要)
  • ネットワーク経由でソースDBから直接転送
  • 時点を指定しての複製も可能(set until
  • 物理ファイルの配置変更も可能(file_name_convert
  • 複製処理中はソースDBにアクセスするため、ネットワークとリソースの影響に注意が必要

✅ 利用シーン

  • テスト・開発環境の構築
  • 本番環境の検証コピーの作成
  • スタンバイDB構築の下準備

■ 環境構成の例

[ソースDB]
  SID        : v19
  ホスト     : 192.168.56.10

[ターゲットDB(複製先)]
  SID        : orcl
  ホスト     : 192.168.56.20

■ 準備手順(ターゲットDB側)

1. 初期化パラメータファイル(PFILE)作成

$ vi /var/tmp/init.ora
DB_NAME=orcl

2. 環境変数とパスワードファイルの設定

$ export ORACLE_SID=orcl
$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle entries=10 format=12

3. listener.ora(静的登録)

$ vi $ORACLE_HOME/network/admin/listener.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.20)(PORT = 1521))))

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)))

4. tnsnames.ora 設定(ターゲット・ソース両方に必要)

$ vi $ORACLE_HOME/network/admin/tnsnames.ora

V19 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.10)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = v19)))

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.20)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)))

5. ターゲットインスタンスの起動(nomount)

$ sqlplus / as sysdba
SQL> startup nomount pfile=/var/tmp/init.ora

■ アクティブデータベース複製の実行手順(実行例付き)

$ export ORACLE_SID=orcl
$ rman target sys/oracle@v19
RMAN> connect auxiliary sys/oracle@orcl;

RMAN> duplicate target database to orcl
  from active database
  spfile
    parameter_value_convert 'V19','ORCL'
    set db_file_name_convert='/u01/app/oracle/oradata/V19','/u01/app/oracle/oradata/ORCL'
    set log_file_name_convert='/u01/app/oracle/oradata/V19','/u01/app/oracle/oradata/ORCL'
    set control_files='/u01/app/oracle/oradata/ORCL/control01.ctl'
  nofilenamecheck;

💡 parameter_value_convertfile_name_convertの指定で、ソース→ターゲットの構成変更が柔軟に行えます。


■ 図で理解するアクティブ複製の流れ

┌────────────┐
│ ソースDB    │
│ (v19)       │
└────┬───────┘
     │ ネットワーク経由
     ▼
┌────────────┐
│ ターゲットDB│
│ (orcl)      │
└────────────┘

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

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


■ 複製完了後の確認

SQL> select instance_name, status from v$instance;

INSTANCE_NAME STATUS
------------- -------
orcl          OPEN
[oracle@v19single ~]$ vi /var/tmp/init.ora  ★補助インスタンス用のpfileを作成
[oracle@v19single ~]$ cat /var/tmp/init.ora
DB_NAME=orcl
[oracle@v19single ~]$ export ORACLE_SID=orcl
[oracle@v19single ~]$ echo $ORACLE_SID
orcl
[oracle@v19single ~]$ vi $ORACLE_HOME/network/admin/listener.ora ★静的構成
[oracle@v19single ~]$ cat $ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.20 )(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))))

SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=orcl)
(ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1)))
[oracle@v19single ~]$ lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 02-4月 -2025 15:01:39

Copyright (c) 1991, 2023, Oracle. All rights reserved.

/u01/app/oracle/product/19.0.0/dbhome_1/bin/tnslsnrを起動しています。お待ちください...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
システム・パラメータ・ファイルは/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.oraです。
ログ・メッセージを/u01/app/oracle/diag/tnslsnr/v19single/listener/alert/log.xmlに書き込みました。
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.19)(PORT=1521)))
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.20)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日 02-4月 -2025 15:01:40
稼働時間 0 日 0 時間 0 分 0 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
ログ・ファイル /u01/app/oracle/diag/tnslsnr/v19single/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.20)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
サービスのサマリー...
サービス"orcl"には、1件のインスタンスがあります。
インスタンス"orcl"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
[oracle@v19single ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora
[oracle@v19single ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
V19 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = v19)))

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.20)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)))
[oracle@v19single ~]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle entries=10 format=12 ★パスワードファイルを作成
[oracle@v19single ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 水 4月 2 15:02:18 2025
Version 19.21.0.0.0

Copyright (c) 1982, 2022, Oracle. All rights reserved.

アイドル・インスタンスに接続しました。

SQL> startup nomount pfile=/var/tmp/init.ora ★補助インスタンスをnomountで起動
ORACLEインスタンスが起動しました。

Total System Global Area 218102080 bytes
Fixed Size 8923456 bytes
Variable Size 188743680 bytes
Database Buffers 16777216 bytes
Redo Buffers 3657728 bytes
SQL> exit
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.21.0.0.0との接続が切断されました。
[oracle@v19single ~]$ rman target sys/oracle@v19 ★複製元データベースに接続

Recovery Manager: Release 19.0.0.0.0 - Production on 水 4月 2 15:45:22 2025
Version 19.21.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.

ターゲット・データベース: V19 (DBID=2957249400)に接続されました

RMAN> connect auxiliary sys/oracle@orcl ★補助インスタンスに接続

補助データベース: ORCLに接続されました(マウントされていません)

RMAN> duplicate target database to orcl ★複製
2> from active database
3> spfile
4> parameter_value_convert 'V19','ORCL'
5> set db_file_name_convert='/u01/app/oracle/oradata/V19','/u01/app/oracle/oradata/ORCL'
6> set log_file_name_convert='/u01/app/oracle/oradata/V19','/u01/app/oracle/oradata/ORCL'
7> set control_files='/u01/app/oracle/oradata/ORCL/control01.ctl'
8> nofilenamecheck;

Duplicate Dbを25-04-02で開始しています
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
チャネル: ORA_AUX_DISK_1が割り当てられました
チャネルORA_AUX_DISK_1: SID=38 デバイス・タイプ=DISK
現在のログがアーカイブされました。

メモリー・スクリプトの内容:
{
restore clone from service 'v19' spfile to
'/u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfileorcl.ora';
sql clone "alter system set spfile= ''/u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfileorcl.ora''";
}
メモリー・スクリプトを実行しています

restoreを25-04-02で開始しています
チャネルORA_AUX_DISK_1の使用

チャネルORA_AUX_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: SPFILEをリストアしています
出力ファイル名=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfileorcl.ora
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:01
restoreを25-04-02で終了しました

SQL文: alter system set spfile= ''/u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfileorcl.ora''

メモリー・スクリプトの内容:
{
sql clone "alter system set db_name =
''ORCL'' comment=
''duplicate'' scope=spfile";
sql clone "alter system set db_file_name_convert =
''/u01/app/oracle/oradata/V19'', ''/u01/app/oracle/oradata/ORCL'' comment=
'''' scope=spfile";
sql clone "alter system set log_file_name_convert =
''/u01/app/oracle/oradata/V19'', ''/u01/app/oracle/oradata/ORCL'' comment=
'''' scope=spfile";
sql clone "alter system set control_files =
''/u01/app/oracle/oradata/ORCL/control01.ctl'' comment=
'''' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
メモリー・スクリプトを実行しています

SQL文: alter system set db_name = ''ORCL'' comment= ''duplicate'' scope=spfile

SQL文: alter system set db_file_name_convert = ''/u01/app/oracle/oradata/V19'', ''/u01/app/oracle/oradata/ORCL'' comment= '''' scope=spfile

SQL文: alter system set log_file_name_convert = ''/u01/app/oracle/oradata/V19'', ''/u01/app/oracle/oradata/ORCL'' comment= '''' scope=spfile

SQL文: alter system set control_files = ''/u01/app/oracle/oradata/ORCL/control01.ctl'' comment= '''' scope=spfile

Oracleインスタンスがシャットダウンしました

補助データベースに接続されました(開始されていません)
Oracleインスタンスが起動しました

システム・グローバル領域の合計は、 255851248バイトです。

Fixed Size 8923888バイト
Variable Size 226492416バイト
Database Buffers 16777216バイト
Redo Buffers 3657728バイト

メモリー・スクリプトの内容:
{
sql clone "alter system set db_name =
''V19'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''ORCL'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
restore clone from service 'v19' primary controlfile;
alter clone database mount;
}
メモリー・スクリプトを実行しています

SQL文: alter system set db_name = ''V19'' comment= ''Modified by RMAN duplicate'' scope=spfile

SQL文: alter system set db_unique_name = ''ORCL'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracleインスタンスがシャットダウンしました

Oracleインスタンスが起動しました

システム・グローバル領域の合計は、 255851248バイトです。

Fixed Size 8923888バイト
Variable Size 226492416バイト
Database Buffers 16777216バイト
Redo Buffers 3657728バイト

restoreを25-04-02で開始しています
チャネル: ORA_AUX_DISK_1が割り当てられました
チャネルORA_AUX_DISK_1: SID=424 デバイス・タイプ=DISK

チャネルORA_AUX_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: 制御ファイルをリストア中です
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:02
出力ファイル名=/u01/app/oracle/oradata/ORCL/control01.ctl
restoreを25-04-02で終了しました

データベースがマウントされました。

メモリー・スクリプトの内容:
{
set newname for datafile 1 to
"/u01/app/oracle/oradata/ORCL/system01.dbf";
set newname for datafile 3 to
"/u01/app/oracle/oradata/ORCL/sysaux01.dbf";
set newname for datafile 4 to
"/u01/app/oracle/oradata/ORCL/undotbs01.dbf";
set newname for datafile 7 to
"/u01/app/oracle/oradata/ORCL/users01.dbf";
restore
from nonsparse from service
'v19' clone database
;
sql 'alter system archive log current';
}
メモリー・スクリプトを実行しています

実行コマンド: SET NEWNAME

実行コマンド: SET NEWNAME

実行コマンド: SET NEWNAME

実行コマンド: SET NEWNAME

restoreを25-04-02で開始しています
チャネルORA_AUX_DISK_1の使用

チャネルORA_AUX_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: バックアップ・セットからリストアするデータファイルを指定しています
チャネルORA_AUX_DISK_1: データファイル00001を/u01/app/oracle/oradata/ORCL/system01.dbfにリストアしています
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:26
チャネルORA_AUX_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: バックアップ・セットからリストアするデータファイルを指定しています
チャネルORA_AUX_DISK_1: データファイル00003を/u01/app/oracle/oradata/ORCL/sysaux01.dbfにリストアしています
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:07
チャネルORA_AUX_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: バックアップ・セットからリストアするデータファイルを指定しています
チャネルORA_AUX_DISK_1: データファイル00004を/u01/app/oracle/oradata/ORCL/undotbs01.dbfにリストアしています
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:07
チャネルORA_AUX_DISK_1: データファイル・バックアップ・セットのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: バックアップ・セットからリストアするデータファイルを指定しています
チャネルORA_AUX_DISK_1: データファイル00007を/u01/app/oracle/oradata/ORCL/users01.dbfにリストアしています
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:01
restoreを25-04-02で終了しました

SQL文: alter system archive log current
現在のログがアーカイブされました。

メモリー・スクリプトの内容:
{
restore clone force from service 'v19'
archivelog from scn 2278893;
switch clone datafile all;
}
メモリー・スクリプトを実行しています

restoreを25-04-02で開始しています
チャネルORA_AUX_DISK_1の使用

チャネルORA_AUX_DISK_1: デフォルトの宛先へのアーカイブ・ログのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: アーカイブ・ログをリストアしています
アーカイブ・ログ・スレッド=1 順序=16
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:01
チャネルORA_AUX_DISK_1: デフォルトの宛先へのアーカイブ・ログのリストアを開始しています
チャネルORA_AUX_DISK_1: サービスv19のネットワーク・バックアップ・セットを使用しています
チャネルORA_AUX_DISK_1: アーカイブ・ログをリストアしています
アーカイブ・ログ・スレッド=1 順序=17
チャネルORA_AUX_DISK_1: リストアが完了しました。経過時間: 00:00:02
restoreを25-04-02で終了しました

データファイル1はデータファイル・コピーに切り替えられました
入力データファイル・コピー レコードID=5 スタンプ=1197388101 ファイル名=/u01/app/oracle/oradata/ORCL/system01.dbf
データファイル3はデータファイル・コピーに切り替えられました
入力データファイル・コピー レコードID=6 スタンプ=1197388101 ファイル名=/u01/app/oracle/oradata/ORCL/sysaux01.dbf
データファイル4はデータファイル・コピーに切り替えられました
入力データファイル・コピー レコードID=7 スタンプ=1197388101 ファイル名=/u01/app/oracle/oradata/ORCL/undotbs01.dbf
データファイル7はデータファイル・コピーに切り替えられました
入力データファイル・コピー レコードID=8 スタンプ=1197388101 ファイル名=/u01/app/oracle/oradata/ORCL/users01.dbf

メモリー・スクリプトの内容:
{
set until scn 2279056;
recover
clone database
delete archivelog
;
}
メモリー・スクリプトを実行しています

実行コマンド: SET until clause

recoverを25-04-02で開始しています
チャネルORA_AUX_DISK_1の使用

メディア・リカバリを開始しています

スレッド1 (順序16)のアーカイブ・ログは、ファイル/u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch1_16_1153872185.dbfとしてディスクにすでに存在します
スレッド1 (順序17)のアーカイブ・ログは、ファイル/u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch1_17_1153872185.dbfとしてディスクにすでに存在します
アーカイブ・ログ・ファイル名=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch1_16_1153872185.dbf スレッド=1 順序=16
アーカイブ・ログ・ファイル名=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch1_17_1153872185.dbf スレッド=1 順序=17
メディア・リカバリが完了しました。経過時間: 00:00:01
recoverを25-04-02で終了しました

メモリー・スクリプトの内容:
{
delete clone force archivelog all;
}
メモリー・スクリプトを実行しています

チャネル: ORA_AUX_DISK_1がリリースされました
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=464 デバイス・タイプ=DISK
アーカイブ・ログを削除しました
アーカイブ・ログ・ファイル名=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch1_16_1153872185.dbf レコードID=1 スタンプ=1197388098
アーカイブ・ログを削除しました
アーカイブ・ログ・ファイル名=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch1_17_1153872185.dbf レコードID=2 スタンプ=1197388100
2オブジェクトを削除しました

Oracleインスタンスが起動しました

システム・グローバル領域の合計は、 255851248バイトです。

Fixed Size 8923888バイト
Variable Size 226492416バイト
Database Buffers 16777216バイト
Redo Buffers 3657728バイト

メモリー・スクリプトの内容:
{
sql clone "alter system set db_name =
''ORCL'' comment=
''Reset to original value by RMAN'' scope=spfile";
sql clone "alter system reset db_unique_name scope=spfile";
}
メモリー・スクリプトを実行しています

SQL文: alter system set db_name = ''ORCL'' comment= ''Reset to original value by RMAN'' scope=spfile

SQL文: alter system reset db_unique_name scope=spfile
Oracleインスタンスが起動しました

システム・グローバル領域の合計は、 255851248バイトです。

Fixed Size 8923888バイト
Variable Size 226492416バイト
Database Buffers 16777216バイト
Redo Buffers 3657728バイト
SQL文: CREATE CONTROLFILE REUSE SET DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '/u01/app/oracle/oradata/ORCL/redo01.log' ) SIZE 200 M REUSE,
GROUP 2 ( '/u01/app/oracle/oradata/ORCL/redo02.log' ) SIZE 200 M REUSE,
GROUP 3 ( '/u01/app/oracle/oradata/ORCL/redo03.log' ) SIZE 200 M REUSE
DATAFILE
'/u01/app/oracle/oradata/ORCL/system01.dbf'
CHARACTER SET AL32UTF8


メモリー・スクリプトの内容:
{
set newname for tempfile 1 to
"/u01/app/oracle/oradata/ORCL/temp01.dbf";
switch clone tempfile all;
catalog clone datafilecopy "/u01/app/oracle/oradata/ORCL/sysaux01.dbf",
"/u01/app/oracle/oradata/ORCL/undotbs01.dbf",
"/u01/app/oracle/oradata/ORCL/users01.dbf";
switch clone datafile all;
}
メモリー・スクリプトを実行しています

実行コマンド: SET NEWNAME

制御ファイルで一時ファイル1の名前を/u01/app/oracle/oradata/ORCL/temp01.dbfに変更しました

データファイル・コピーがカタログに入りました
データファイル・コピーのファイル名=/u01/app/oracle/oradata/ORCL/sysaux01.dbf レコードID=1 スタンプ=1197388131
データファイル・コピーがカタログに入りました
データファイル・コピーのファイル名=/u01/app/oracle/oradata/ORCL/undotbs01.dbf レコードID=2 スタンプ=1197388131
データファイル・コピーがカタログに入りました
データファイル・コピーのファイル名=/u01/app/oracle/oradata/ORCL/users01.dbf レコードID=3 スタンプ=1197388131

データファイル3はデータファイル・コピーに切り替えられました
入力データファイル・コピー レコードID=1 スタンプ=1197388131 ファイル名=/u01/app/oracle/oradata/ORCL/sysaux01.dbf
データファイル4はデータファイル・コピーに切り替えられました
入力データファイル・コピー レコードID=2 スタンプ=1197388131 ファイル名=/u01/app/oracle/oradata/ORCL/undotbs01.dbf
データファイル7はデータファイル・コピーに切り替えられました
入力データファイル・コピー レコードID=3 スタンプ=1197388131 ファイル名=/u01/app/oracle/oradata/ORCL/users01.dbf

メモリー・スクリプトの内容:
{
Alter clone database open resetlogs;
}
メモリー・スクリプトを実行しています

データベースがオープンしました。
Duplicate Dbを25-04-02で終了しました

RMAN> exit


Recovery Managerが完了しました。
[oracle@v19single ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 水 4月 2 15:50:13 2025
Version 19.21.0.0.0

Copyright (c) 1982, 2022, Oracle. All rights reserved.



Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.21.0.0.0
に接続されました。
SQL> set linesize 1000 pagesize 1000
SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS
---------------------------------------- ------------------------------------
orcl OPEN

■ トラブル時のヒント

症状原因解決策
ORA-12514 で接続エラーlistener.ora または tnsnames.oraの不備listener再起動と設定確認
RMAN duplicate が途中で失敗リソース不足やspfileの記述ミスalertログやRMANログで詳細確認
ターゲットDBが起動しない初期化パラメータに不備ありpfileの記述とspfile変換の見直し

■ まとめ

アクティブデータベース複製は、事前のバックアップ作業不要で、ネットワーク経由でソースDBからターゲットDBを作成できる強力な機能です。

テスト環境や検証環境を迅速に用意したいときに大活躍します。一度手順を整備しておけば、再構築も容易になります。

from active database を活用して、効率的なDBコピーを実現しましょう!

ぜひあなたの環境でも実践してみてください!

[参考]
データベースの複製

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

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

コメント

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