반응형
■ [2025-06-20] RMAN 복제 DB 구성 Active Database 기능 실습 (12cR2에서 테스트)

 

[2025-06-20] RMAN 복제 DB 구성 Active Database 기능 실습 (12cR2에서 테스트)

 

RMAN Active Database Duplication은 소스 데이터베이스에 직접 연결해서 대상 서버로 데이터를 복사하는 방법이다.
소스 DB는 반드시 ARCHIVELOG 모드여야 한다.

 

11g에서는 이미지 복사(Image Copy) 방식으로 수행된다.
데이터파일 전체를 그대로 복사하기 때문에 사용하지 않는 블록도 포함된다.
예를 들어 데이터파일 크기가 31GB이고 실제 데이터는 10GB만 존재해도 네트워크로는 31GB가 전송된다.
또한 소스 서버에서 PUSH 방식으로 전송되므로 소스 서버의 부하가 크고 비효율적이다.

 

12c 이후부터는 Backupset 기반으로 Active Duplication이 수행된다.
즉, 사용 중인 블록만 전송되기 때문에 데이터파일 크기가 31GB라도 실제 데이터 10GB만 네트워크로 전송된다.
이 방식은 네트워크 전송량이 줄고, 소스 서버 부하도 감소하여 훨씬 효율적이다.

 

정리하면, 11g에서는 빈 블록까지 포함해서 “31GB 전송”,
12c 이후에는 실제 데이터만 골라서 “10GB 전송”이라고 이해할 수 있다.

 

[실습 환경]

 

<소스>
OS : Oracle Linux Server 7.9 (Linux rdb01d 5.4.17-2102.201.3.el7uek.x86_64)
DB : Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
     (Database Jan 2022 Release Update : 12.2.0.1.220118 (33587128))
RAC1 : rdb01d(192.168.0.31) : DRDB1
RAC2 : rdb02d(192.168.0.32) : DRDB2

 

<타켓>
OS : Oracle Linux Server 7.9 (Linux rdb01d 5.4.17-2102.201.3.el7uek.x86_64)
DB : Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
     (Database Jan 2022 Release Update : 12.2.0.1.220118 (33587128))
SINGLE : tdb01p(192.168.0.41) : DRDB로 복구


1. 소스와 타켓의 TNS 정보 확인

 

1-1. 소스

 

--RAC 1번 노드에서 작업

 

--리스너 확인
[+ASM1:grid@rdb01d][/home/grid]$ crsctl status resource ora.LISTENER.lsnr -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rdb01d                   STABLE
               ONLINE  ONLINE       rdb02d                   STABLE
--------------------------------------------------------------------------------

 

[+ASM1:grid@rdb01d][/home/grid]$ srvctl config listener -listener LISTENER
Name: LISTENER
Type: Database Listener
Network: 1, Owner: grid
Home: <CRS home>
End points: TCP:1521
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:

 

[+ASM1:grid@rdb01d][/home/grid]$ lsnrctl status LISTENER

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 20-JUN-2025 22:15:48

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

Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                20-JUN-2025 12:40:06
Uptime                    0 days 9 hr. 35 min. 41 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rdb01d/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.31)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.34)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_CRS" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA1" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA1" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_MGMT" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "DRDB" has 1 instance(s).
  Instance "DRDB1", status READY, has 1 handler(s) for this service...
Service "DRDBXDB" has 1 instance(s).
  Instance "DRDB1", status READY, has 1 handler(s) for this service...
Service "DRDB_CFG" has 1 instance(s).
  Instance "DRDB1", status READY, has 1 handler(s) for this service...
Service "DRDB_DGB" has 1 instance(s).
  Instance "DRDB1", status READY, has 1 handler(s) for this service...
The command completed successfully


--위의 정보를 토대로 아래의 TNS 정보를 구성함

DRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.34)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DRDB)
    )
  )

--> 192.168.0.34 는 rac 1번 노드의 vip임

 


1-2. 타켓의 TNS 정보 확인

 

[DRDB:oracle@tdb01p][/home/oracle]$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.41  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::a00:27ff:fea8:67ad  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:a8:67:ad  txqueuelen 1000  (Ethernet)
        RX packets 912181  bytes 59689617 (56.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1635918  bytes 195446245 (186.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 47481  bytes 4690462 (4.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47481  bytes 4690462 (4.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

[DRDB:oracle@tdb01p][/home/oracle]$ lsnrctl status LISTENER

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 20-JUN-2025 22:24:00

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

Connectingto(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                17-JUN-2025 22:04:59
Uptime                    3 days 0 hr. 19 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/tdb01p/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=tdb01p)(PORT=1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA1" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA1" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "PTDB" has 1 instance(s).
  Instance "PTDB", status READY, has 1 handler(s) for this service...
Service "PTDBXDB" has 1 instance(s).
  Instance "PTDB", status READY, has 1 handler(s) for this service...
The command completed successfully

--위의 정보를 토대로 아래의 TNS 정보를 구성함

CDRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.41)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CDRDB)
    )
  )

--> 포트는 1522로 할것임  
 
2. 소스와 타켓의 tnsnames.ora 세팅

 

2-1. 소스

 

[DRDB1:oracle@rdb01d][/home/oracle]$ alias cdt
alias cdt='cd $ORACLE_HOME/network/admin'

[DRDB1:oracle@rdb01d][/home/oracle]$ cdt
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1/network/admin]$ vi tnsnames.ora
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1/network/admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12c/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

 

--소스임

DRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.34)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DRDB)
    )
  )

 

--타켓임

CDRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.41)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CDRDB)
    )
  )


2-2. 타켓

 

[DRDB:oracle@tdb01p][/home/oracle]$ alias cdt
alias cdt='cd $ORACLE_HOME/network/admin'

[DRDB:oracle@tdb01p][/home/oracle]$ cdt
[DRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/network/admin]$ vi tnsnames.ora
[DRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/network/admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12c/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_PTDB =
  (ADDRESS = (PROTOCOL = TCP)(HOST = tdb01p)(PORT = 1521))


PTDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = tdb01p)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PTDB)
    )
  )

 

--소스임

DRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.34)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DRDB)
    )
  )

 

--타켓임

CDRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.41)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CDRDB)
    )
  )


 

3. 타켓에 정적 리스너 등록 및 시작

 

[DRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/network/admin]$ echo $ORACLE_HOME
/u01/app/oracle/product/12c/db_1

