I. Network 설정
1. 서버 Network 설정
A) 서버 정보 hosts 파일 저장
vi /etc/hosts
10.10.50.11 ora_act 10.10.50.21 ora_stb
2. Listener 설정
A) Primary의 listener.ora 파일
vi $ORACLE_HOME/network/admin/listener.ora
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ora-act)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1) (SID_NAME = orcl) ) (SID_DESC = (GLOBAL_DBNAME = ORCL_DGB) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1) (SID_NAME = orcl) ) (SID_DESC = (GLOBAL_DBNAME = ORCL_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1) (SID_NAME = orcl) ) ) ADR_BASE_LISTENER = /u01/app/oracle
[oracle@orcl ~]$ lsnrctl status LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 29-AUG-2018 14:33:05 Copyright (c) 1991, 2016, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora-act)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production Start Date 29-AUG-2018 14:14:09 Uptime 0 days 0 hr. 18 min. 55 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/ora-act/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora-act)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "73b889aabfcb1c67e0533301000adc78" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "ORCL" has 2 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Instance "orcl", status READY, has 1 handler(s) for this service... Service "ORCL_DGB" has 2 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Instance "orcl", status READY, has 1 handler(s) for this service... Service "ORCL_DGMGRL" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "orclXDB" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orcl_CFG" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclpdb" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully
B) Standby의 listener.ora 파일
vi $ORACLE_HOME/network/admin/listener.ora
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ora-stb)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL_STB) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1) (SID_NAME = orcl) ) (SID_DESC = (GLOBAL_DBNAME = ORCL_STB_DGB) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1) (SID_NAME = orcl) ) (SID_DESC = (GLOBAL_DBNAME = ORCL_STB_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1) (SID_NAME = orcl) ) ) ADR_BASE_LISTENER = /u01/app/oracle
[oracle@orcl ~]$ lsnrctl status LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 29-AUG-2018 14:33:31 Copyright (c) 1991, 2016, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora-stb)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production Start Date 29-AUG-2018 14:14:53 Uptime 0 days 0 hr. 18 min. 37 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/ora-stb/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora-stb)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "ORCL_STB" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "ORCL_STB_DGB" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "ORCL_STB_DGMGRL" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
C) tnsnames.ora 파일
vi $ORACLE_HOME/network/admin/tnsnames.ora
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) ) )
[oracle@orcl ~]$ tnsping ORCL TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 29-AUG-2018 14:34:09 Copyright (c) 1997, 2016, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ora-act)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL))) OK (10 msec) [oracle@orcl ~]$ tnsping ORCL_STB TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 29-AUG-2018 14:34:16 Copyright (c) 1997, 2016, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ora-stb)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL_STB))) OK (0 msec)
D) 리스너 기동
oracle 유저로 실행
lsnrctl start
[oracle@orcl ~]$ lsnrctl start LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 29-AUG-2018 13:31:37 Copyright (c) 1991, 2016, Oracle. All rights reserved. Starting /u01/app/oracle/product/12.2.0/db_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/ora-act/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora-act)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora-act)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production Start Date 29-AUG-2018 13:31:37 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/ora-act/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora-act)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "ORCL" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "ORCL_DGB" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "ORCL_DGMGRL" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
[oracle@orcl ~]$ lsnrctl start LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 29-AUG-2018 13:31:41 Copyright (c) 1991, 2016, Oracle. All rights reserved. Starting /u01/app/oracle/product/12.2.0/db_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/ora-stb/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora-stb)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora-stb)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production Start Date 29-AUG-2018 13:31:41 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/ora-stb/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora-stb)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "ORCL_STB" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "ORCL_STB_DGB" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... Service "ORCL_STB_DGMGRL" has 1 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
II. Data Guard 환경 구성
1. 파라미터 설정
A) db name 파라미터 조회
DB name 파라미터 값 조회
show parameter db_name show parameter db_unique_name
SQL> show parameter db_name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_name string orcl SQL> show parameter db_unique_name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_unique_name string ORCL
db_unique_name 변경
ALTER SYSTEM SET db_unique_name = ORCL scope=spfile;
2. 아카이브 환경 설정
A) 아카이브 로그 파라미터 설정
sys 유저로 primary에서 수행
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;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,ORCL_STB)'; System altered. SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=ORCL_STB NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL_STB'; System altered. SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE; System altered.
B) 아카이브 로그 모드 활성화
sys 유저로 primary에서 수행
SELECT log_mode FROM v$database;
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ ARCHIVELOG
Noarchive에서 Archive 모드로 변경
SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
C) 강제 로그 적용 모드 활성화
sys 유저로 primary에서 수행
ALTER DATABASE FORCE LOGGING; ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER DATABASE FORCE LOGGING; Database altered. SQL> ALTER SYSTEM SWITCH LOGFILE; System altered.
3. Data Guard 환경 설정
A) Data Guard 관련 파라미터 설정
sys 유저로 primary에서 수행
ALTER SYSTEM SET FAL_CLIENT=ORCL; ALTER SYSTEM SET FAL_SERVER=ORCL_STB; ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
SQL> ALTER SYSTEM SET FAL_CLIENT=ORCL; System altered. SQL> ALTER SYSTEM SET FAL_SERVER=ORCL_STB; System altered. SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO; System altered.
B) Standby Log File 생성
sys 유저로 primary에서 수행
ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/orcl/standby_redo01.log') SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/orcl/standby_redo02.log') SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/orcl/standby_redo03.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/orcl/standby_redo01.log') SIZE 200M; Database altered. SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/orcl/standby_redo02.log') SIZE 200M; Database altered. SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/orcl/standby_redo03.log') SIZE 200M; Database altered. SQL> SELECT group#, member, type FROM v$logfile; GROUP# MEMBER TYPE ---------- -------------------------------------------------- ------- 3 /u01/app/oracle/oradata/orcl/redo03.log ONLINE 2 /u01/app/oracle/oradata/orcl/redo02.log ONLINE 1 /u01/app/oracle/oradata/orcl/redo01.log ONLINE 4 /u01/app/oracle/oradata/orcl/standby_redo01.log STANDBY 5 /u01/app/oracle/oradata/orcl/standby_redo02.log STANDBY 6 /u01/app/oracle/oradata/orcl/standby_redo03.log STANDBY 6 rows selected.
C) 플래시백 활성화 (옵션)
sys 유저로 primary에서 수행
ALTER DATABASE FLASHBACK ON;
SQL> SELECT flashback_on FROM v$database; FLASHBACK_ON ------------------ NO SQL> ALTER DATABASE FLASHBACK ON; Database altered. SQL> SELECT flashback_on FROM v$database; FLASHBACK_ON ------------------ YES
4. Standby 서버 환경 설정
A) 디렉토리 생성
oracle 유저로 standby 서버에서 수행
mkdir -p /u01/app/oracle/oradata/orcl/orclpdb mkdir -p /u01/app/oracle/oradata/orcl/pdbseed mkdir -p /u01/app/oracle/fast_recovery_area/orcl mkdir -p /u01/app/oracle/admin/orcl/adump
[oracle@orcl ~]$ mkdir -p /u01/app/oracle/oradata/orcl/orclpdb [oracle@orcl ~]$ mkdir -p /u01/app/oracle/oradata/orcl/pdbseed [oracle@orcl ~]$ mkdir -p /u01/app/oracle/fast_recovery_area/orcl [oracle@orcl ~]$ mkdir -p /u01/app/oracle/admin/orcl/adump
B) 패스워드 파일 생성
oracle 유저로 standby 서버에서 수행
orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle entries=10 format=12
C) 임시 파라미터 파일 생성
vi /home/oracle/orcl_stb.ora
*.db_name='orcl'
[oracle@orcl ~]$ cat orcl_stb.ora *.db_name='orcl'
III. Standby DB 복제
1. Standby DB Instance 구동
A) SQL*Plus 접속
sysdba 권한으로 standby 접속
sqlplus / as sysdba
[oracle@orcl ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Wed Aug 29 13:45:06 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance.
B) nomount 모드로 Database 시작
Standby 인스턴스 기동
startup nomount pfile='/home/oracle/orcl_stb.ora';
SQL> startup nomount pfile='/home/oracle/orcl_stb.ora'; ORACLE instance started. Total System Global Area 243269632 bytes Fixed Size 8619256 bytes Variable Size 180357896 bytes Database Buffers 50331648 bytes Redo Buffers 3960832 bytes
2. RMAN을 이용한 DB 복제
A) RMAN 접속
RMAN 원격 접속
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 12.2.0.1.0 - Production on Wed Aug 29 13:45:39 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1512310870) connected to auxiliary database: ORCL (not mounted) RMAN>
B) Duplicate 명령으로 복제
RMAN으로 DB 복제
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/29 using target database control file instead of recovery catalog allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=36 device type=DISK current log archived contents of Memory Script: { backup as copy reuse targetfile '/u01/app/oracle/product/12.2.0/db_1/dbs/orapworcl' auxiliary format '/u01/app/oracle/product/12.2.0/db_1/dbs/orapworcl' ; restore clone from service 'ORCL' spfile to '/u01/app/oracle/product/12.2.0/db_1/dbs/spfileorcl.ora'; sql clone "alter system set spfile= ''/u01/app/oracle/product/12.2.0/db_1/dbs/spfileorcl.ora''"; } executing Memory Script Starting backup at 18/08/29 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=60 device type=DISK Finished backup at 18/08/29 Starting restore at 18/08/29 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: restoring SPFILE output file name=/u01/app/oracle/product/12.2.0/db_1/dbs/spfileorcl.ora channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 18/08/29 sql statement: alter system set spfile= ''/u01/app/oracle/product/12.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 838860800 bytes Fixed Size 8798312 bytes Variable Size 637538200 bytes Database Buffers 188743680 bytes Redo Buffers 3780608 bytes contents of Memory Script: { restore clone from service 'ORCL' standby controlfile; } executing Memory Script Starting restore at 18/08/29 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=35 device type=DISK channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: restoring control file channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/u01/app/oracle/oradata/orcl/control01.ctl output file name=/u01/app/oracle/fast_recovery_area/orcl/control02.ctl Finished restore at 18/08/29 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 "/u01/app/oracle/oradata/orcl/temp01.dbf"; set newname for tempfile 2 to "/u01/app/oracle/oradata/orcl/pdbseed/temp012018-08-19_00-36-23-723-AM.dbf"; set newname for tempfile 3 to "/u01/app/oracle/oradata/orcl/orclpdb/temp01.dbf"; switch clone tempfile all; 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 5 to "/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf"; set newname for datafile 6 to "/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf"; set newname for datafile 7 to "/u01/app/oracle/oradata/orcl/users01.dbf"; set newname for datafile 8 to "/u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf"; set newname for datafile 9 to "/u01/app/oracle/oradata/orcl/orclpdb/system01.dbf"; set newname for datafile 10 to "/u01/app/oracle/oradata/orcl/orclpdb/sysaux01.dbf"; set newname for datafile 11 to "/u01/app/oracle/oradata/orcl/orclpdb/undotbs01.dbf"; set newname for datafile 12 to "/u01/app/oracle/oradata/orcl/orclpdb/users01.dbf"; restore from nonsparse from service 'ORCL' clone database ; sql 'alter system archive log current'; } executing Memory Script executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME renamed tempfile 1 to /u01/app/oracle/oradata/orcl/temp01.dbf in control file renamed tempfile 2 to /u01/app/oracle/oradata/orcl/pdbseed/temp012018-08-19_00-36-23-723-AM.dbf in control file renamed tempfile 3 to /u01/app/oracle/oradata/orcl/orclpdb/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 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 18/08/29 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/sysaux01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/undotbs01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/pdbseed/system01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/orcl/users01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/orcl/orclpdb/system01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00010 to /u01/app/oracle/oradata/orcl/orclpdb/sysaux01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00011 to /u01/app/oracle/oradata/orcl/orclpdb/undotbs01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00012 to /u01/app/oracle/oradata/orcl/orclpdb/users01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 18/08/29 sql statement: alter system archive log current current log archived contents of Memory Script: { restore clone force from service 'ORCL' archivelog from scn 1450238; switch clone datafile all; } executing Memory Script Starting restore at 18/08/29 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=5 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=6 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using network backup set from service ORCL channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=7 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 18/08/29 datafile 1 switched to datafile copy input datafile copy RECID=4 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/system01.dbf datafile 3 switched to datafile copy input datafile copy RECID=5 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/sysaux01.dbf datafile 4 switched to datafile copy input datafile copy RECID=6 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/undotbs01.dbf datafile 5 switched to datafile copy input datafile copy RECID=7 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf datafile 6 switched to datafile copy input datafile copy RECID=8 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf datafile 7 switched to datafile copy input datafile copy RECID=9 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/users01.dbf datafile 8 switched to datafile copy input datafile copy RECID=10 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf datafile 9 switched to datafile copy input datafile copy RECID=11 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/orclpdb/system01.dbf datafile 10 switched to datafile copy input datafile copy RECID=12 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/orclpdb/sysaux01.dbf datafile 11 switched to datafile copy input datafile copy RECID=13 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/orclpdb/undotbs01.dbf datafile 12 switched to datafile copy input datafile copy RECID=14 STAMP=985441715 file name=/u01/app/oracle/oradata/orcl/orclpdb/users01.dbf contents of Memory Script: { set until scn 1450470; recover standby clone database delete archivelog ; } executing Memory Script executing command: SET until clause Starting recover at 18/08/29 using channel ORA_AUX_DISK_1 starting media recovery archived log for thread 1 with sequence 5 is already on disk as file /u01/app/oracle/fast_recovery_area/orcl/ORCL_STB/archivelog/2018_08_29/o1_mf_1_5_frd9f07l_.arc archived log for thread 1 with sequence 6 is already on disk as file /u01/app/oracle/fast_recovery_area/orcl/ORCL_STB/archivelog/2018_08_29/o1_mf_1_6_frd9f1bl_.arc archived log for thread 1 with sequence 7 is already on disk as file /u01/app/oracle/fast_recovery_area/orcl/ORCL_STB/archivelog/2018_08_29/o1_mf_1_7_frd9f2fs_.arc archived log file name=/u01/app/oracle/fast_recovery_area/orcl/ORCL_STB/archivelog/2018_08_29/o1_mf_1_5_frd9f07l_.arc thread=1 sequence=5 archived log file name=/u01/app/oracle/fast_recovery_area/orcl/ORCL_STB/archivelog/2018_08_29/o1_mf_1_6_frd9f1bl_.arc thread=1 sequence=6 archived log file name=/u01/app/oracle/fast_recovery_area/orcl/ORCL_STB/archivelog/2018_08_29/o1_mf_1_7_frd9f2fs_.arc thread=1 sequence=7 media recovery complete, elapsed time: 00:00:00 Finished recover at 18/08/29 Finished Duplicate Db at 18/08/29
IV. Data Guard Broker 설정
1. Data Guard Broker 활성화
A) dg_broker_start 파라미터 설정
sys 유저로 primary와 standby에서 모두 수행
ALTER SYSTEM SET dg_broker_start=true;
[oracle@orcl ~]$ sqlplus sys/oracle@ORCL as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Wed Aug 29 13:49:32 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> ALTER SYSTEM SET dg_broker_start=true; System altered. SQL> exit Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
[oracle@orcl ~]$ sqlplus sys/oracle@ORCL_STB as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Wed Aug 29 13:49:52 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> ALTER SYSTEM SET dg_broker_start=true; System altered. SQL> exit Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
2. Data Guard Broker 환경 구성
A) DGMGRL 접속
sys 유저로 접속
dgmgrl sys/oracle@ORCL
[oracle@orcl ~]$ dgmgrl sys/oracle@ORCL DGMGRL for Linux: Release 12.2.0.1.0 - Production on Wed Aug 29 13:50:28 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected to "ORCL" Connected as SYSDBA.
B) 데이터베이스 등록
Data Guard 대상 데이터베이스 등록
CREATE CONFIGURATION dg_orcl AS PRIMARY DATABASE IS orcl CONNECT IDENTIFIER IS orcl; ADD DATABASE orcl_stb AS CONNECT IDENTIFIER IS orcl_stb MAINTAINED AS PHYSICAL;
DGMGRL> CREATE CONFIGURATION dg_orcl AS PRIMARY DATABASE IS orcl CONNECT IDENTIFIER IS orcl; Configuration "dg_orcl" created with primary database "orcl" DGMGRL> ADD DATABASE orcl_stb AS CONNECT IDENTIFIER IS orcl_stb MAINTAINED AS PHYSICAL; Database "orcl_stb" added
C) Data Guard Broker 설정 활성화
설정 활성화
ENABLE CONFIGURATION;
DGMGRL> ENABLE CONFIGURATION; Enabled.
D) Data Guard Broker 등록 정보 조회
Broker에 등록된 정보 조회
SHOW CONFIGURATION; SHOW DATABASE orcl; SHOW DATABASE orcl_stb;
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl - Primary database orcl_stb - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 57 seconds ago) DGMGRL> SHOW DATABASE orcl; Database - orcl Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): orcl Database Status: SUCCESS DGMGRL> SHOW DATABASE orcl_stb; Database - orcl_stb Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 3.00 KByte/s Real Time Query: OFF Instance(s): orcl Database Status: SUCCESS
E) 문제 발생시 Standby 데이터베이스 재기동(옵션)
sys 유저로 standby에서 수행
SHUTDOWN IMMEDIATE; STARTUP MOUNT;
SHOW CONFIGURATION에서 오류 확인
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl - Primary database orcl_stb - Physical standby database Error: ORA-16810: multiple errors or warnings detected for the member Fast-Start Failover: DISABLED Configuration Status: ERROR (status updated 38 seconds ago)
Standby 데이터베이스 재기동
SQL> shutdown immediate; ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 838860800 bytes Fixed Size 8798312 bytes Variable Size 637538200 bytes Database Buffers 188743680 bytes Redo Buffers 3780608 bytes Database mounted. SQL>
정상 확인
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl - Primary database orcl_stb - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 57 seconds ago)
V. Switchover
1. Standby로 switchover
A) Primary에 DGMGRL로 접속
DGMGRL로 primary DB에 접속
dgmgrl sys/oracle@ORCL
[oracle@orcl ~]$ dgmgrl sys/oracle@ORCL DGMGRL for Linux: Release 12.2.0.1.0 - Production on Wed Aug 29 13:58:31 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected to "ORCL" Connected as SYSDBA.
B) Standby로 switchover
Standby로 switchover 수행
SWITCHOVER TO orcl_stb;
DGMGRL> SWITCHOVER TO orcl_stb; Performing switchover NOW, please wait... Operation requires a connection to database "orcl_stb" Connecting ... Connected to "ORCL_STB" Connected as SYSDBA. New primary database "orcl_stb" is opening... Operation requires start up of instance "orcl" on database "orcl" Starting instance "orcl"... ORACLE instance started. Database mounted. Connected to "ORCL" Switchover succeeded, new primary is "orcl_stb"
C) Switchover 결과 확인
Switchover 결과 확인
SHOW CONFIGURATION; SHOW DATABASE orcl; SHOW DATABASE orcl_stb;
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl_stb - Primary database orcl - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 45 seconds ago) DGMGRL> SHOW DATABASE orcl; Database - orcl Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 211.00 KByte/s Real Time Query: OFF Instance(s): orcl Database Status: SUCCESS DGMGRL> SHOW DATABASE orcl_stb; Database - orcl_stb Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): orcl Database Status: SUCCESS
2. Primary로 복원
A) Standby에 DGMGRL로 접속
DGMGRL로 standby DB에 접속
dgmgrl sys/oracle@ORCL_STB
[oracle@orcl ~]$ dgmgrl sys/oracle@ORCL_STB DGMGRL for Linux: Release 12.2.0.1.0 - Production on Wed Aug 29 14:00:56 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected to "ORCL_STB" Connected as SYSDBA.
B) Primary로 switchover
Primary로 switchover 수행
SWITCHOVER TO orcl;
DGMGRL> SWITCHOVER TO orcl; Performing switchover NOW, please wait... Operation requires a connection to database "orcl" Connecting ... Connected to "ORCL" Connected as SYSDBA. New primary database "orcl" is opening... Operation requires start up of instance "orcl" on database "orcl_stb" Starting instance "orcl"... ORACLE instance started. Database mounted. Connected to "ORCL_STB" Switchover succeeded, new primary is "orcl"
C) 복원 결과 확인
복원 결과 확인
SHOW CONFIGURATION; SHOW DATABASE orcl; SHOW DATABASE orcl_stb;
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl - Primary database orcl_stb - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 54 seconds ago) DGMGRL> SHOW DATABASE orcl; Database - orcl Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): orcl Database Status: SUCCESS DGMGRL> SHOW DATABASE orcl_stb; Database - orcl_stb Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 124.00 KByte/s Real Time Query: OFF Instance(s): orcl Database Status: SUCCESS
VI. Failover
1. Failover 수행
A) DGMGRL로 Standby DB 접속
DGMGRL로 standby DB에 접속
dgmgrl sys/oracle@orcl_stb
[oracle@orcl ~]$ dgmgrl sys/oracle@orcl_stb DGMGRL for Linux: Release 12.2.0.1.0 - Production on Wed Aug 29 16:19:22 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected to "ORCL_STB" Connected as SYSDBA. DGMGRL>
B) Standby로 failover 수행
Standby로 failover 수행
FAILOVER TO orcl_stb;
DGMGRL> FAILOVER TO orcl_stb; Performing failover NOW, please wait... Failover succeeded, new primary is "orcl_stb"
C) Failover 결과 확인
Failover 후 상태 확인
SHOW CONFIGURATION; SHOW DATABASE orcl_stb; SHOW DATABASE orcl;
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl_stb - Primary database orcl - Physical standby database (disabled) ORA-16661: the standby database needs to be reinstated Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 6 seconds ago) DGMGRL> SHOW DATABASE orcl_stb; Database - orcl_stb Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): orcl Database Status: SUCCESS DGMGRL> SHOW DATABASE orcl; Database - orcl Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: (unknown) Apply Lag: (unknown) Average Apply Rate: (unknown) Real Time Query: OFF Instance(s): orcl Database Status: ORA-16661: the standby database needs to be reinstated
2. Primary 데이터베이스 reinstate하기
A) Reinstate 수행
Primary DB의 Reinstate 수행
REINSTATE DATABASE orcl;
DGMGRL> REINSTATE DATABASE orcl; Reinstating database "orcl", please wait... Operation requires shut down of instance "orcl" on database "orcl" Shutting down instance "orcl"... Connected to "ORCL" ORACLE instance shut down. Operation requires start up of instance "orcl" on database "orcl" Starting instance "orcl"... ORACLE instance started. Database mounted. Connected to "ORCL" Continuing to reinstate database "orcl" ... Reinstatement of database "orcl" succeeded
B) Reinstate 결과 확인
Reinstate 후 상태 확인
SHOW CONFIGURATION; SHOW DATABASE orcl;
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl_stb - Primary database orcl - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 6 seconds ago) DGMGRL> SHOW DATABASE orcl; Database - orcl Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 295.00 KByte/s Real Time Query: OFF Instance(s): orcl Database Status: SUCCESS
3. Primary로 복원
A) Primary로 switchover
Primary로 switchover 수행
SWITCHOVER TO orcl;
DGMGRL> SWITCHOVER TO orcl; Performing switchover NOW, please wait... Operation requires a connection to database "orcl" Connecting ... Connected to "ORCL" Connected as SYSDBA. New primary database "orcl" is opening... Operation requires start up of instance "orcl" on database "orcl_stb" Starting instance "orcl"... ORACLE instance started. Database mounted. Connected to "ORCL_STB" Switchover succeeded, new primary is "orcl"
B) Switchover 결과 확인
Switchover 결과 확인
SHOW CONFIGURATION; SHOW DATABASE orcl; SHOW DATABASE orcl_stb;
DGMGRL> SHOW CONFIGURATION; Configuration - dg_orcl Protection Mode: MaxPerformance Members: orcl - Primary database orcl_stb - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 49 seconds ago) DGMGRL> SHOW DATABASE orcl; Database - orcl Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): orcl Database Status: SUCCESS DGMGRL> SHOW DATABASE orcl_stb; Database - orcl_stb Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 15.00 KByte/s Real Time Query: OFF Instance(s): orcl Database Status: SUCCESS