버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.
목차 영역

목차


 

사전 준비

서버 정보 hosts 파일 저장

코드 블럭
languagebash
titlevi /etc/hosts
linenumberstrue
10.10.50.11     ora_act
10.10.50.21     ora_stb

hosts 파일에 Primary 서버의 정보와 Standby 서버의 정보를 입력합니다.

로그 모드 설정

db name 파라미터 조회

코드 블럭
title로그 모드 조회DB name 파라미터 값 조회
linenumberstrue
show parameter db_name
show parameter db_unique_nameSELECT log_mode FROM v$database;
펼치기

db name 파라미터 조회

코드 블럭
titleDB name 파라미터 값 조회
linenumberstrue
show parameter db_name
show parameter db_unique_name
펼치기
서식 미적용
SQL> SELECTshow parameter log_mode FROM v$database;

LOG_MODE
---------db_name

NAME                                 TYPE                              VALUE
---------------------------------
ARCHIVELOG
코드 블럭
titleArchive 모드로 변경하기
linenumberstrue
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
코드 블럭
titleForce Logging 적용
ALTER DATABASE FORCE LOGGING;

Data Guard를 사용하기 위해서는 반드시 Archive log 모드로 구성이 되어 있어야 합니다.

로그 모드를 조회한 후 noarchive 상태이면 반드시 archive 상태로 변경합니다.

추가적으로 force logging 모드로 전환하여, 모든 작업이 강제적으로 로그로 기록될 수 있도록 합니다.

서식 미적용
--- --------------------------------- ------------------------------
db_name                              string                            orcl
SQL> show parameter db_unique_name

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
db_unique_name                              string                            orcl
SQL> show parameter ORCL

db_name 파라미터 값은 모두 동일하지만, db_unique_name은 Primary와 Standby가 달라야 합니다.

구분db_namedb_unique_name
PrimaryorclORCL
StandbyorclORCL_STB

tnsname.ora 설정

코드 블럭
languagebash
titletnsnames.ora
linenumberstrue
ORCL =
  (DESCRIPTION =
unique_name NAME
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ora_act)(PORT = 1521))
    )
    (CONNECT_DATA =
  
TYPE
    (SERVICE_NAME = orcl)
    )
  )

ORCL_STB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST 
VALUE ------------------------------------ --------------------------------- ------------------------------ db_unique_name string ORCL

db_name 파라미터 값은 모두 동일하지만, db_unique_name은 Primary와 Standby가 달라야 합니다.

구분db_namedb_unique_name
PrimaryorclORCL
StandbyorclORCL_STB

tnsname.ora 설정

코드 블럭
languagebash
titletnsnames.ora
linenumberstrue
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ora_act)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

ORCL_STB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ora_stb)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL_STB)
      (UR = A)
    )
  )

tnsnames.ora 파일의 내용을 설정합니다.

Primary와 Standby DB에 접속 정보가 저장되며, Primary와 Standby 노드 모두 같은 내용을 사용합니다.

저장 위치는 $ORACLE_HOME/network/admin/tnsnames.ora 입니다.

= ora_stb)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL_STB)
      (UR = A)
    )
  )

tnsnames.ora 파일의 내용을 설정합니다.

Primary와 Standby DB에 접속 정보가 저장되며, Primary와 Standby 노드 모두 같은 내용을 사용합니다.

저장 위치는 $ORACLE_HOME/network/admin/tnsnames.ora 입니다.

Data Guard 사용을 위한 파라미터 설정

코드 블럭
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,ORCL_STB)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=ORCL_STB NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL_STB';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
코드 블럭
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=shared SCOPE=SPFILE;
코드 블럭
ALTER SYSTEM SET FAL_CLIENT=ORCL;
ALTER SYSTEM SET FAL_SERVER=ORCL_STB;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