[+ASM:grid@tdb01p][/home/grid]$ alias cdt
alias cdt='cd $ORACLE_HOME/network/admin'
[+ASM:grid@tdb01p][/home/grid]$ cdt
[+ASM:grid@tdb01p][/u01/app/12c/grid/network/admin]$ vi listener.ora
[+ASM:grid@tdb01p][/u01/app/12c/grid/network/admin]$ cat listener.ora
#Backup file is  /u01/app/12c/grid/network/admin/listener.ora.bak.tdb01p line added by Agent
# listener.ora Network Configuration File: /u01/app/12c/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = tdb01p)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET                # line added by Agent

 

LISTENER_CDRDB =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.41)(PORT = 1522))
    )
  )

SID_LIST_LISTENER_CDRDB =
        (SID_LIST =
                (SID_DESC =
                        (GLOBAL_DBNAME = CDRDB)
                        (ORACLE_HOME = /u01/app/oracle/product/12c/db_1)
                        (SID_NAME = CDRDB)
                )
        )

 

--등록한 정적 리스너 시작
[+ASM:grid@tdb01p][/u01/app/12c/grid/network/admin]$ lsnrctl start LISTENER_CDRDB

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 20-JUN-2025 22:37:52

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

Starting /u01/app/12c/grid/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /u01/app/12c/grid/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/tdb01p/listener_cdrdb/alert/log.xml
Listeningon:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.41)(PORT=1522)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.41)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_CDRDB
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                20-JUN-2025 22:37:53
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12c/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/tdb01p/listener_cdrdb/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.41)(PORT=1522)))
Services Summary...
Service "CDRDB" has 1 instance(s).
  Instance "CDRDB", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully


--소스에서 타켓의 리스너로 붙을 수 있는 지 확인
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1/network/admin]$ tnsping 192.168.0.41:1522

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 20-JUN-2025 22:39:26

Copyright (c) 1997, 2016, Oracle.  All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias
Attemptingtocontact(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.41)(PORT=1522)))
OK (30 msec)


 

--타켓에서 소스의 리스너로 붙을 수 있는지 확인
[+ASM:grid@tdb01p][/u01/app/12c/grid/network/admin]$ tnsping 192.168.0.41:1521

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 20-JUN-2025 23:11:11

Copyright (c) 1997, 2016, Oracle.  All rights reserved.

Used parameter files:
/u01/app/12c/grid/network/admin/sqlnet.ora

Used EZCONNECT adapter to resolve the alias
Attemptingtocontact(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.41)(PORT=1521)))
OK (10 msec)

 

4. 소스에서 pfile 생성 한 후 타켓으로 가져오기

 

[DRDB1:oracle@rdb01d][/home/oracle]$ alias ss
alias ss='rlwrap sqlplus "/as sysdba"'
[DRDB1:oracle@rdb01d][/home/oracle]$ ss

SQL*Plus: Release 12.2.0.1.0 Production on Fri Jun 20 23:28:17 2025

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


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

[2025-06-20:23:28:17][rdb01d]<SYS@DRDB1> create pfile from spfile;

File created.

Elapsed: 00:00:00.08
[2025-06-20:23:28:17][rdb01d]<
SYS@DRDB1> quit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
[DRDB1:oracle@rdb01d][/home/oracle]$ alias cdod
alias cdod='cd $ORACLE_HOME/dbs'
[DRDB1:oracle@rdb01d][/home/oracle]$ cdod
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1/dbs]$ ls -alrt
total 20376
-rw-r--r--.  1 oracle oinstall     3079 May 15  2015 init.ora
drwxr-xr-x. 77 oracle oinstall     4096 Mar 19 23:10 ..
-rw-rw----.  1 oracle asmadmin     1544 Apr  5 11:10 hc_DRDBC.dat
-rw-r-----.  1 oracle asmadmin    23040 Apr  9 00:08 spfileDRDB1.ora
-rw-r-----.  1 oracle asmadmin    12288 Apr 26 18:53 dr2DRDB.dat
-rw-r-----.  1 oracle asmadmin    12288 Apr 26 18:53 dr1DRDB.dat
-rw-r-----.  1 oracle asmadmin 20791296 Apr 29 18:19 snapcf_DRDB1.f
drwxr-xr-x.  2 oracle oinstall     4096 Jun 20 12:40 .
-rw-rw----.  1 oracle asmadmin     1544 Jun 20 12:50 hc_DRDB1.dat
-rw-r--r--.  1 oracle asmadmin     2905 Jun 20 23:28 initDRDB1.ora
--> initDRDB1.ora 파일이 생김

 

-- 소스에서 타켓으로 생성한 파라미터 파일 scp 전송 (전송하면서 전송하는 파일의 이름을 initCDRDB.ora 로 함)
[DRDB1:oracle@rdb01d][/u01/app/oracle/product/12c/db_1/dbs]$ scp /u01/app/oracle/product/12c/db_1/dbs/initDRDB1.ora 192.168.0.41:/u01/app/oracle/product/12c/db_1/dbs/initCDRDB.ora
oracle@192.168.0.41's password:
initDRDB1.ora                                               100% 2905   654.6KB/s   00:00

 

--타켓에서 확인
[DRDB:oracle@tdb01p][/home/oracle]$ alias cdod
alias cdod='cd $ORACLE_HOME/dbs'
[DRDB:oracle@tdb01p][/home/oracle]$ cdod
[DRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/dbs]$ ls -arlt
total 30696
-rw-r--r--.  1 oracle oinstall     3079 May 15  2015 init.ora
-rw-r-----.  1 oracle asmadmin       24 Feb  9 19:12 lkPTDB
-rw-r-----.  1 oracle oinstall     3584 Feb  9 19:14 orapwPTDB
drwxrwxr-x. 77 oracle oinstall     4096 Feb  9 19:18 ..
-rw-r--r--.  1 oracle asmadmin     3573 Feb 10 00:24 initPTDB.ora
-rw-r-----.  1 oracle asmadmin 10600448 Feb 10 00:27 snapcf_PTDB.f
-rw-r-----.  1 oracle asmadmin       24 Apr 23 23:31 lkDRDB_STB
-rw-r-----.  1 oracle asmadmin 20791296 Jun  8 23:31 snapcf_DRDB.f
-rw-rw----.  1 oracle asmadmin     1544 Jun 10 18:17 hc_DRDB.dat
-rw-rw----.  1 oracle asmadmin     1544 Jun 17 22:06 hc_PTDB.dat
drwxr-xr-x.  2 oracle oinstall     4096 Jun 20 23:32 .
-rw-r--r--.  1 oracle oinstall     2905 Jun 20 23:32 initCDRDB.ora

[DRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/dbs]$ cat initCDRDB.ora
DRDB1.__data_transfer_cache_size=0
DRDB2.__data_transfer_cache_size=0
DRDB1.__db_cache_size=3774873600
DRDB2.__db_cache_size=3774873600
DRDB1.__inmemory_ext_roarea=0
DRDB2.__inmemory_ext_roarea=0
DRDB1.__inmemory_ext_rwarea=0
DRDB2.__inmemory_ext_rwarea=0
DRDB1.__java_pool_size=16777216
DRDB2.__java_pool_size=16777216
DRDB1.__large_pool_size=33554432
DRDB2.__large_pool_size=33554432
DRDB1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
DRDB2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
DRDB1.__pga_aggregate_target=1694498816
DRDB2.__pga_aggregate_target=1694498816
DRDB1.__sga_target=5033164800
DRDB2.__sga_target=5033164800
DRDB1.__shared_io_pool_size=268435456
DRDB2.__shared_io_pool_size=268435456
DRDB1.__shared_pool_size=922746880
DRDB2.__shared_pool_size=922746880
DRDB1.__streams_pool_size=0
DRDB2.__streams_pool_size=0
*.archive_lag_target=0
*.audit_file_dest='/u01/app/oracle/admin/DRDB/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='12.2.0'
*.control_files='+FRA1/DRDB/CONTROLFILE/current.256.1196204797','+DATA1/DRDB/CONTROLFILE/current.261.1196204797'
*.data_guard_sync_latency=0
*.db_block_size=8192
*.db_create_file_dest='+DATA1'
*.db_create_online_log_dest_1='+FRA1'
*.db_create_online_log_dest_2='+DATA1'
*.db_file_name_convert='DRDB_STB','DRDB'
*.db_flashback_retention_target=2880
*.db_name='DRDB'
*.db_recovery_file_dest='+FRA1'
*.db_recovery_file_dest_size=26492m
*.dg_broker_config_file1='+DATA1/ADG/dr1DRDB.dat'
*.dg_broker_config_file2='+DATA1/ADG/dr2DRDB.dat'
*.dg_broker_start=TRUE
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DRDBXDB)'
*.fal_client='TNS_DRDB'
*.fal_server=''
family:dw_helper.instance_mode='read-only'
DRDB1.instance_number=1
DRDB2.instance_number=2
*.local_listener='-oraagent-dummy-'
*.log_archive_config='DG_CONFIG=(DRDB,DRDB_STB)'
*.log_archive_dest_1='LOCATION=+FRA1 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DRDB'
*.log_archive_dest_2='service="tns_drdb_stb"','ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name= "drdb_stb"net_timeout=30','valid_for=(online_logfile,all_roles)'
*.log_archive_dest_state_2='RESET'
DRDB1.log_archive_format='%t_%s_%r.dbf'
DRDB2.log_archive_format='%t_%s_%r.dbf'
*.log_archive_max_processes=8
*.log_archive_min_succeed_dest=1
DRDB1.log_archive_trace=255
DRDB2.log_archive_trace=255
*.log_file_name_convert='DRDB_STB','DRDB'
*.nls_language='AMERICAN'
*.nls_territory='KOREA'
*.open_cursors=300
*.optimizer_adaptive_plans=FALSE
*.optimizer_adaptive_reporting_only=TRUE
*.optimizer_adaptive_statistics=FALSE
*.optimizer_dynamic_sampling=0
*.pga_aggregate_target=1601m
*.processes=320
*.remote_login_passwordfile='exclusive'
*.sga_target=4800m
*.standby_file_management='AUTO'
DRDB2.thread=2
DRDB1.thread=1
DRDB2.undo_tablespace='UNDOTBS2'
DRDB1.undo_tablespace='UNDOTBS1'


5. 타켓에서 소스에서 가져온 pfile을 변경

 

--소스에서 데이티 파일과 redo log 위치 확인

[2025-06-20:23:49:01][rdb01d]<SYS@DRDB1> col name for a50
[2025-06-20:23:49:01][rdb01d]<
SYS@DRDB1> select name from v$datafile;

NAME
--------------------------------------------------
+DATA1/DRDB/DATAFILE/system.257.1196204603
+DATA1/DRDB/DATAFILE/tuner_data1.269.1197155159
+DATA1/DRDB/DATAFILE/sysaux.258.1196204689
+DATA1/DRDB/DATAFILE/undotbs1.259.1196204725
+DATA1/DRDB/DATAFILE/undotbs2.265.1196204885
+DATA1/DRDB/DATAFILE/users.260.1196204725
+DATA1/DRDB/DATAFILE/tuner_idx1.270.1197155177

7 rows selected.

Elapsed: 00:00:00.04

 

[2025-06-20:23:49:01][rdb01d]<SYS@DRDB1> col member for a50
[2025-06-20:23:49:01][rdb01d]<
SYS@DRDB1> select member from v$logfile;

MEMBER
--------------------------------------------------
+FRA1/DRDB/ONLINELOG/group_2.258.1196204803
+DATA1/DRDB/ONLINELOG/group_2.262.1196204803
+FRA1/DRDB/ONLINELOG/group_1.257.1196204803
+DATA1/DRDB/ONLINELOG/group_1.263.1196204805
+FRA1/DRDB/ONLINELOG/group_3.259.1196204957
+DATA1/DRDB/ONLINELOG/group_3.266.1196204959
+FRA1/DRDB/ONLINELOG/group_4.260.1196204965
+DATA1/DRDB/ONLINELOG/group_4.267.1196204967
+DATA1/DRDB/ONLINELOG/group_5.279.1199229347
+FRA1/DRDB/ONLINELOG/group_5.443.1199229351
+DATA1/DRDB/ONLINELOG/group_6.278.1199229355
+FRA1/DRDB/ONLINELOG/group_6.444.1199229359
+DATA1/DRDB/ONLINELOG/group_7.275.1199229363
+FRA1/DRDB/ONLINELOG/group_7.445.1199229367
+DATA1/DRDB/ONLINELOG/group_8.276.1199229369
+FRA1/DRDB/ONLINELOG/group_8.446.1199229371
+DATA1/DRDB/ONLINELOG/group_9.273.1199229373
+FRA1/DRDB/ONLINELOG/group_9.447.1199229375
+DATA1/DRDB/ONLINELOG/group_10.272.1199229377
+FRA1/DRDB/ONLINELOG/group_10.448.1199229377
+DATA1/DRDB/ONLINELOG/group_11.277.1200525255
+FRA1/DRDB/ONLINELOG/group_11.304.1200525261
+DATA1/DRDB/ONLINELOG/group_12.280.1200525269
+FRA1/DRDB/ONLINELOG/group_12.314.1200525277
+DATA1/DRDB/ONLINELOG/group_13.281.1200525285
+FRA1/DRDB/ONLINELOG/group_13.311.1200525295
+DATA1/DRDB/ONLINELOG/group_14.282.1200525309
+FRA1/DRDB/ONLINELOG/group_14.315.1200525315

