Realizando um teste de conexão do ambiente primary para o standby e o inverso também:
[oracle@fornix1 admin]$ sqlplus sys/oracle@CORTEXDR as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Mar 21 18:21:03 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
[oracle@fornix2 ~]$ sqlplus sys/oracle@CORTEX as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Mar 21 18:21:54 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
A configuração do Broker pressupõe a existência de um arquivo (multiplexado) com extensão “.dat”. Desse modo, farei a criação do diretório dentro do ASM para abrigá-lo (também é suportado a criação em FS):
Primary:
[grid@fornix1 ~]$ asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 30716 27216 0 27216 0 N DG_DATA/
MOUNTED EXTERN N 512 512 4096 4194304 20476 18480 0 18480 0 N DG_FRA/
MOUNTED EXTERN N 512 512 4096 4194304 10236 10136 0 10136 0 N DG_GRID/
MOUNTED EXTERN N 512 512 4096 4194304 10236 8980 0 8980 0 N DG_RECO/
[grid@fornix1 ~]$ asmcmd
ASMCMD> cd DG_DATA/CORTEX
ASMCMD> mkdir BROKER
ASMCMD> cd +DG_FRA/CORTEX
ASMCMD> mkdir BROKER
Standby:
[grid@fornix2 admin]$ asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 30716 27268 0 27268 0 N DG_DATA/
MOUNTED EXTERN N 512 512 4096 4194304 20476 17892 0 17892 0 N DG_FRA/
MOUNTED EXTERN N 512 512 4096 4194304 10236 10136 0 10136 0 N DG_GRID/
MOUNTED EXTERN N 512 512 4096 4194304 10236 9052 0 9052 0 N DG_RECO/
[grid@fornix2 admin]$ asmcmd
ASMCMD> cd DG_DATA/CORTEXDR
ASMCMD> mkdir BROKER
ASMCMD> cd +DG_FRA/CORTEXDR
ASMCMD> mkdir BROKER
Definindo nos 2 ambientes os arquivos de configuração do Broker:
Primary:
SQL> ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='+DG_DATA/CORTEX/BROKER/dr1CORTEX.dat';
System altered.
SQL> ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='+DG_FRA/CORTEX/BROKER/dr2CORTEX.dat';
System altered.
Standby:
SQL> ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='+DG_DATA/CORTEXDR/BROKER/dr1CORTEXDR.dat';
System altered.
SQL> ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='+DG_FRA/CORTEXDR/BROKER/dr2CORTEXDR.dat';
System altered.
O listener de cada ambiente deve ter um registro de serviço estático, seguindo o formato DB_UNIQUE_NAME_DGMGRL.domain. Fazendo configuração no primary e depois realizar restart do listener:
[grid@fornix1 admin]$ cd $ORACLE_HOME/network/admin
[grid@fornix1 admin]$ cat listener.ora
#Backup file is /grid/19.3.0/base/crsdata/fornix1/output/listener.ora.bak.fornix1.grid line added by Agent
#LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON # line added by Agent
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = fornix1.localdomain) (PORT = 1521))
(ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1522))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = CORTEX_DGMGRL.localdomain)
(ORACLE_HOME = /grid/19.3.0/product)
(SID_NAME = CORTEX)
)
)
[grid@fornix1 admin]$ lsnrctl stop LISTENER
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-MAR-2021 19:08:34
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fornix1.localdomain)(PORT=1521)))
The command completed successfully
[grid@fornix1 admin]$ lsnrctl start LISTENER
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-MAR-2021 19:08:38
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting /grid/19.3.0/product/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /grid/19.3.0/product/network/admin/listener.ora
Log messages written to /grid/19.3.0/base/diag/tnslsnr/fornix1/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fornix1.localdomain)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fornix1.localdomain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 21-MAR-2021 19:08:38
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /grid/19.3.0/product/network/admin/listener.ora
Listener Log File /grid/19.3.0/base/diag/tnslsnr/fornix1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fornix1.localdomain)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
Services Summary...
Service "CORTEX_DGMGRL.localdomain" has 1 instance(s).
Instance "CORTEX", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[grid@fornix1 admin]$
No standby eu já havia feito um registro estático devido um duplicate, então apenas adicionei novas informações:
[grid@fornix2 admin]$ cat listener.ora
#Backup file is /grid/19.3.0/base/crsdata/fornix2/output/listener.ora.bak.fornix2.grid line added by Agent
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON # line added by Agent
LISTENERDR =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = fornix2.localdomain) (PORT = 1522))
(ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1522))
)
)
SID_LIST_LISTENERDR=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=CORTEXDR.localdomain)
(SID_NAME=CORTEXDR)
(ORACLE_HOME=/oracle/19.3.0/product)
)
( SID_DESC=
(GLOBAL_DBNAME=CORTEXDR_DGMGRL.localdomain)
(ORACLE_HOME=/grid/19.3.0/product)
(SID_NAME=CORTEXDR)
)
)
[grid@fornix2 admin]$ lsnrctl stop LISTENERDR
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-MAR-2021 19:09:26
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fornix2.localdomain)(PORT=1522)))
The command completed successfully
[grid@fornix2 admin]$ lsnrctl start LISTENERDR
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-MAR-2021 19:09:31
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting /grid/19.3.0/product/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /grid/19.3.0/product/network/admin/listener.ora
Log messages written to /grid/19.3.0/base/diag/tnslsnr/fornix2/listenerdr/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fornix2.localdomain)(PORT=1522)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fornix2.localdomain)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias LISTENERDR
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 21-MAR-2021 19:09:31
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /grid/19.3.0/product/network/admin/listener.ora
Listener Log File /grid/19.3.0/base/diag/tnslsnr/fornix2/listenerdr/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fornix2.localdomain)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
Services Summary...
Service "CORTEXDR.localdomain" has 1 instance(s).
Instance "CORTEXDR", status UNKNOWN, has 1 handler(s) for this service...
Service "CORTEXDR_DGMGRL.localdomain" has 1 instance(s).
Instance "CORTEXDR", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[grid@fornix2 admin]$
Definindo o parâmetro responsável por inicializar os processos do Broker. No primary:
SQL> SHOW PARAMETER DG_BROKER_START
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start boolean FALSE
SQL> ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;
System altered.
Standby:
SQL> SHOW PARAMETER DG_BROKER_START
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start boolean FALSE
SQL> ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;
System altered.
A partir daqui, já é possível visualizar no primary o “alert.log” do Broker, que se chama “drcDB_UNIQUE_NAME”:
[oracle@fornix1 trace]$ pwd
/oracle/19.3.0/base/diag/rdbms/cortex/cortex/trace
[oracle@fornix1 trace]$ tail -f drccortex.log
2021-03-21T19:15:29.335-03:00 INSV: Uploading persisted FSFO state:
2021-03-21T19:15:29.335-03:00 flags=0x00000000, version=0, pstseq=0, target=0, obid=0
2021-03-21T19:15:29.335-03:00 envsn=0, ackseq=0, new_target=255, new_obid=0
2021-03-21T19:15:29.335-03:00 pmyshut=0, aft=0, laglim=0, obslim=0
2021-03-21T19:15:29.335-03:00 INSV: INSV is ready
2021-03-21T19:15:30.351-03:00 DMON: rfm_get_chief_lock() called for CTL_BOOTSTRAP, reason BOOTSTRAP, called from rfm_dmon_wakeup_fn
2021-03-21T19:15:30.351-03:00 7fffffff 0 DMON: start task execution: broker initialization
2021-03-21T19:15:30.351-03:00 DMON: Boot configuration (0.0.0), loading from "+DG_DATA/CORTEX/BROKER/dr1CORTEX.dat"
2021-03-21T19:15:30.355-03:00 DMON: Configuration does not exist, Data Guard broker ready
2021-03-21T19:15:30.355-03:00 7fffffff 0 DMON: rfm_release_chief_lock() called for CTL_BOOTSTRAP, called from rfm_bootstrap_config
Com a configuração do Broker, as atividades de administração do Dataguard são delegadas ao mesmo, e isso inclui os parâmetros de banco de dados. Desse modo, vou redefinir o LOG_ARCHIVE_DEST_2, que era onde eu havia feito a configuração do DG:
Primary:
SQL> SHO PARAMETER LOG_ARCHIVE_DEST_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=cortexDR ASYNC VALID_F
OR=(ONLINE_LOGFILES,PRIMARY_RO
LE) DB_UNIQUE_NAME=cortexDR
log_archive_dest_20 string
log_archive_dest_21 string
log_archive_dest_22 string
log_archive_dest_23 string
log_archive_dest_24 string
log_archive_dest_25 string
log_archive_dest_26 string
log_archive_dest_27 string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_28 string
log_archive_dest_29 string
SQL> alter system set LOG_ARCHIVE_DEST_2='' SCOPE=BOTH;
System altered.
Standby:
SQL> SHO PARAMETER LOG_ARCHIVE_DEST_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=CORTEX ASYNC DB_UNIQUE
_NAME=cortex VALID_FOR=(ONLINE
_LOGFILE,PRIMARY_ROLE)
log_archive_dest_20 string
log_archive_dest_21 string
log_archive_dest_22 string
log_archive_dest_23 string
log_archive_dest_24 string
log_archive_dest_25 string
log_archive_dest_26 string
log_archive_dest_27 string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_28 string
log_archive_dest_29 string
SQL> alter system set LOG_ARCHIVE_DEST_2='' SCOPE=BOTH;
System altered.
Logando no primary utilizando o utilitário DGMGRL:
[oracle@fornix1 trace]$ dgmgrl sys/oracle@CORTEX
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Sun Mar 21 19:24:57 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected to "cortex"
Connected as SYSDBA.
DGMGRL>
Definindo o banco CORTEX como primary:
DGMGRL> CREATE CONFIGURATION CORTEX AS PRIMARY DATABASE IS CORTEX CONNECT IDENTIFIER IS CORTEX;
Configuration "cortex" created with primary database "cortex"
DGMGRL> SHOW CONFIGURATION;
Configuration - cortex
Protection Mode: MaxPerformance
Members:
cortex - Primary database
Fast-Start Failover: Disabled
Configuration Status:
DISABLED
DGMGRL>
Nesta etapa é possível ver que o arquivo foi criado dentro do ASM conforme definido via parâmetro:
ASMCMD> pwd
+DG_DATA/CORTEX/BROKER
ASMCMD> ls
dr1cortex.dat
ASMCMD> !hostname
fornix1
Ainda logado no primary, vou adicionar o seu membro, que é o physical standby (lembrando que isso é possível por conta da string de conexão do tnsnames.ora, que testamos no primeiro step desse artigo):
DGMGRL> ADD DATABASE CORTEXDR AS CONNECT IDENTIFIER IS CORTEXDR;
Database "cortexdr" added
DGMGRL> SHOW CONFIGURATION;
Configuration - cortex
Protection Mode: MaxPerformance
Members:
cortex - Primary database
cortexdr - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
DISABLED
DGMGRL>
Visualizando as propriedades definidas pelo broker:
DGMGRL> SHOW DATABASE VERBOSE CORTEXDR;
Database - cortexdr
Role: PHYSICAL STANDBY
Intended State: OFFLINE
Transport Lag: (unknown)
Apply Lag: (unknown)
Average Apply Rate: (unknown)
Active Apply Rate: (unknown)
Maximum Apply Rate: (unknown)
Real Time Query: OFF
Instance(s):
CORTEXDR
Properties:
DGConnectIdentifier = 'cortexdr'
ObserverConnectIdentifier = ''
FastStartFailoverTarget = ''
PreferredObserverHosts = ''
LogShipping = 'ON'
RedoRoutes = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyLagThreshold = '30'
TransportLagThreshold = '30'
TransportDisconnectedThreshold = '30'
ApplyParallel = 'AUTO'
ApplyInstances = '0'
StandbyFileManagement = ''
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '0'
LogArchiveMinSucceedDest = '0'
DataGuardSyncLatency = '0'
LogArchiveTrace = '0'
LogArchiveFormat = ''
DbFileNameConvert = ''
LogFileNameConvert = ''
ArchiveLocation = ''
AlternateLocation = ''
StandbyArchiveLocation = ''
StandbyAlternateLocation = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
LogXptStatus = '(monitor)'
SendQEntries = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'fornix2'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.110)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=cortexDR_DGMGRL.localdomain)(INSTANCE_NAME=CORTEXDR)(SERVER=DEDICATED)))'
TopWaitEvents = '(monitor)'
SidName = '(monitor)'
Log file locations:
(Unknown)
Database Status:
DISABLED - ORA-16905: The member was not enabled yet.
Habilitando configurações após conferência:
DGMGRL> ENABLE CONFIGURATION;
Enabled.
Já é possível ver que o ambiente está devidamente configurado e em operação:
DGMGRL> SHOW DATABASE VERBOSE CORTEXDR;
Database - cortexdr
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: 585.00 KByte/s
Active Apply Rate: 0 Byte/s
Maximum Apply Rate: 0 Byte/s
Real Time Query: OFF
Instance(s):
CORTEXDR
Properties:
DGConnectIdentifier = 'cortexdr'
ObserverConnectIdentifier = ''
FastStartFailoverTarget = ''
PreferredObserverHosts = ''
LogShipping = 'ON'
RedoRoutes = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyLagThreshold = '30'
TransportLagThreshold = '30'
TransportDisconnectedThreshold = '30'
ApplyParallel = 'AUTO'
ApplyInstances = '0'
StandbyFileManagement = ''
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '0'
LogArchiveMinSucceedDest = '0'
DataGuardSyncLatency = '0'
LogArchiveTrace = '0'
LogArchiveFormat = ''
DbFileNameConvert = ''
LogFileNameConvert = ''
ArchiveLocation = ''
AlternateLocation = ''
StandbyArchiveLocation = ''
StandbyAlternateLocation = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
LogXptStatus = '(monitor)'
SendQEntries = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'fornix2'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.110)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=cortexDR_DGMGRL.localdomain)(INSTANCE_NAME=CORTEXDR)(SERVER=DEDICATED)))'
TopWaitEvents = '(monitor)'
SidName = '(monitor)'
Log file locations:
Alert log : /oracle/19.3.0/base/diag/rdbms/cortexdr/CORTEXDR/trace/alert_CORTEXDR.log
Data Guard Broker log : /oracle/19.3.0/base/diag/rdbms/cortexdr/CORTEXDR/trace/drcCORTEXDR.log
Database Status:
SUCCESS
Um dos processos de background do Broker rodando:
[oracle@fornix1 trace]$ ps -ef | grep dmon
oracle 8607 1 0 19:15 ? 00:00:00 ora_dmon_cortex
oracle 10333 4238 0 19:41 pts/1 00:00:00 grep --color=auto dmon
[oracle@fornix1 trace]$
É possível perceber que o próprio broker definiu o valor para o parâmetro que anteriormente limpamos:
SQL> SHO PARAMETER log_archive_dest_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string service="cortexdr", ASYNC NOAF
FIRM delay=0 optional compress
ion=disable max_failure=0 reop
en=300 db_unique_name="cortexd
r" net_timeout=30, valid_for=(
online_logfile,all_roles)
log_archive_dest_20 string
log_archive_dest_21 string
log_archive_dest_22 string
log_archive_dest_23 string
log_archive_dest_24 string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_25 string
log_archive_dest_26 string
log_archive_dest_27 string
log_archive_dest_28 string
log_archive_dest_29 string
SQL>
Gerando um archive no primary:
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.
No alert:
2021-03-21 19:44:11.728000 -03:00
Thread 1 advanced to log sequence 48 (LGWR switch)
Current log# 3 seq# 48 mem# 0: +DG_DATA/CORTEX/ONLINELOG/group_3.263.1039033647
Current log# 3 seq# 48 mem# 1: +DG_FRA/CORTEX/ONLINELOG/group_3.259.1039033651
ARC0 (PID:3684): Archived Log entry 54 added for T-1.S-47 ID 0x20b8e097 LAD:1
TT02 (PID:3694): SRL selected for T-1.S-48 for LAD:2
Alert no standby:
2021-03-21 19:44:11.725000 -03:00
rfs (PID:10386): Primary database is in MAXIMUM PERFORMANCE mode
rfs (PID:10386): Re-archiving LNO:4 T-1.S-47
ARC0 (PID:4228): Archived Log entry 12 added for T-1.S-47 ID 0x20b8e097 LAD:1
MRP0 (PID:10069): Media Recovery Waiting for T-1.S-48
rfs (PID:10386): Selected LNO:4 for T-1.S-48 dbid 548968087 branch 1039033628
2021-03-21 19:44:12.846000 -03:00
Recovery of Online Redo Log: Thread 1 Group 4 Seq 48 Reading mem 0
Mem# 0: +DG_FRA/CORTEXDR/ONLINELOG/group_4.264.1066479889
Por fim, caso queiramos parar a operação do broker, basta executar o comando abaixo no standby:
[oracle@fornix1 trace]$ dgmgrl sys/oracle@CORTEXDR
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Sun Mar 21 19:49:50 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected to "cortexDR"
Connected as SYSDBA.
DGMGRL> EDIT DATABASE CORTEXDR SET STATE=APPLY-OFF;
Succeeded.
Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laboratório pessoal para fins de aprendizado.