아카이브 관련 파라미터와 Data Guard 운영을 위한 파라미터를 설정합니다.

  • LOG_ARCHIVE_CONFIG : 리두 로그를 원격 대상으로 보내고 원격 리두 로그를 수신하며, Data Guard 구성에서 각 데이터베이스의 DB_UNIQUE_NAME을 지정합니다.
  • LOG_ARCHIVE_DEST_2 : 아카이브 리두 로그를 보낼 원격 대상의 정보와 전송할 데이터와 방식에 대하여 지정합니다.
  • LOG_ARCHIVE_DEST_STATE_2 : LOG_ARCHIVE_DEST_2에서 지정한 경로의 활성화/비활성화 등의 상태를 지정합니다.
  • LOG_ARCHIVE_FORMAT : 아카이브 로그 파일명의 포맷을 지정합니다.
  • LOG_ARCHIVE_MAX_PROCESSES : 최대 ARCn 프로세스의 수를 지정합니다.
  • REMOTE_LOGIN_PASSWORDFILE : 오라클이 패스워드 파일을 체크할지의 여부를 지정합니다.
  • FAL_CLIENT : FAL(fetch archive log) 클라이언트를 참조하기 위해 FAL_SERVER 초기화 매개 변수를 통해 구성된 FAL 클라이언트 이름을 지정합니다.
  • FAL_SERVER : Standby 데이터베이스에 대한 FAL(fetch archive log) 서버를 지정합니다.
  • STANDBY_FILE_MANAGEMENT : Physical Standby에 automatic standby file management를 활성화 또는 비활성화합니다. 자동 대기 파일 관리를 사용하면 primary 데이터베이스의 파일 추가 및 삭제 작업이 standby 데이터베이스에도 적용됩니다.

로그 모드 설정

코드 블럭
title로그 모드 조회
SELECT log_mode FROM v$database;
펼치기
서식 미적용
SQL> SELECT log_mode FROM v$database;

LOG_MODE
------------------------------------
ARCHIVELOG
코드 블럭
titleArchive 모드로 변경하기
linenumberstrue
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
코드 블럭
titleForce Logging 적용
linenumberstrue
ALTER DATABASE FORCE LOGGING;
ALTER SYSTEM SWITCH LOGFILE;

Data Guard를 사용하기 위해서는 반드시 Archive log 모드로 구성이 되어 있어야 합니다.

로그 모드를 조회한 후 noarchive 상태이면 반드시 archive 상태로 변경합니다.

추가적으로 force logging 모드로 전환하여, 모든 작업이 강제적으로 로그로 기록될 수 있도록 합니다.

Data Guard 사용을 위한 파라미터 설정

코드 블럭
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,ORCL_STB)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=ORCL_STB NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL_STB';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
코드 블럭
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
코드 블럭
ALTER SYSTEM SET FAL_CLIENT=ORCL;
ALTER SYSTEM SET FAL_SERVER=ORCL_STB;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

 

Standby 서버의 컨트롤, 파라미터 파일 생성

코드 블럭
titlePrimary에서 수행
linenumberstrue
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/orcl_stb.ctl';
CREATE PFILE='/home/oracle/orcl_stb.ora' FROM SPFILE;
펼치기
서식 미적용
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/orcl_stb.ctl';

Database altered.

SQL> CREATE PFILE='/home/oracle/orcl_stb.ora' FROM SPFILE;

File created.

 Standby에서 사용할 데이터베이스 컨트롤 파일과 파라미터 파일을 Primary에서 생성합니다.

Standby 파라미터 파일 수정

코드 블럭
languagebash
title파라미터 수정
linenumberstrue
*.db_unique_name='ORCL_STB'
*.fal_client='ORCL_STB'
*.fal_server='ORCL'
*.log_archive_dest_2='SERVICE=ORCL ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL'

생성한 orcl_stb.ora 파일에서 다음의 Standby 환경에 맞게 파라미터 값들을 수정합니다.

db_unique_name은 반드시 primary와 다르게 지정합니다.

 

Standby로 파일 복제