28 rows selected.

Elapsed: 00:00:00.00

[2025-06-21:00:33:47][rdb01d]<SYS@DRDB1> select file#, name from v$tempfile;

     FILE# NAME
---------- --------------------------------------------------
         1 +DATA1/DRDB/TEMPFILE/temp.264.1196204817
         2 +DATA1/DRDB/TEMPFILE/tuner_temp.271.1197155195

2 rows selected.

Elapsed: 00:00:00.08


[DRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/dbs]$ vi /u01/app/oracle/product/12c/db_1/dbs/initCDRDB.ora
[DRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/dbs]$ cat /u01/app/oracle/product/12c/db_1/dbs/initCDRDB.ora
*.audit_file_dest='/u01/app/oracle/admin/CDRDB/adump'
*.audit_trail='db'
*.cluster_database=false
*.compatible='12.2.0'
*.control_files='/home/oracle/CDRDB/control_file_01.ctl'
*.db_block_size=8192
*.db_create_file_dest='/home/oracle/CDRDB/DATAFILE'
*.db_create_online_log_dest_1='/home/oracle/CDRDB/ONLINELOG'
*.db_name='CDRDB'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=CDRDBXDB)'
family:dw_helper.instance_mode='read-only'
*.instance_number=1
*.log_archive_dest_1='LOCATION=/home/oracle/CDRDB/ARCH'
*.log_archive_format='%t_%s_%r.dbf'
*.nls_language='AMERICAN'
*.nls_territory='KOREA'
*.open_cursors=300
*.optimizer_adaptive_plans=FALSE
*.optimizer_adaptive_reporting_only=TRUE
*.optimizer_adaptive_statistics=FALSE
*.optimizer_dynamic_sampling=0
*.pga_aggregate_target=1601m
*.processes=320
*.remote_login_passwordfile='exclusive'
*.sga_target=4800m
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.log_file_name_convert='+FRA1/DRDB/ONLINELOG','/home/oracle/CDRDB/ONLINELOG/MEMBER_1','+DATA1/DRDB/ONLINELOG','/home/oracle/CDRDB/ONLINELOG/MEMBER_2'
*.db_file_name_convert='+DATA1/DRDB/DATAFILE','/home/oracle/CDRDB/DATAFILE'

 

--타켓 DB가 필요한 디렉토리 생성

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /u01/app/oracle/admin/CDRDB/adump
mkdir: created directory ‘/u01/app/oracle/admin/CDRDB’
mkdir: created directory ‘/u01/app/oracle/admin/CDRDB/adump’

 

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/
mkdir: created directory ‘/home/oracle/CDRDB/’

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/DATAFILE
mkdir: created directory ‘/home/oracle/CDRDB/DATAFILE’

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/ONLINELOG
mkdir: created directory ‘/home/oracle/CDRDB/ONLINELOG’

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/ARCH
mkdir: created directory ‘/home/oracle/CDRDB/ARCH’

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/ONLINELOG/MEMBER_1
mkdir: created directory ‘/home/oracle/CDRDB/ONLINELOG/MEMBER_1’

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/ONLINELOG/MEMBER_2
mkdir: created directory ‘/home/oracle/CDRDB/ONLINELOG/MEMBER_2’

 

[DRDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/TEMPFILE


6. 소스의 orapw 파일을 타켓으로 복사함

 

--> 소스에서 orapw 파일 확인

[DRDB1:oracle@rdb01d][/home/oracle]$ srvctl config database -db drdb
Database unique name: DRDB
Database name:
Oracle home: /u01/app/oracle/product/12c/db_1
Oracle user: oracle
Spfile: +DATA1/DRDB/PARAMETERFILE/spfile.268.1198106043
Password file: +DATA1/DRDB/PASSWORD/pwddrdb.256.1196204543
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA1,DATA1
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances: DRDB1,DRDB2
Configured nodes: rdb01d,rdb02d
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed


[+ASM1:grid@rdb01d][/home/grid]$ asmcmd cp +DATA1/DRDB/PASSWORD/pwddrdb.256.1196204543 /tmp/orapwDRDB
copying +DATA1/DRDB/PASSWORD/pwddrdb.256.1196204543 -> /tmp/orapwDRDB

--orapw 파일을 소스에서 타켓으로 scp 전송
[+ASM1:grid@rdb01d][/home/grid]$ chmod 775 /tmp/orapwDRDB

[DRDB1:oracle@rdb01d][/home/oracle]$ scp /tmp/orapwDRDB 192.168.0.41:/home/oracle/CDRDB/orapwCDRDB
oracle@192.168.0.41's password:
orapwDRDB   100% 3584   880.3KB/s   00:00


--타켓에서 확인
[DRDB:oracle@tdb01p][/home/oracle/CDRDB]$ ls -sl /home/oracle/CDRDB/orapwCDRDB
4 -rwxr-xr-x. 1 oracle oinstall 3584 Jun 21 00:06 /home/oracle/CDRDB/orapwCDRDB

 

--기본 경로로 복사
[PTDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/dbs]$ cp /home/oracle/CDRDB/orapwCDRDB /u01/app/oracle/product/12c/db_1/dbs/orapwCDRDB

 

7. 타켓 DB의 인스턴스를 nomount 모드로 시작

 

[DRDB:oracle@tdb01p][/home/oracle/CDRDB]$ export ORACLE_SID=CDRDB

[CDRDB:oracle@tdb01p][/home/oracle/CDRDB]$ sqlplus "/as sysdba"

SQL*Plus: Release 12.2.0.1.0 Production on Sat Jun 21 00:15:59 2025

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

Connected to an idle instance.

[25/06/21][tdb01p]<SYS@CDRDB> startup nomount pfile='/u01/app/oracle/product/12c/db_1/dbs/initCDRDB.ora';
ORACLE instance started.

Total System Global Area 5033164800 bytes
Fixed Size                  8631048 bytes
Variable Size            1056967928 bytes
Database Buffers         3959422976 bytes
Redo Buffers                8142848 bytes

 

8. 타켓 서버에서 rman 접속 시 target은 소스DB로 붙고 auxiliary는 타켓DB로 붙은 후 active database 시작

 

[PTDB:oracle@tdb01p][/home/oracle]$ mkdir -pv /home/oracle/CDRDB/TEMPFILE
mkdir: created directory ‘/home/oracle/CDRDB/TEMPFILE’


[CDRDB:oracle@tdb01p][/home/oracle/CDRDB]$ rlwrap rman target sys/"Oracle123$"@DRDB auxiliary sys/"Oracle123$"@CDRDB

Recovery Manager: Release 12.2.0.1.0 - Production on Sat Jun 21 00:27:33 2025

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

connected to target database: DRDB (DBID=1008397436)
connected to auxiliary database: CDRDB (not mounted)

RMAN>
run
{
allocate channel src1 type disk;
allocate channel src2 type disk;
allocate auxiliary channel aux1 type disk;
allocate auxiliary channel aux2 type disk;
allocate auxiliary channel aux3 type disk;
allocate auxiliary channel aux4 type disk;
SET NEWNAME for tempfile 1 to '/home/oracle/CDRDB/TEMPFILE/temp.264.1196204817';
SET NEWNAME for tempfile 2 to '/home/oracle/CDRDB/TEMPFILE/tuner_temp.271.1197155195';
duplicate target database to CDRDB from active database USING BACKUPSET;
}

using target database control file instead of recovery catalog
allocated channel: src1
channel src1: SID=11 instance=DRDB1 device type=DISK

allocated channel: src2
channel src2: SID=14 instance=DRDB1 device type=DISK

allocated channel: aux1
channel aux1: SID=261 device type=DISK

allocated channel: aux2
channel aux2: SID=379 device type=DISK

allocated channel: aux3
channel aux3: SID=11 device type=DISK

allocated channel: aux4
channel aux4: SID=137 device type=DISK

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting Duplicate Db at 25/06/21
current log archived

contents of Memory Script:
{
   sql clone "create spfile from memory";
}
executing Memory Script

sql statement: create spfile from memory

contents of Memory Script:
{
   shutdown clone immediate;
   startup clone nomount;
}
executing Memory Script

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area    5033164800 bytes

Fixed Size                     8631048 bytes
Variable Size               1056967928 bytes
Database Buffers            3959422976 bytes
Redo Buffers                   8142848 bytes
allocated channel: aux1
channel aux1: SID=261 device type=DISK
allocated channel: aux2
channel aux2: SID=379 device type=DISK
allocated channel: aux3
channel aux3: SID=10 device type=DISK
allocated channel: aux4
channel aux4: SID=137 device type=DISK

contents of Memory Script:
{
   sql clone "alter system set  db_name =
 ''DRDB'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   sql clone "alter system set  db_unique_name =
 ''CDRDB'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   shutdown clone immediate;
   startup clone force nomount
   restore clone from service  'DRDB' primary controlfile;
   alter clone database mount;
}
executing Memory Script

sql statement: alter system set  db_name =  ''DRDB'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system set  db_unique_name =  ''CDRDB'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area    5033164800 bytes

Fixed Size                     8631048 bytes
Variable Size               1056967928 bytes
Database Buffers            3959422976 bytes
Redo Buffers                   8142848 bytes
allocated channel: aux1
channel aux1: SID=261 device type=DISK
allocated channel: aux2
channel aux2: SID=379 device type=DISK
allocated channel: aux3
channel aux3: SID=10 device type=DISK
allocated channel: aux4
channel aux4: SID=137 device type=DISK

Starting restore at 25/06/21

channel aux1: starting datafile backup set restore
channel aux1: using network backup set from service DRDB
channel aux1: restoring control file
channel aux1: restore complete, elapsed time: 00:00:03
output file name=/home/oracle/CDRDB/control_file_01.ctl
Finished restore at 25/06/21

database mounted

contents of Memory Script:
{
   sql clone 'alter database flashback off';
   set newname for datafile  1 to
 "/home/oracle/CDRDB/DATAFILE/system.257.1196204603";
   set newname for datafile  2 to
 "/home/oracle/CDRDB/DATAFILE/tuner_data1.269.1197155159";
   set newname for datafile  3 to
 "/home/oracle/CDRDB/DATAFILE/sysaux.258.1196204689";
   set newname for datafile  4 to
 "/home/oracle/CDRDB/DATAFILE/undotbs1.259.1196204725";
   set newname for datafile  5 to
 "/home/oracle/CDRDB/DATAFILE/undotbs2.265.1196204885";
   set newname for datafile  7 to
 "/home/oracle/CDRDB/DATAFILE/users.260.1196204725";
   set newname for datafile  8 to
 "/home/oracle/CDRDB/DATAFILE/tuner_idx1.270.1197155177";
   restore
   from  nonsparse   from service
 'DRDB'   clone database
   ;
   sql 'alter system archive log current';
}
executing Memory Script

sql statement: alter database flashback off

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 25/06/21

channel aux1: starting datafile backup set restore
channel aux1: using network backup set from service DRDB
channel aux1: specifying datafile(s) to restore from backup set
channel aux1: restoring datafile 00001 to /home/oracle/CDRDB/DATAFILE/system.257.1196204603
channel aux2: starting datafile backup set restore
channel aux2: using network backup set from service DRDB
channel aux2: specifying datafile(s) to restore from backup set
channel aux2: restoring datafile 00002 to /home/oracle/CDRDB/DATAFILE/tuner_data1.269.1197155159
channel aux3: starting datafile backup set restore
channel aux3: using network backup set from service DRDB
channel aux3: specifying datafile(s) to restore from backup set
channel aux3: restoring datafile 00003 to /home/oracle/CDRDB/DATAFILE/sysaux.258.1196204689
channel aux4: starting datafile backup set restore
channel aux4: using network backup set from service DRDB
channel aux4: specifying datafile(s) to restore from backup set
channel aux4: restoring datafile 00004 to /home/oracle/CDRDB/DATAFILE/undotbs1.259.1196204725
channel aux4: restore complete, elapsed time: 00:00:26
channel aux4: starting datafile backup set restore
channel aux4: using network backup set from service DRDB
channel aux4: specifying datafile(s) to restore from backup set
channel aux4: restoring datafile 00005 to /home/oracle/CDRDB/DATAFILE/undotbs2.265.1196204885
channel aux4: restore complete, elapsed time: 00:00:25
channel aux4: starting datafile backup set restore
channel aux4: using network backup set from service DRDB
channel aux4: specifying datafile(s) to restore from backup set
channel aux4: restoring datafile 00007 to /home/oracle/CDRDB/DATAFILE/users.260.1196204725
channel aux4: restore complete, elapsed time: 00:00:14
channel aux4: starting datafile backup set restore
channel aux4: using network backup set from service DRDB
channel aux4: specifying datafile(s) to restore from backup set
channel aux4: restoring datafile 00008 to /home/oracle/CDRDB/DATAFILE/tuner_idx1.270.1197155177
channel aux2: restore complete, elapsed time: 00:01:44
channel aux4: restore complete, elapsed time: 00:00:24
channel aux1: restore complete, elapsed time: 00:01:55
channel aux3: restore complete, elapsed time: 00:02:19
Finished restore at 25/06/21

sql statement: alter system archive log current
current log archived

contents of Memory Script:
{
   restore clone force from service  'DRDB'
           archivelog from scn  14795577;
   switch clone datafile all;
}
executing Memory Script

Starting restore at 25/06/21

channel aux1: starting archived log restore to default destination
channel aux1: using network backup set from service DRDB
channel aux1: restoring archived log
archived log thread=1 sequence=98
channel aux2: starting archived log restore to default destination
channel aux2: using network backup set from service DRDB
channel aux2: restoring archived log
archived log thread=1 sequence=99
channel aux3: starting archived log restore to default destination
channel aux3: using network backup set from service DRDB
channel aux3: restoring archived log
archived log thread=2 sequence=98
channel aux4: starting archived log restore to default destination
channel aux4: using network backup set from service DRDB
channel aux4: restoring archived log
archived log thread=2 sequence=99
channel aux1: restore complete, elapsed time: 00:00:01
channel aux1: starting archived log restore to default destination
channel aux1: using network backup set from service DRDB
channel aux1: restoring archived log
archived log thread=2 sequence=100
channel aux2: restore complete, elapsed time: 00:00:02
channel aux3: restore complete, elapsed time: 00:00:01
channel aux4: restore complete, elapsed time: 00:00:01
channel aux1: restore complete, elapsed time: 00:00:02
Finished restore at 25/06/21

datafile 1 switched to datafile copy
input datafile copy RECID=14 STAMP=1204332672 file name=/home/oracle/CDRDB/DATAFILE/system.257.1196204603
datafile 2 switched to datafile copy
input datafile copy RECID=15 STAMP=1204332672 file name=/home/oracle/CDRDB/DATAFILE/tuner_data1.269.1197155159
datafile 3 switched to datafile copy
input datafile copy RECID=16 STAMP=1204332672 file name=/home/oracle/CDRDB/DATAFILE/sysaux.258.1196204689
datafile 4 switched to datafile copy
input datafile copy RECID=17 STAMP=1204332672 file name=/home/oracle/CDRDB/DATAFILE/undotbs1.259.1196204725
datafile 5 switched to datafile copy
input datafile copy RECID=18 STAMP=1204332672 file name=/home/oracle/CDRDB/DATAFILE/undotbs2.265.1196204885
datafile 7 switched to datafile copy
input datafile copy RECID=19 STAMP=1204332672 file name=/home/oracle/CDRDB/DATAFILE/users.260.1196204725
datafile 8 switched to datafile copy
input datafile copy RECID=20 STAMP=1204332672 file name=/home/oracle/CDRDB/DATAFILE/tuner_idx1.270.1197155177

contents of Memory Script:
{
   set until scn  14796732;
   recover
   clone database
    delete archivelog
   ;
}
executing Memory Script

executing command: SET until clause

Starting recover at 25/06/21

starting media recovery

archived log for thread 1 with sequence 98 is already on disk as file /home/oracle/CDRDB/ARCH/1_98_1200392658.dbf
archived log for thread 1 with sequence 99 is already on disk as file /home/oracle/CDRDB/ARCH/1_99_1200392658.dbf
archived log for thread 2 with sequence 99 is already on disk as file /home/oracle/CDRDB/ARCH/2_99_1200392658.dbf
archived log for thread 2 with sequence 100 is already on disk as file /home/oracle/CDRDB/ARCH/2_100_1200392658.dbf
archived log file name=/home/oracle/CDRDB/ARCH/1_98_1200392658.dbf thread=1 sequence=98
archived log file name=/home/oracle/CDRDB/ARCH/2_99_1200392658.dbf thread=2 sequence=99
archived log file name=/home/oracle/CDRDB/ARCH/1_99_1200392658.dbf thread=1 sequence=99
archived log file name=/home/oracle/CDRDB/ARCH/2_100_1200392658.dbf thread=2 sequence=100
media recovery complete, elapsed time: 00:00:02
Finished recover at 25/06/21
released channel: src1
released channel: src2
released channel: aux1
released channel: aux2
released channel: aux3
released channel: aux4
Oracle instance started

Total System Global Area    5033164800 bytes

Fixed Size                     8631048 bytes
Variable Size               1056967928 bytes
Database Buffers            3959422976 bytes
Redo Buffers                   8142848 bytes

contents of Memory Script:
{
   sql clone "alter system set  db_name =
 ''CDRDB'' comment=
 ''Reset to original value by RMAN'' scope=spfile";
   sql clone "alter system reset  db_unique_name scope=spfile";
}
executing Memory Script

sql statement: alter system set  db_name =  ''CDRDB'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset  db_unique_name scope=spfile
Oracle instance started

Total System Global Area    5033164800 bytes

Fixed Size                     8631048 bytes
Variable Size               1056967928 bytes
Database Buffers            3959422976 bytes
Redo Buffers                   8142848 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CDRDB" RESETLOGS ARCHIVELOG
  MAXLOGFILES    192
  MAXLOGMEMBERS      3
  MAXDATAFILES     1024
  MAXINSTANCES    32
  MAXLOGHISTORY      292
 LOGFILE
  GROUP   1 ( '/home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_1.257.1196204803', '/home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_1.263.1196204805' ) SIZE 200 M  REUSE,
  GROUP   2 ( '/home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_2.262.1196204803', '/home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_2.258.1196204803' ) SIZE 200 M  REUSE,
  GROUP  11 ( '/home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_11.277.1200525255', '/home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_11.304.1200525261' ) SIZE 200 M  REUSE
 DATAFILE
  '/home/oracle/CDRDB/DATAFILE/system.257.1196204603'
 CHARACTER SET KO16MSWIN949

sql statement: ALTER DATABASE ADD LOGFILE


  INSTANCE 'i2'
  GROUP   3 ( '/home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_3.259.1196204957', '/home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_3.266.1196204959' ) SIZE 200 M  REUSE,
  GROUP   4 ( '/home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_4.260.1196204965', '/home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_4.267.1196204967' ) SIZE 200 M  REUSE,
  GROUP  12 ( '/home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_12.314.1200525277', '/home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_12.280.1200525269' ) SIZE 200 M  REUSE

contents of Memory Script:
{
   set newname for tempfile  1 to
 "/home/oracle/CDRDB/TEMPFILE/temp.264.1196204817";
   set newname for tempfile  2 to
 "/home/oracle/CDRDB/TEMPFILE/tuner_temp.271.1197155195";
   switch clone tempfile all;
   catalog clone datafilecopy  "/home/oracle/CDRDB/DATAFILE/tuner_data1.269.1197155159",
 "/home/oracle/CDRDB/DATAFILE/sysaux.258.1196204689",
 "/home/oracle/CDRDB/DATAFILE/undotbs1.259.1196204725",
 "/home/oracle/CDRDB/DATAFILE/undotbs2.265.1196204885",
 "/home/oracle/CDRDB/DATAFILE/users.260.1196204725",
 "/home/oracle/CDRDB/DATAFILE/tuner_idx1.270.1197155177";
   switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

renamed tempfile 1 to /home/oracle/CDRDB/TEMPFILE/temp.264.1196204817 in control file
renamed tempfile 2 to /home/oracle/CDRDB/TEMPFILE/tuner_temp.271.1197155195 in control file

cataloged datafile copy
datafile copy file name=/home/oracle/CDRDB/DATAFILE/tuner_data1.269.1197155159 RECID=1 STAMP=1204332726
cataloged datafile copy
datafile copy file name=/home/oracle/CDRDB/DATAFILE/sysaux.258.1196204689 RECID=2 STAMP=1204332726
cataloged datafile copy
datafile copy file name=/home/oracle/CDRDB/DATAFILE/undotbs1.259.1196204725 RECID=3 STAMP=1204332726
cataloged datafile copy
datafile copy file name=/home/oracle/CDRDB/DATAFILE/undotbs2.265.1196204885 RECID=4 STAMP=1204332726
cataloged datafile copy
datafile copy file name=/home/oracle/CDRDB/DATAFILE/users.260.1196204725 RECID=5 STAMP=1204332726
cataloged datafile copy
datafile copy file name=/home/oracle/CDRDB/DATAFILE/tuner_idx1.270.1197155177 RECID=6 STAMP=1204332726

datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=1204332726 file name=/home/oracle/CDRDB/DATAFILE/tuner_data1.269.1197155159
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=1204332726 file name=/home/oracle/CDRDB/DATAFILE/sysaux.258.1196204689
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=1204332726 file name=/home/oracle/CDRDB/DATAFILE/undotbs1.259.1196204725
datafile 5 switched to datafile copy
input datafile copy RECID=4 STAMP=1204332726 file name=/home/oracle/CDRDB/DATAFILE/undotbs2.265.1196204885
datafile 7 switched to datafile copy
input datafile copy RECID=5 STAMP=1204332726 file name=/home/oracle/CDRDB/DATAFILE/users.260.1196204725
datafile 8 switched to datafile copy
input datafile copy RECID=6 STAMP=1204332726 file name=/home/oracle/CDRDB/DATAFILE/tuner_idx1.270.1197155177
Reenabling controlfile options for auxiliary database
Executing: alter database force logging

contents of Memory Script:
{
   Alter clone database open resetlogs;
}
executing Memory Script

database opened
Cannot remove created server parameter file
Finished Duplicate Db at 25/06/21

 

9. 타켓에서 생성된 파일 확인

 

[CDRDB:oracle@tdb01p][/home/oracle/CDRDB]$ ls -alhR /home/oracle/CDRDB
/home/oracle/CDRDB:
total 20M
drwxr-xr-x.  6 oracle oinstall 4.0K Jun 21 00:33 .
drwx------. 12 oracle oinstall 4.0K Jun 21 00:37 ..
drwxr-xr-x.  2 oracle oinstall 4.0K Jun 21 00:51 ARCH
-rw-r-----.  1 oracle asmadmin  20M Jun 21 08:14 control_file_01.ctl
drwxr-xr-x.  2 oracle oinstall 4.0K Jun 21 00:49 DATAFILE
drwxr-xr-x.  5 oracle oinstall   51 Jun 21 00:52 ONLINELOG
-rwxr-xr-x.  1 oracle oinstall 3.5K Jun 21 00:06 orapwCDRDB
drwxr-xr-x.  2 oracle oinstall   66 Jun 21 00:52 TEMPFILE

/home/oracle/CDRDB/ARCH:
total 652K
drwxr-xr-x. 2 oracle oinstall 4.0K Jun 21 00:51 .
drwxr-xr-x. 6 oracle oinstall 4.0K Jun 21 00:33 ..
-rw-r-----. 1 oracle asmadmin 169K Jun 21 00:51 1_98_1200392658.dbf
-rw-r-----. 1 oracle asmadmin 5.5K Jun 21 00:51 1_99_1200392658.dbf
-rw-r-----. 1 oracle asmadmin 3.0K Jun 21 00:51 2_100_1200392658.dbf
-rw-r-----. 1 oracle asmadmin 254K Jun 21 00:51 2_98_1200392658.dbf
-rw-r-----. 1 oracle asmadmin 204K Jun 21 00:51 2_99_1200392658.dbf

/home/oracle/CDRDB/DATAFILE:
total 5.1G
drwxr-xr-x. 2 oracle oinstall 4.0K Jun 21 00:49 .
drwxr-xr-x. 6 oracle oinstall 4.0K Jun 21 00:33 ..
-rw-r-----. 1 oracle asmadmin 1.5G Jun 21 08:14 sysaux.258.1196204689
-rw-r-----. 1 oracle asmadmin 851M Jun 21 08:13 system.257.1196204603
-rw-r-----. 1 oracle asmadmin 1.6G Jun 21 00:52 tuner_data1.269.1197155159
-rw-r-----. 1 oracle asmadmin 1.1G Jun 21 00:52 tuner_idx1.270.1197155177
-rw-r-----. 1 oracle asmadmin 186M Jun 21 08:13 undotbs1.259.1196204725
-rw-r-----. 1 oracle asmadmin  76M Jun 21 00:52 undotbs2.265.1196204885
-rw-r-----. 1 oracle asmadmin 5.1M Jun 21 00:52 users.260.1196204725

/home/oracle/CDRDB/ONLINELOG:
total 12K
drwxr-xr-x. 5 oracle oinstall   51 Jun 21 00:52 .
drwxr-xr-x. 6 oracle oinstall 4.0K Jun 21 00:33 ..
drwxr-x---. 3 oracle asmadmin   23 Jun 21 00:52 CDRDB
drwxr-xr-x. 2 oracle oinstall 4.0K Jun 21 00:52 MEMBER_1
drwxr-xr-x. 2 oracle oinstall 4.0K Jun 21 00:52 MEMBER_2

/home/oracle/CDRDB/ONLINELOG/CDRDB:
total 0
drwxr-x---. 3 oracle asmadmin 23 Jun 21 00:52 .
drwxr-xr-x. 5 oracle oinstall 51 Jun 21 00:52 ..
drwxr-x---. 2 oracle asmadmin  6 Jun 21 00:52 onlinelog

/home/oracle/CDRDB/ONLINELOG/CDRDB/onlinelog:
total 0
drwxr-x---. 2 oracle asmadmin  6 Jun 21 00:52 .
drwxr-x---. 3 oracle asmadmin 23 Jun 21 00:52 ..

/home/oracle/CDRDB/ONLINELOG/MEMBER_1:
total 1.2G
drwxr-xr-x. 2 oracle oinstall 4.0K Jun 21 00:52 .
drwxr-xr-x. 5 oracle oinstall   51 Jun 21 00:52 ..
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_11.304.1200525261
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_12.314.1200525277
-rw-r-----. 1 oracle asmadmin 201M Jun 21 08:14 group_1.257.1196204803
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_2.258.1196204803
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_3.259.1196204957
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_4.260.1196204965

/home/oracle/CDRDB/ONLINELOG/MEMBER_2:
total 1.2G
drwxr-xr-x. 2 oracle oinstall 4.0K Jun 21 00:52 .
drwxr-xr-x. 5 oracle oinstall   51 Jun 21 00:52 ..
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_11.277.1200525255
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_12.280.1200525269
-rw-r-----. 1 oracle asmadmin 201M Jun 21 08:14 group_1.263.1196204805
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_2.262.1196204803
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_3.266.1196204959
-rw-r-----. 1 oracle asmadmin 201M Jun 21 00:52 group_4.267.1196204967

/home/oracle/CDRDB/TEMPFILE:
total 2.4M
drwxr-xr-x. 2 oracle oinstall   66 Jun 21 00:52 .
drwxr-xr-x. 6 oracle oinstall 4.0K Jun 21 00:33 ..
-rw-r-----. 1 oracle asmadmin  47M Jun 21 06:00 temp.264.1196204817
-rw-r-----. 1 oracle asmadmin 129M Jun 21 00:52 tuner_temp.271.1197155195

 

10. 클라이언트에서 tnsnames.ora 정보 추가

 

CDRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.41)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CDRDB)
    )
  )