코드 블럭
languagebash
titleStandby에서 Primary의 파일 복제하기
linenumberstrue
scp oracle@ora_act:/home/oracle/orcl_stb.ctl /oradata/orcl/control01.ctl
cp /oradata/orcl/control01.ctl /oradata/fast_recovery_area/orcl/control02.ctl
scp oracle@ora_act:/home/oracle/orcl_stb.ora /home/oracle/orcl_stb.ora
scp oracle@ora_act:$ORACLE_HOME/dbs/orapworcl $ORACLE_HOME/dbs
펼치기
서식 미적용
[oracle@orcl ~]$ scp oracle@ora_act:/home/oracle/orcl_stb.ctl /oradata/orcl/control01.ctl
The authenticity of host 'ora_act (10.10.50.11)' can't be established.
RSA key fingerprint is a9:cf:9d:a5:a3:b4:8b:7b:82:a8:0f:08:84:2f:19:e0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ora_act,10.10.50.11' (RSA) to the list of known hosts.
oracle@ora_act's password:
orcl_stb.ctl                                  100% 9520KB   9.3MB/s   00:00


[oracle@orcl ~]$ cp /oradata/orcl/control01.ctl /oradata/fast_recovery_area/orcl/control02.ctl
 
[oracle@orcl ~]$ scp oracle@ora_act:/home/oracle/orcl_stb.ora /home/oracle/orcl_stb.ora
oracle@ora_act's password:
orcl_stb.ora                                  100% 1296     1.3KB/s   00:00


[oracle@orcl ~]$ scp oracle@ora_act:$ORACLE_HOME/dbs/orapworcl $ORACLE_HOME/dbs
oracle@ora_act's password:
orapworcl                                     100% 1536     1.5KB/s   00:0000

Primary에서 작업한 컨트롤 파일과 파라미터 파일을 Standby로 복제합니다.

컨트롤 파일의 경우 파라미터 파일 내에 경로에 맞는 위치로 복제해야 합니다. 

Standby Log 파일 생성

코드 블럭
ALTER DATABASE ADD STANDBY LOGFILE ('/oradata/orcl/standby_redo01.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oradata/orcl/standby_redo02.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oradata/orcl/standby_redo03.log') SIZE 50M;

 Standby Redo Log를 primary에 생성합니다. 가급적 primary와 동일한 갯수와 사이즈로 생성하도록 합니다.

Standby의 listener.ora 파일 생성

코드 블럭
languagebash
titlelistener.ora
linenumberstrue
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  )

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

ADR_BASE_LISTENER = /u01/app/oracle

Standby 쪽의 listener.ora 파일은 아래와 같습니다.

데이터베이스 복제

Standby Database 인스턴스 기동