--> 접속이 가능한지 확인

 

11. 타켓 DB 정보 확인

[2025-06-21:08:22:16][tdb01p]<SYS@CDRDB> col name for a20
[2025-06-21:08:22:16][tdb01p]<
SYS@CDRDB> select name from v$database;

NAME
--------------------
CDRDB

1 row selected.

Elapsed: 00:00:00.01

[2025-06-21:09:01:38][tdb01p]<SYS@CDRDB> col name for a50
[2025-06-21:09:01:38][tdb01p]<
SYS@CDRDB> select name from v$controlfile;

NAME
--------------------------------------------------
/home/oracle/CDRDB/control_file_01.ctl

1 row selected.

Elapsed: 00:00:00.00


[2025-06-21:08:22:16][tdb01p]<SYS@CDRDB> col name for a80
[2025-06-21:08:22:16][tdb01p]<
SYS@CDRDB> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/home/oracle/CDRDB/DATAFILE/system.257.1196204603
/home/oracle/CDRDB/DATAFILE/tuner_data1.269.1197155159
/home/oracle/CDRDB/DATAFILE/sysaux.258.1196204689
/home/oracle/CDRDB/DATAFILE/undotbs1.259.1196204725
/home/oracle/CDRDB/DATAFILE/undotbs2.265.1196204885
/home/oracle/CDRDB/DATAFILE/users.260.1196204725
/home/oracle/CDRDB/DATAFILE/tuner_idx1.270.1197155177