코드 블럭
titleStandby 인스턴스 기동
linenumberstrue
sqlplus / as sysdba
startup nomount pfile='/home/oracle/orcl_stb.ora';
펼치기
서식 미적용
[oracle@orcl ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 14 14:54:26 2018

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

Connected to an idle instance.

SQL> startup nomount pfile='/home/oracle/orcl_stb.ora';
ORACLE instance started.

Total System Global Area  839282688 bytes
Fixed Size                  2257880 bytes
Variable Size             545262632 bytes
Database Buffers          289406976 bytes
Redo Buffers                2355200 bytes

 데이터베이스 복제를 위해 Standby 인스턴스를 복제한 파라미터 파일로 기동합니다.

RMAN 접속

코드 블럭
languagebash
titleRMAN 접속 : Primay나 Standby에서 모두 가능
rman TARGET sys/oracle@ORCL AUXILIARY sys/oracle@ORCL_STB
펼치기
서식 미적용
[oracle@orcl ~]$ rman TARGET sys/oracle@ORCL AUXILIARY sys/oracle@ORCL_STB

Recovery Manager: Release 11.2.0.4.0 - Production on Tue Aug 14 15:04:22 2018

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

connected to target database: ORCL (DBID=1511929243)
connected to auxiliary database: ORCL (not mounted)

 

Standby로 데이터베이스 복제

코드 블럭
titleRMAN으로 DB 복제
linenumberstrue
DUPLICATE TARGET DATABASE
   FOR STANDBY
   FROM ACTIVE DATABASE
   DORECOVER
   SPFILE
     SET db_unique_name='ORCL_STB' COMMENT 'Is standby'
     SET LOG_ARCHIVE_DEST_2='SERVICE=ORCL ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL'
     SET FAL_SERVER='ORCL' COMMENT 'Is primary'
   NOFILENAMECHECK;
펼치기
서식 미적용
RMAN> DUPLICATE TARGET DATABASE
2>    FOR STANDBY
3>    FROM ACTIVE DATABASE
4>    DORECOVER
5>    SPFILE
6>      SET db_unique_name='ORCL_STB' COMMENT 'Is standby'
7>      SET LOG_ARCHIVE_DEST_2='SERVICE=ORCL ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL'
8>      SET FAL_SERVER='ORCL' COMMENT 'Is primary'
9>    NOFILENAMECHECK;

Starting Duplicate Db at 18/08/14
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=1 device type=DISK

contents of Memory Script:
{
   backup as copy reuse
   targetfile  '/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl' auxiliary format
 '/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl'   targetfile
 '/u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora' auxiliary format
 '/u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora'   ;
   sql clone "alter system set spfile= ''/u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora''";
}
executing Memory Script

Starting backup at 18/08/14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=74 device type=DISK
Finished backup at 18/08/14

sql statement: alter system set spfile= ''/u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora''

contents of Memory Script:
{
   sql clone "alter system set  db_unique_name =
 ''ORCL_STB'' comment=
 ''Is standby'' scope=spfile";
   sql clone "alter system set  LOG_ARCHIVE_DEST_2 =
 ''SERVICE=ORCL ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL'' comment=
 '''' scope=spfile";
   sql clone "alter system set  FAL_SERVER =
 ''ORCL'' comment=
 ''Is primary'' scope=spfile";
   shutdown clone immediate;
   startup clone nomount;
}
executing Memory Script

sql statement: alter system set  db_unique_name =  ''ORCL_STB'' comment= ''Is standby'' scope=spfile

sql statement: alter system set  LOG_ARCHIVE_DEST_2 =  ''SERVICE=ORCL ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL'' comment= '''' scope=spfile

sql statement: alter system set  FAL_SERVER =  ''ORCL'' comment= ''Is primary'' scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area     839282688 bytes

Fixed Size                     2257880 bytes
Variable Size                545262632 bytes
Database Buffers             289406976 bytes
Redo Buffers                   2355200 bytes

contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '/oradata/orcl/control01.ctl';
   restore clone controlfile to  '/oradata/fast_recovery_area/orcl/control02.ctl' from
 '/oradata/orcl/control01.ctl';
}
executing Memory Script

Starting backup at 18/08/14
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f tag=TAG20180814T150532 RECID=3 STAMP=984150332
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 18/08/14

Starting restore at 18/08/14
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=18 device type=DISK

channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 18/08/14

contents of Memory Script:
{
   sql clone 'alter database mount standby database';
}
executing Memory Script

sql statement: alter database mount standby database
RMAN-05538: WARNING: implicitly using DB_FILE_NAME_CONVERT

contents of Memory Script:
{
   set newname for tempfile  1 to
 "/oradata/orcl/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to
 "/oradata/orcl/system01.dbf";
   set newname for datafile  2 to
 "/oradata/orcl/sysaux01.dbf";
   set newname for datafile  3 to
 "/oradata/orcl/undotbs01.dbf";
   set newname for datafile  4 to
 "/oradata/orcl/users01.dbf";
   set newname for datafile  5 to
 "/oradata/orcl/example01.dbf";
   backup as copy reuse
   datafile  1 auxiliary format
 "/oradata/orcl/system01.dbf"   datafile
 2 auxiliary format
 "/oradata/orcl/sysaux01.dbf"   datafile
 3 auxiliary format
 "/oradata/orcl/undotbs01.dbf"   datafile
 4 auxiliary format
 "/oradata/orcl/users01.dbf"   datafile
 5 auxiliary format
 "/oradata/orcl/example01.dbf"   ;
   sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /oradata/orcl/temp01.dbf in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting backup at 18/08/14
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/oradata/orcl/system01.dbf
output file name=/oradata/orcl/system01.dbf tag=TAG20180814T150542
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/oradata/orcl/sysaux01.dbf
output file name=/oradata/orcl/sysaux01.dbf tag=TAG20180814T150542
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/oradata/orcl/example01.dbf
output file name=/oradata/orcl/example01.dbf tag=TAG20180814T150542
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/oradata/orcl/undotbs01.dbf
output file name=/oradata/orcl/undotbs01.dbf tag=TAG20180814T150542
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:16
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/oradata/orcl/users01.dbf
output file name=/oradata/orcl/users01.dbf tag=TAG20180814T150542
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 18/08/14

sql statement: alter system archive log current

contents of Memory Script:
{
   backup as copy reuse
   archivelog like  "/oradata/fast_recovery_area/ORCL/archivelog/2018_08_14/o1_mf_1_10_fq4wh263_.arc" auxiliary format
 "/oradata/fast_recovery_area/ORCL_STB/archivelog/2018_08_14/o1_mf_1_10_%u_.arc"   ;
   catalog clone recovery area;
   switch clone datafile all;
}
executing Memory Script

Starting backup at 18/08/14
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=10 RECID=6 STAMP=984150514
output file name=/oradata/fast_recovery_area/ORCL_STB/archivelog/2018_08_14/o1_mf_1_10_0btahsfi_.arc RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 18/08/14

searching for all files in the recovery area

List of Files Unknown to the Database
=====================================
File Name: /oradata/fast_recovery_area/ORCL_STB/archivelog/2018_08_14/o1_mf_1_10_0btahsfi_.arc
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /oradata/fast_recovery_area/ORCL_STB/archivelog/2018_08_14/o1_mf_1_10_0btahsfi_.arc

datafile 1 switched to datafile copy
input datafile copy RECID=3 STAMP=984150515 file name=/oradata/orcl/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=4 STAMP=984150515 file name=/oradata/orcl/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=5 STAMP=984150515 file name=/oradata/orcl/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=6 STAMP=984150515 file name=/oradata/orcl/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=7 STAMP=984150515 file name=/oradata/orcl/example01.dbf

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

executing command: SET until clause

Starting recover at 18/08/14
using channel ORA_AUX_DISK_1

starting media recovery

archived log for thread 1 with sequence 10 is already on disk as file /oradata/fast_recovery_area/ORCL_STB/archivelog/2018_08_14/o1_mf_1_10_0btahsfi_.arc
archived log file name=/oradata/fast_recovery_area/ORCL_STB/archivelog/2018_08_14/o1_mf_1_10_0btahsfi_.arc thread=1 sequence=10
media recovery complete, elapsed time: 00:00:00
Finished recover at 18/08/14
Finished Duplicate Db at 18/08/14

 

아카이브 로그 적용 모드

적용 모드 활성화

코드 블럭
languagesql
titleStandby에서 실행

스위치오버 : Primary를 Standby로 전환

코드 블럭
titleSwitchover : Primary에서 작업
linenumberstrue
-- Foreground 모드로 수행 (취소하기 전까지 대기 모드로 유지됨)
-- ALTER DATABASE COMMITRECOVER TOMANAGED SWITCHOVERSTANDBY TO STANDBYDATABASE;
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE; 
-- Background 모드로 수행 (프로세스 시작 후 입력 가능한 모드로 전환)
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

 

적용 모드 취소하기

코드 블럭

스위치오버 : Standby를 Primary로 전환

true
코드 블럭
titleSwitchover : Standby에서 작업
linenumbers
ALTER DATABASE COMMITRECOVER TOMANAGED SWITCHOVERSTANDBY TO PRIMARY;
SHUTDOWN IMMEDIATE;
STARTUPDATABASE CANCEL;