7 rows selected.

Elapsed: 00:00:00.00

[2025-06-21:08:22:16][tdb01p]<SYS@CDRDB> col name for a80
[2025-06-21:08:22:16][tdb01p]<
SYS@CDRDB> select name from v$tempfile;

NAME
--------------------------------------------------------------------------------
/home/oracle/CDRDB/TEMPFILE/temp.264.1196204817
/home/oracle/CDRDB/TEMPFILE/tuner_temp.271.1197155195

2 rows selected.

Elapsed: 00:00:00.01

[2025-06-21:08:22:16][tdb01p]<SYS@CDRDB> col member for a80
[2025-06-21:08:22:16][tdb01p]<SYS@CDRDB> col status for a15
[2025-06-21:08:22:16][tdb01p]<SYS@CDRDB> select a.group#, a.thread#, a.bytes/1024/1024 as mb, a.members, a.status, b.member from v$log a, v$logfile b where a.group# = b.group#;

    GROUP#    THREAD#         MB    MEMBERS STATUS          MEMBER
---------- ---------- ---------- ---------- --------------- --------------------------------------------------------------------------------
        11          1        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_11.277.1200525255
        11          1        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_11.304.1200525261
         2          1        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_2.262.1196204803
         2          1        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_2.258.1196204803
         1          1        200          2 CURRENT         /home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_1.257.1196204803
         1          1        200          2 CURRENT         /home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_1.263.1196204805
         3          2        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_3.259.1196204957
         3          2        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_3.266.1196204959
         4          2        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_4.260.1196204965
         4          2        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_4.267.1196204967
        12          2        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_1/group_12.314.1200525277
        12          2        200          2 UNUSED          /home/oracle/CDRDB/ONLINELOG/MEMBER_2/group_12.280.1200525269

12 rows selected.

Elapsed: 00:00:00.00


[2025-06-21:08:23:15][tdb01p]<SYS@CDRDB> alter system switch logfile;  
[2025-06-21:08:23:16][tdb01p]<
SYS@CDRDB> col name for a50
[2025-06-21:08:23:16][tdb01p]<
SYS@CDRDB> select name from v$archived_log;

NAME
--------------------------------------------------
/home/oracle/CDRDB/ARCH/1_1_1204332726.dbf

1 row selected.

Elapsed: 00:00:00.00

 

12. 타켓 DB를 has에 등록

 

[2025-06-21:08:39:39][tdb01p]<SYS@CDRDB> show parameter spfile;

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
spfile                               string                            /u01/app/oracle/product/12c/db_1/dbs/spfileCDRDB.ora

 

[CDRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/network/admin]$ srvctl add database -db CDRDB -dbname CDRDB -oraclehome /u01/app/oracle/product/12c/db_1 -pwfile '/home/oracle/CDRDB/orapwCDRDB' -spfile '/u01/app/oracle/product/12c/db_1/dbs/spfileCDRDB.ora' -instance CDRDB

[CDRDB:oracle@tdb01p][/u01/app/oracle/product/12c/db_1/network/admin]$ srvctl start database -db cdrdb

[+ASM:grid@tdb01p][/u01/app/12c/grid/network/admin]$ crsctl status resource ora.cdrdb.db -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cdrdb.db
      1        ONLINE  ONLINE       tdb01p                   Open,HOME=/u01/app/o
                                                             racle/product/12c/db
                                                             _1,STABLE
--------------------------------------------------------------------------------

반응형

+ Recent posts